freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡數(shù)據(jù)包的協(xié)議分析程序的設計開發(fā)畢業(yè)設計-畢業(yè)設計-預覽頁

2025-02-20 02:48 上一頁面

下一頁面
 

【正文】 圖 21網(wǎng)絡數(shù)據(jù)包協(xié)議分析程序結(jié)構(gòu)框圖 下面對該程序的整體結(jié)構(gòu)進行一下描述 : 該程序的運行環(huán)境是 Fedora Core 4 linux。最后將分析后的數(shù)據(jù)顯示在用戶界面上。 數(shù)據(jù)捕獲模塊。因為不是所有經(jīng)過本地網(wǎng)卡的數(shù)據(jù) 報 都 對我們分析網(wǎng)絡有用 ,而且如果將所有經(jīng)過網(wǎng)卡的數(shù)據(jù)捕獲會增加系統(tǒng) 的開銷。主要是調(diào)用協(xié)議分析模塊和顯示模塊。該模塊主要是對 TCP/IP各層的協(xié)議進行分析。因為數(shù)據(jù)包中包含的信息太多,如果全部顯示給用戶有所不便,所以我們挑選其中比較重要的信息輸出給用戶。 程序判斷該網(wǎng)卡所在的網(wǎng)絡是否為以太網(wǎng), 不是 則中止,是則繼續(xù)。當用戶停止時就結(jié)束程序,否則繼續(xù)捕獲。 數(shù)據(jù)包捕獲技術:本程序要對網(wǎng)絡中的數(shù)據(jù)進行分析,首先就要將網(wǎng)絡中的數(shù)據(jù)包捕獲下來。 Libpcap是用戶態(tài)的數(shù)據(jù)包截獲 API, 具有 獨立 性 和可移植 性 ,支持 BPF過濾機制等。 對 TCP/IP各層基本協(xié)議分析的技術:要對 TCP/IP各層的基本協(xié)議進行分析,主要是要對所要分析的協(xié)議有充分的了解,特別是對各種協(xié)議的報頭格式要有深入的了解。例如,首先對網(wǎng)絡層的協(xié)議識別后進行脫去網(wǎng)絡層協(xié)議頭。對于應用層協(xié)議識別的方法目前有幾種技術: 基于特征串的應用層協(xié)議識別 、 Venus Fast Protocol Recognition、以及端口識別。缺點是:一些不常用協(xié)議不能被識別,常用協(xié)議修改端口后也無法識別。它直接影響整個入侵檢測系統(tǒng)的運行速度。而數(shù)據(jù)包捕獲機制是在數(shù)據(jù)鏈路層增加一個旁路處理,對發(fā)送和接收到的數(shù)據(jù)包做過濾 /緩沖等相關處理,最后直接傳遞到應用程序。包過濾機制是對所捕獲到的數(shù)據(jù)包根據(jù)用戶的要求進行篩選,最終只把滿足過濾條件的數(shù)據(jù)包傳遞給用戶程序。 ./configure make make install 但如果希望 Libpcap能在 linux上正常工作,則必須使內(nèi)核支持 “packet” 協(xié)議,也即在編譯內(nèi)核時打開配置選項 CONFIG_PACKET(選項缺省為打 開 )。 pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf) 功能:設置一個抓包描述符 參數(shù):其第一個參數(shù)是我們在上一節(jié)中指定的設備, snaplen 是整形的,它定義了將被 pcap 捕獲的最大字節(jié)數(shù)。 int pcap_pile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 mask) 功能:編譯過濾規(guī)則 參數(shù):第一個參數(shù)是會話句柄( pcap_t *handle 在前一節(jié)的示例中)。最后,我們必須指定應用此過濾器的網(wǎng)絡掩碼。 int pcap_loop(pcap_t *p, int t, pcap_handler callback, u_char *user) 功能:循環(huán)抓包直到用戶中止。 數(shù)據(jù)結(jié)構(gòu): struct pcap_if{ struct pcap_if *next。 u_int flags。如果為空是鏈的最后一個元素。 pcap_addr *addresses。 現(xiàn) 在 唯 一 可 用 的 標 識 是PCAP_IF_LOOKBACK,它被用來標識網(wǎng)卡是不是 lookback 網(wǎng)卡。 /*length this packet(off wire)*/ }。 這個數(shù)據(jù)報的長度; 細節(jié)描述:在 dump 文件 中的每個數(shù)據(jù)報都有這樣一個報頭。 /* number of packets dropped */ u_int ps_ifdrop。 被驅(qū)動程序丟棄的數(shù)據(jù)報的數(shù)目; u_int ps_ifdrop。 sockaddr *broadaddr。 如果非空,指向鏈表中一個元素的指針;空表示鏈表中的最后一個元素。 如果非空,指向包含相對于 addr 指向的地址的一個網(wǎng)絡掩碼的結(jié)構(gòu)。 如果非空,指向一個相對于 addr 指向的源地址的目的地址,如果網(wǎng)絡不支持點對點通訊,則為空。 第四步接收用戶輸入的過濾條件,調(diào)用 pcap_pile和 pcap_setfilter生成過濾規(guī)則。 網(wǎng)絡協(xié)議分析的總體流程 網(wǎng)絡功能的分層帶來了網(wǎng)絡協(xié)議的層次結(jié)構(gòu),網(wǎng)絡數(shù)據(jù)在傳送時,同樣也是被分解成一個個的數(shù)據(jù)報逐層傳送的 ,在兩臺主機的實際通信過程中,從邏輯上講,是兩臺主機的對等層直接通信。數(shù)據(jù)包的加工工作 如圖41所示 : 圖 41 數(shù)據(jù)封裝示意 TCP傳給 IP的數(shù)據(jù)單元稱作 TCP報文段或簡 稱為 TCP段 (TCP Segment); IP傳給網(wǎng)絡接口層的數(shù)據(jù)單元稱作 IP數(shù)據(jù)報 (IP datagram);通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀,分組既可以是一個 IP數(shù)據(jù)報也可以是 IP數(shù)據(jù)報的一個片 (fragment)。 (3)對于 IP數(shù)據(jù)報去除網(wǎng)絡層的 報 頭以后,可以獲得傳輸層數(shù)據(jù)報,對TCP/UDP數(shù)據(jù)包的報頭進行分析在這一層中還可以獲得數(shù)據(jù)報的端口號信息,根據(jù)端口號進一步判斷數(shù)據(jù)報屬于何種應用層協(xié)議。下面就按照數(shù)據(jù)鏈路 層、網(wǎng)絡層到傳輸層再到應用層的順序詳細的講解每層包頭的結(jié)構(gòu)以及如何對每層的數(shù)據(jù)報進行協(xié)議分析。我們就得到了以太幀的報文頭,就可以對該層協(xié)議進行分析和處理。這里我們只討論最為常用的以太網(wǎng) II數(shù)據(jù)報格式,這是在 RFC894中定義的,如圖 43所示,這是以太網(wǎng) II的封 裝格式: 字節(jié) 6 6 2 46~ 1500 4 目的地址 源地址 類型 數(shù)據(jù) FCS 圖 43以太網(wǎng) II的封裝格式 其中每個字段的含義如下: (1)幀初始同步 ((Preamble): 8字節(jié)長,提供接收端的同步和分隔幀的功能。其中,單播地址也稱為 MAC地址。如果在該字段中未注明有上層協(xié)議實體接收有效載荷幀。以太網(wǎng) II能發(fā)送最大 1500字節(jié)的有效載荷。本子段對于網(wǎng)絡監(jiān)視器來說同樣是不可見的。 IP網(wǎng)絡上的主機 是 通過 IP數(shù)據(jù)報來交換數(shù)據(jù)的, IP數(shù)據(jù)報包括數(shù)據(jù)單元和首部字段,其中,數(shù)據(jù)單元包含要交換的所有信息,首部字段描述這個信息和數(shù)據(jù)報本身。如圖 44是 IP數(shù)據(jù)報在 RFC791中定義的封裝格式: 比特 0 4 8 16 20 24 31 版本 報頭長 服務類型 數(shù)據(jù)包總長 標識符 標志 片偏移 生存時間 協(xié)議號 報頭校驗和 源 IP地址 目的 IP地址 選項 填充碼 數(shù)據(jù) 圖 44 IP數(shù)據(jù)報格式 其中每個字段的含義如下 : (1)版本 (version):長度為 4位,顯示 IP報頭的版本。 (3)服務類型 (type of service):長度為 8位,表示按照優(yōu)先權、安全性以及吞吐量等數(shù)據(jù)包的服務類型。其中一個標志是用于表示 IP有效載荷是否符合分片的標準,而另一個是表示對于已分片的 IP數(shù)據(jù)報是否還有更多的分片。 IP協(xié)議字段的一般值有: 1表示 ICMP, 2表示 IGMP, 6表示 TCP, 17表示 UDP等等。 TCP/UDP 首部的分析與提取 TCP/UDP報文頭部的獲取跟 IP報文頭部的獲取類似,將 P指針的位置向后移 IP報文長度個位置即可 (struct tcphdr *) (p + sizeof (struct ether_header) + 4 * iphip_hl)。盡管 IP已經(jīng)做了大部分的搜集工作,并且根據(jù)需要在 Inter上發(fā)送數(shù)據(jù)報和數(shù)據(jù)包,但是 IP是不可靠的協(xié)議,并不能保證數(shù)據(jù)報或者數(shù)據(jù)包能夠原封不動的到達其目的地, TCP作為 IP的上層協(xié)議,為 IP提供了可靠性服務,確保了 IP數(shù)據(jù)報中的數(shù)據(jù)的正確性。 TCP端口為 TCP連接數(shù)據(jù)的傳送定義了一種位置,表明段被發(fā)送至的應用層進程的一個目的端口。IP頭中的目的 IP地址和 TCP頭中的端口聯(lián)合起來提供一個目的套接字。 (4)確認號 (acknowledgment number):一個 4位的字段,指示 接收方希望收到的輸入字節(jié)流中下一個 8位組的序列號。 (6)保留 (reserved):一個 6字節(jié)字段,為了未來的使用而保留。窗口大小的廣告是一種實現(xiàn)接收流流控制的方式。 用戶數(shù)據(jù)報協(xié)議 (UDP)是定義用來在互連網(wǎng)絡環(huán)境中提供包交換的計算機通信的協(xié)議。以下是 UDP協(xié)議的報文頭 格式 : 比特 0 16 31 圖 46 TCP數(shù)據(jù)包格式 (1)源端口 — 16 位。 (2)目的端口 — 16 位。長度最小值為 8。 應用層協(xié)議的識別與分析 對于應用層協(xié)議本程序采用的是端口識別技術。公認端口被分配給網(wǎng)絡上的服務程序。 表 41 常用協(xié)議和對應的端口號 上層協(xié)議 端口號 /協(xié)議 上層協(xié)議的意義 Echo 7/dup 回應請求 ftpdata 20/tcp,20/udp 在 ftp上數(shù)據(jù)傳送路徑 ftp 21/tcp,21/udp 在 ftp上控制數(shù)據(jù)通信路徑 tel 23/tcp,23/udp 用于遠程終端連接的標準 Smtp 25/tcp,25/udp 郵件發(fā)送服務 源端口 目的端口 長度 校驗和 第 19 頁 共 23 頁 Time 37/tcp,37/udp 計時服務器 Nameserver 42/tcp,42/udp 主機名服務器 Niame 43/tcp,43/udp Whois服務 Domain 53/tcp,53/udp 域名服務器 Tftp 69/tcp,69/udp 小型文件傳輸協(xié)議 Gopher 70/tcp,70/udp 信息服務 Finger 79/tcp,79/udp 用戶信息 80/tcp,80/udp Pop3 110/tcp,110/udp 郵局協(xié)議 Sqlserv 118/tcp,118/udp SQL服務 nntp 119/tcp,119/udp 網(wǎng)絡新聞傳輸協(xié)議 Ntp 123/tcp,123/udp 網(wǎng)絡時間協(xié)議 Netbiosns 137/tcp,137/udp Netbios名稱服務 Netbiosdgm 138/tcp,138/udp Netbios會議服務 短暫端口號是客服端程序與服務器程序進行通信時 , 短暫使用端口號。 } else{ //短暫端口等找不到名稱時 sprintf (portch, e)。用這個函數(shù)來檢索與端口相關的信息,吧結(jié)果作為指向servent型的結(jié)構(gòu)體的指針并返回。 getportname()函數(shù)檢索端口名稱失敗時,返回 NULL。 程序 運行環(huán)境 安裝有 Libpcap 以上版本的 Linux 操作系統(tǒng)。 最后 對關鍵模塊進行回歸測試
點擊復制文檔內(nèi)容
范文總結(jié)相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1