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

正文內(nèi)容

網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析程序的設(shè)計開發(fā)—計算機(jī)(論文)-在線瀏覽

2025-02-08 03:23本頁面
  

【正文】 .................................. 23 參考文獻(xiàn) ........................................................................................................................ 24 致 謝 ........................................................................................................................ 25 聲 明 ........................................................................................................................ 26 1 引言 課題背景 隨著計算機(jī)網(wǎng)絡(luò)的不斷發(fā)展,全球信息化 已 成 為當(dāng)今社會發(fā)展的趨勢。所以網(wǎng)上信息的安全和保密是一個至關(guān)重要的問題。因此,網(wǎng)絡(luò)必須有足夠強(qiáng)的安全措施,否則該網(wǎng)絡(luò)將是個無用、甚至?xí)<皣野踩木W(wǎng)絡(luò)。 計算機(jī)網(wǎng)絡(luò)所面臨的威脅大體可分為兩種:一是對網(wǎng)絡(luò)中信息的威脅;二是對網(wǎng)絡(luò)中設(shè)備的威脅。 (2)人為的惡意攻擊:這是計算機(jī)網(wǎng)絡(luò)所面臨的最大威脅,敵手的攻擊和計算機(jī)犯罪 就屬于這一類。這兩種攻擊均可對計算機(jī)網(wǎng)絡(luò)造成極大的危害,并導(dǎo)致機(jī)密數(shù)據(jù)的泄漏。另外,軟件的 “ 后門 ” 都是軟件公司的設(shè)計 編程人員為了自便而設(shè)置的,一般不為外人所知,但一旦 “ 后門 ” 洞開,其造成的后果將不堪設(shè)想。這也是本論文的一個重要目的。同時許多防火墻也是基于包過濾技術(shù)的。 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序簡介 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析 程序 是一種用于收集網(wǎng)絡(luò)中有用數(shù)據(jù)的程序,這些數(shù)據(jù)可以是用戶的帳號和密碼,也可以是一些商用機(jī)密數(shù)據(jù)等。 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序 的正當(dāng)用處主要是分析網(wǎng)絡(luò)的流量,以便找出所關(guān)心的網(wǎng)絡(luò)中潛在的問題。在合理的網(wǎng)絡(luò)中, 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序 的存在對系統(tǒng)管理員是 至關(guān)重要 的,系統(tǒng)管理員通過 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序 可以 診斷出大量的不可見模糊問題,這些問題涉及兩臺乃至多臺計算機(jī)之間的異常通訊 ,有些甚至牽涉到各種的協(xié)議,借助于 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序 系統(tǒng)管理員可以方便的確定出多少的通訊量屬于哪個網(wǎng)絡(luò)協(xié)議、占主要通訊協(xié)議的主機(jī)是哪一臺、大多數(shù)通訊目的地是哪臺主機(jī)、報文發(fā)送占用多少時間、或著相互主機(jī)的報文傳送間隔時間等等,這些 信息 為管理員判斷網(wǎng)絡(luò)問題、管理網(wǎng)絡(luò)區(qū)域提供了非常寶貴的信息。比較著名的網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析軟件有:開源軟件: Wireshark、 TcpDump。 Wireshark 起初由Gerald Combs 開發(fā),隨后由一個松散的 Wireshark 團(tuán)隊組織進(jìn)行維護(hù)開發(fā)。很難想象如此多的人開發(fā)的代碼可以很好的融入系統(tǒng)中;并且在系統(tǒng)中加入一個新的協(xié)議解析器很簡單,一個不了解系統(tǒng)的結(jié)構(gòu)的新手也可以根據(jù)留出的接口進(jìn)行自己的協(xié)議開發(fā)。事實(shí)上由于網(wǎng)絡(luò)上各種協(xié)議種類繁多,各種新的協(xié)議層出不窮。這樣才能適應(yīng)網(wǎng)絡(luò)發(fā)展的需要不斷加入新的協(xié)議解析器。它支持針對網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或 端口的過濾,并提供and、 or、 not 等邏輯語句來幫助你去掉無用的信息。 TcpDump 以其強(qiáng)大的功能,靈活的截取策略,成為每個高級的系統(tǒng)管理員分析網(wǎng)絡(luò),排查問題等所必備的工具之一。是一個直觀 ,功能強(qiáng)大的以太網(wǎng)網(wǎng)絡(luò)和協(xié)議分析器。 EtherPeek 把查找和修復(fù)多平臺上的復(fù)雜網(wǎng)絡(luò)任務(wù)變得簡單化。以友好圖形界面出名, EtherPeek 提供非常詳細(xì)且多樣化的網(wǎng)絡(luò)使用信息,網(wǎng)絡(luò)結(jié)點(diǎn)的會話和數(shù)據(jù)包內(nèi)容。 2 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序的總體設(shè)計 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序的功能分析 對于網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序進(jìn)行功能分析的第一步是要確立程序所要實(shí)現(xiàn)的目標(biāo),也就是程序最終要解決的問題。 網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序必須完成對常用協(xié)議的識別和分析:要求至少實(shí)現(xiàn)TCP/IP協(xié)議簇幾個基本協(xié)議的分析( ARP、 RARP、 TCP、 UDP),以及應(yīng)用層的常用協(xié)議分析。對網(wǎng)絡(luò)數(shù) 據(jù)包的捕獲、規(guī)則過濾和對數(shù)據(jù)包的分析是本程序的主要功能。 圖 21網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析程序結(jié)構(gòu)框圖 下面對該程序的整體結(jié)構(gòu)進(jìn)行一下描述 : 該程序的運(yùn)行環(huán)境是 Fedora Core 4 linux。本程序通過調(diào)用安裝在 linux上的 Libpcap函數(shù)庫抓取經(jīng)過本地網(wǎng)卡的數(shù)據(jù)包 , 從而完成數(shù)據(jù)包的捕獲。最后將分析后的數(shù)據(jù)顯示在用戶界面上。該模塊主要功能是接收用戶輸入用于捕獲數(shù)據(jù)包的信息。 Fedora Core Linux 4 數(shù)據(jù)包捕獲 應(yīng)用程序接口 數(shù)據(jù)包處理 網(wǎng)絡(luò)數(shù)據(jù)報協(xié)議 分析程序 輸入 數(shù)據(jù)捕獲 規(guī)則匹配 數(shù)據(jù)處理 協(xié)議分析 輸出 數(shù)據(jù)捕獲模塊。 其原理是通過把網(wǎng)卡設(shè)置為混雜模式,使得網(wǎng)卡對所有流經(jīng) 它 的數(shù)據(jù)包都交給上層程序處理。因為不是所有經(jīng)過本地網(wǎng)卡的數(shù)據(jù) 報 都對我們分析網(wǎng)絡(luò)有用,而且如果將所有經(jīng)過網(wǎng)卡的數(shù)據(jù)捕獲會增加系統(tǒng)的開銷。 數(shù)據(jù)處理模塊。主要是調(diào)用協(xié)議分析模塊和顯示模塊。該模塊的 主要功能是對捕獲的數(shù)據(jù)包進(jìn)行協(xié)議分析。該模塊主要是對 TCP/IP各層的協(xié)議進(jìn)行分析。該模塊的主要功能是將分析的結(jié)果顯示給用戶。因為數(shù)據(jù)包中包含的信息太多,如果全部顯示給用戶有所不便,所以我們挑選其中比較重要的信息輸出給用戶。 用戶輸入用于捕獲數(shù)據(jù)包的網(wǎng)卡和過濾規(guī)則。 程序判斷該網(wǎng)卡所在的網(wǎng)絡(luò)是否為以太網(wǎng), 不是 則中止,是則繼續(xù)。 編譯用戶設(shè)置的過濾規(guī)則。當(dāng)用戶停止時就結(jié)束程序,否則繼續(xù)捕獲。要實(shí)現(xiàn)程序預(yù)定的功 能,就必須解決實(shí)現(xiàn)程序的關(guān)鍵技術(shù)。 數(shù)據(jù)包捕獲技術(shù):本程序要對網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行分析,首先就要將網(wǎng)絡(luò)中的數(shù)據(jù)包捕獲下來。要實(shí)現(xiàn)共享以太網(wǎng)中的數(shù)據(jù)捕獲,各個平臺有不同的技術(shù)。 Libpcap是用戶態(tài)的數(shù)據(jù)包截獲 API, 具有 獨(dú)立 性 和可移植 性 ,支持 BPF過濾機(jī)制等 。 Libpcap是一個基于 BPF的開放源碼的捕包函數(shù)庫。 對 TCP/IP各層基本協(xié)議分析的技術(shù):要對 TCP/IP各層的基本協(xié)議進(jìn)行分析,主要是要對所要分析的協(xié)議有充分的了解,特別是對各種協(xié)議的報頭格式要有深入的了解。 協(xié)議識別技術(shù) : 由于 OSI 的 7 層協(xié)議模型,協(xié)議數(shù)據(jù)是從上到下封裝后發(fā)送的。例如,首先對網(wǎng)絡(luò)層的協(xié)議識別后進(jìn)行脫去網(wǎng)絡(luò)層協(xié)議頭。 應(yīng)用層以下的各種協(xié)議一般都可以通過下一層的協(xié)議中的關(guān)鍵信息來識別。對于應(yīng)用層協(xié)議識別的方法目前有幾種技術(shù): 基于特征串的應(yīng)用層協(xié)議識別 、 Venus Fast Protocol Recognition、以及端口識別。端口 識別 的原理是常用協(xié)議使用固定端口來進(jìn)行通信。缺點(diǎn)是:一些不常用協(xié)議不能被識別,常用協(xié)議修改端口后也無法識別。一方面要,網(wǎng)絡(luò)截取模塊要能保證截取到所有網(wǎng)絡(luò)上的數(shù)據(jù)包,尤其是檢測到被分片的數(shù)據(jù)包(這可能蘊(yùn)涵著攻擊)。它直接影響整個入侵檢測系統(tǒng)的運(yùn)行速度。不同的操作系統(tǒng)實(shí)現(xiàn)的底層包捕獲機(jī)制可能是不一樣的,但從形式上看大同小異。而數(shù)據(jù)包捕獲機(jī)制是在數(shù)據(jù)鏈路層增加一個旁路處理,對發(fā)送和接收到的數(shù)據(jù)包做過濾 /緩沖等相關(guān)處理,最后直接傳遞到應(yīng)用程序。對用戶程序而言,包捕獲機(jī)制提供了一個統(tǒng)一的接口,使用戶程序只需要簡單的調(diào)用若干函數(shù)就能獲得所期望的數(shù)據(jù)包。包過濾機(jī)制是對所捕獲到的數(shù)據(jù)包根據(jù) 用戶的要求進(jìn)行篩選,最終只把滿足過濾條件的數(shù)據(jù)包傳遞給用戶程序。 Libpcap可以在絕大多數(shù)類 unix平臺下工作。 ./configure make make install 但如果希望 Libpcap能在 linux上正常工作,則必須使內(nèi)核支持 “packet” 協(xié)議 ,也即在編譯內(nèi)核時打開配置選項 CONFIG_PACKET(選項缺省為打開 )。 Errbuf:存儲錯誤信息的字符串。 pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf) 功能:設(shè)置一個抓包描述符 參數(shù):其第一個參數(shù)是我們在上一節(jié)中指定的設(shè)備, snaplen 是整形的,它定義了將被 pcap 捕獲的最大字節(jié)數(shù)。 to_ms 是讀取時的超時值,單位是毫秒 (如果為 0則一 直嗅探直到錯誤發(fā)生,為 1 則不確定 )。 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é)的示例中)。再接下來的則是表達(dá)式本身,存儲在規(guī)定的字符串格式里 。最后,我們必須指定應(yīng)用此過濾器的網(wǎng)絡(luò)掩碼。 int pcap_setfilter(pcap_t *p, struct bpf_program *fp) 功能:設(shè)置過濾規(guī)則。 int pcap_loop(pcap_t *p, int t, pcap_handler callback, u_char *user) 功能:循環(huán)抓包直到用戶中止。第三個參數(shù)是回調(diào)函數(shù)的名稱(正像其標(biāo)識符所指,無括號)。 數(shù)據(jù)結(jié)構(gòu): struct pcap_if{ struct pcap_if *next。 char *description。 u_int flags。 pcap_if *next。如果為空是鏈的最后一個元素。 指向一個字符串,該字符串是傳給 pcap_open_live()函數(shù)的設(shè)備名; char *description。 pcap_addr *addresses。 u_int flags。 現(xiàn) 在 唯 一 可 用 的標(biāo)識是PCAP_IF_LOOKBACK,它被用來標(biāo)識網(wǎng)卡是不是 lookback 網(wǎng)卡。/*time stamp*/ bpf_u_int32 caplen。 /*length this packet(off wire)*/ }。 數(shù)據(jù)報時間戳; bpf_u_int32 caplen。 這個數(shù)據(jù)報的長度; 細(xì)節(jié)描述:在 dump 文件中的每個數(shù)據(jù)報都有這樣一個報頭。 struct pcap_stat { u_int ps_recv。 /* number of packets dropped */ u_int ps_ifdrop。 u_int ps_recv。 被驅(qū)動程序丟棄的數(shù)據(jù)報的數(shù)目; u_int ps_ifdrop。 sockaddr * addr。 sockaddr *broadaddr。 }。 如果非空,指向鏈表中一個元素的指針;空表示鏈表中的最后一個元素。 指向包含一個地址的 sockaddr 的結(jié)構(gòu)的指針。 如果非空,指向包含相對于 addr 指向的地址的一個網(wǎng)絡(luò)掩碼的結(jié)構(gòu)。 如果非空,指向包含相對于 addr 指向的地址的一個廣播地址,如果網(wǎng)絡(luò)不支持廣播可能為空。 如果非空,指向一個相對于 addr 指向的源地址的目 的地址,如果網(wǎng)絡(luò)不支持點(diǎn)對點(diǎn)通訊,則為空。 第二步用戶輸入用于捕獲數(shù)據(jù)包的網(wǎng)卡后,調(diào)用 pcap_open_live生成一個抓包描述符。 第四步接收用戶輸入的過濾條件,調(diào)用 pcap_pile和 pcap_setfilter生成過濾規(guī)則。 具體流程入下圖所示: 圖 31數(shù)據(jù)捕獲模塊流程圖 4 協(xié)議分析模塊的實(shí) 現(xiàn) 雖然到此為止已經(jīng)可以順利完成數(shù)據(jù)包的監(jiān)聽工作,但這并不意味著己經(jīng)大功告成了,因為從前面的數(shù)據(jù)包監(jiān)聽的原理中可以知道,數(shù)據(jù)包捕獲程序工作在pcap_findalldevs () pcap_open_live () pcap_datalink () pcap_pile() pcap_setfilter() pcap_loop() end Begin N Y 網(wǎng)絡(luò)底層,將網(wǎng)卡設(shè)置為混雜模式以后,從網(wǎng)絡(luò)底層捕獲到的數(shù)據(jù)包會直接往上發(fā)給應(yīng)用程序 進(jìn)行 處理,而不再像普通的數(shù)據(jù)包那樣經(jīng)過操作系統(tǒng)的層層過濾。 網(wǎng)絡(luò)協(xié)議分析的總體流程 網(wǎng)絡(luò)功能的分層帶來了網(wǎng)絡(luò)協(xié)議的層次結(jié)構(gòu),網(wǎng)絡(luò)數(shù)據(jù)在傳送時,同樣也是被分解成一個個的數(shù)據(jù)報逐層傳送的 ,在兩臺主機(jī)的實(shí)際通信過程中,從邏輯上講,是兩臺主機(jī)的對等層直接通信。 當(dāng)數(shù)據(jù)包被傳輸 到某一層的時候,該層都會對數(shù)據(jù)包進(jìn)行加工,在發(fā)送方通常是加上一個與該層協(xié)議有關(guān)的控制或標(biāo)志信息,即數(shù)據(jù)包的包頭或包尾;而在接受方則是需要逐層拆下本層標(biāo)志,即去掉數(shù)據(jù)包的包頭或包尾,根據(jù)控制信息進(jìn)行相應(yīng)的處理,將分解后的數(shù)據(jù)報逐層上傳,直至應(yīng)用程序獲得最終數(shù)據(jù)。數(shù)據(jù)包的加工工作 如圖41所示: 圖 41 數(shù)據(jù)封裝示意 TCP傳給 IP的數(shù)據(jù)單元稱作 TCP報文段或簡稱為 TCP段 (TCP Segment); IP傳給用戶數(shù)據(jù) 用戶數(shù)據(jù) APP 首部 應(yīng)用數(shù)據(jù) TCP 首部 應(yīng)用數(shù)據(jù) TCP 首部
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1