版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
網(wǎng)絡(luò)分析技術(shù)原理、實(shí)踐與WinPcap深入解析目錄\h第1章揭開網(wǎng)絡(luò)分析的神秘面紗\h1.1網(wǎng)絡(luò)分析概述\h1.2網(wǎng)絡(luò)分析的主要用途\h1.3黑客使用嗅探器的方法\h1.4被嗅探數(shù)據(jù)的真面目\h1.4.1使用嗅探器獲得FTP的用戶名和密碼\h1.4.2使用嗅探器分析沖擊波蠕蟲(BlasterWorm)\h1.5常見的網(wǎng)絡(luò)分析器\h1.6網(wǎng)絡(luò)分析器的工作原理\h1.6.1以太網(wǎng)簡介\h1.6.2理解開放系統(tǒng)互連(OSI)模型\h1.6.3了解CSMA/CD協(xié)議\h1.6.4IP、ICMP、TCP與UDP協(xié)議\h1.6.5硬件\h1.6.6欺騙交換機(jī)\h1.7嗅探器的檢測\h1.7.1檢測嗅探器的原理\h1.7.2防止網(wǎng)絡(luò)嗅探可采取的安全措施\h1.8網(wǎng)絡(luò)分析工具的主要功能組成\h1.9Wireshark的概述、安裝與使用\h1.9.1Wireshark的概述\h1.9.2Wireshark的安裝\h1.9.3Wireshark的使用\h1.10小結(jié)\h第2章初識(shí)網(wǎng)絡(luò)分析基礎(chǔ)庫WinPcap\h2.1WinPcap概述\h2.2WinPcap的優(yōu)點(diǎn)\h2.3WinPcap的使用者\(yùn)h2.4WinPcap的體系架構(gòu)\h2.4.1WinPcap的主要組成\h2.4.2數(shù)據(jù)包捕獲的基本過程\h2.4.3WinPcap的驅(qū)動(dòng)程序\h2.4.4WinPcap內(nèi)核驅(qū)動(dòng)的主要功能\h2.5用戶空間庫接口函數(shù)\h2.5.1wpcap.dll庫中的重要函數(shù)\h2.5.2Packet.dll庫中的重要函數(shù)\h2.6小結(jié)\h第3章網(wǎng)絡(luò)分析工具的內(nèi)核驅(qū)動(dòng)基礎(chǔ)知識(shí)\h3.1Windows驅(qū)動(dòng)程序基礎(chǔ)知識(shí)\h3.1.1驅(qū)動(dòng)對(duì)象(DRIVER_OBJECT)\h3.1.2設(shè)備對(duì)象(DEVICE_OBJECT)\h3.1.3設(shè)備擴(kuò)展(_DEVICE_EXTENSION)\h3.1.4IRP與派遣函數(shù)\h3.1.5同步處理\h3.1.6內(nèi)核的內(nèi)存操作\h3.1.7內(nèi)存操作的運(yùn)行時(shí)函數(shù)\h3.1.8內(nèi)核的注冊表操作\h3.2NDIS協(xié)議驅(qū)動(dòng)程序\h3.2.1三種類型的網(wǎng)絡(luò)驅(qū)動(dòng)程序\h3.2.2協(xié)議驅(qū)動(dòng)程序的特征結(jié)構(gòu)體\h3.3小結(jié)\h第4章編譯與使用WinPcap\h4.1源代碼目錄結(jié)構(gòu)\h4.2構(gòu)建驅(qū)動(dòng)程序NPF\h4.3構(gòu)建Packet.dll庫\h4.4構(gòu)建wpcap.dll庫\h4.5安裝NPF驅(qū)動(dòng)程序與各庫文件\h4.6使用WinPcap庫進(jìn)行程序開發(fā)的實(shí)例\h4.7小結(jié)\h第5章WinPcap驅(qū)動(dòng)程序的初始化與清除\h5.1驅(qū)動(dòng)程序中的初始化函數(shù)DriverEntry\h5.1.1DriverEntry函數(shù)的工作流程\h5.1.2DriverEntry函數(shù)的具體實(shí)現(xiàn)\h5.2驅(qū)動(dòng)程序中的卸載函數(shù)DriverUnload\h5.3小結(jié)\h第6章獲得與釋放網(wǎng)絡(luò)適配器設(shè)備列表\h6.1使用WinPcap選擇合適的適配器\h6.1.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h6.1.2獲得與釋放網(wǎng)絡(luò)適配器列表的實(shí)例\h6.1.3獲取已安裝設(shè)備高級(jí)信息的實(shí)例\h6.2獲得網(wǎng)絡(luò)適配器列表的幕后\h6.2.1wpcap.dll庫中獲得網(wǎng)絡(luò)適配器列表的實(shí)現(xiàn)\h6.2.2Packet.dll庫中獲得網(wǎng)絡(luò)適配器列表的實(shí)現(xiàn)\h6.2.3內(nèi)核空間中獲得網(wǎng)絡(luò)適配器列表的實(shí)現(xiàn)\h6.3釋放網(wǎng)絡(luò)適配器列表的實(shí)現(xiàn)\h6.4小結(jié)\h第7章打開與關(guān)閉適配器\h7.1使用WinPcap打開與關(guān)閉適配器\h7.1.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h7.1.2關(guān)鍵數(shù)據(jù)結(jié)構(gòu)pcap_t\h7.1.3打開與關(guān)閉網(wǎng)絡(luò)適配器的實(shí)例\h7.2打開與關(guān)閉適配器的幕后\h7.2.1打開適配器的實(shí)現(xiàn)\h7.2.2關(guān)閉適配器的實(shí)現(xiàn)\h7.3小結(jié)\h第8章數(shù)據(jù)包的發(fā)送\h8.1使用WinPcap發(fā)送數(shù)據(jù)包\h8.1.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h8.1.2數(shù)據(jù)包發(fā)送實(shí)例\h8.2數(shù)據(jù)包發(fā)送的幕后\h8.2.1發(fā)送單個(gè)數(shù)據(jù)包的實(shí)現(xiàn)\h8.2.2單個(gè)數(shù)據(jù)包發(fā)送多次的實(shí)現(xiàn)\h8.2.3發(fā)送隊(duì)列方式的實(shí)現(xiàn)\h8.3小結(jié)\h第9章數(shù)據(jù)包的內(nèi)核過濾\h9.1基礎(chǔ)知識(shí)\h9.1.1flex和bison簡介\h9.1.2#line宏\h9.1.3以太網(wǎng)的典型幀結(jié)構(gòu)\h9.1.4數(shù)據(jù)包過濾的原理簡介\h9.1.5BPF虛擬機(jī)\h9.1.6Tcpdump與WinDump\h9.1.7BPF指令集實(shí)例\h9.1.8BPF過濾器的優(yōu)化研究\h9.1.9BPF系統(tǒng)架構(gòu)\h9.2WinPcap數(shù)據(jù)包過濾基礎(chǔ)\h9.2.1數(shù)據(jù)包過濾過程\h9.2.2過濾表達(dá)式\h9.2.3編譯過濾表達(dá)式生成過濾器的字節(jié)碼\h9.2.4把過濾器字節(jié)碼傳遞給內(nèi)核\h9.3使用WinPcap過濾數(shù)據(jù)包\h9.3.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h9.3.2使用過濾器的實(shí)例\h9.4數(shù)據(jù)包過濾的幕后\h9.4.1wpcap.dll庫中相應(yīng)函數(shù)的實(shí)現(xiàn)\h9.4.2Packet.dll庫對(duì)應(yīng)的函數(shù)\h9.4.3驅(qū)動(dòng)程序中對(duì)應(yīng)的函數(shù)\h9.4.4NPF_tap函數(shù)的數(shù)據(jù)包過濾部分\h9.5小結(jié)\h第10章數(shù)據(jù)包的接收\h10.1使用WinPcap接收數(shù)據(jù)包\h10.1.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h10.1.2數(shù)據(jù)包接收的實(shí)例\h10.2數(shù)據(jù)接收的幕后\h10.2.1wpcap.dll庫中相應(yīng)函數(shù)的實(shí)現(xiàn)\h10.2.2Packet.dll庫中相應(yīng)函數(shù)的實(shí)現(xiàn)\h10.2.3內(nèi)核空間部分的實(shí)現(xiàn)\h10.3小結(jié)\h第11章統(tǒng)計(jì)網(wǎng)絡(luò)流量與網(wǎng)絡(luò)狀態(tài)\h11.1使用WinPcap進(jìn)行網(wǎng)絡(luò)統(tǒng)計(jì)的方法\h11.1.1wpcap.dll庫導(dǎo)出的相應(yīng)函數(shù)\h11.1.2統(tǒng)計(jì)實(shí)例\h11.2網(wǎng)絡(luò)統(tǒng)計(jì)的幕后11.2.1工作模式\h11.2.2模式設(shè)置函數(shù)\h11.2.3網(wǎng)絡(luò)流量統(tǒng)計(jì)的實(shí)現(xiàn)\h11.2.4網(wǎng)絡(luò)狀態(tài)統(tǒng)計(jì)的實(shí)現(xiàn)\h11.3小結(jié)\h第12章文件的存儲(chǔ)與讀取\h12.1libpcap文件存儲(chǔ)格式\h12.1.1轉(zhuǎn)儲(chǔ)文件的頭信息\h12.1.2每個(gè)數(shù)據(jù)包的頭信息\h12.2使用WinPcap進(jìn)行文件存儲(chǔ)與讀取\h12.2.1wpcap.dll導(dǎo)出的相應(yīng)函數(shù)\h12.2.2文件存儲(chǔ)與讀取的實(shí)例\h12.3數(shù)據(jù)包文件存儲(chǔ)的幕后\h12.3.1pcap_dump_open函數(shù)\h12.3.2pcap_dump函數(shù)\h12.3.3pcap_dump_flush函數(shù)\h12.3.4pcap_dump_close函數(shù)\h12.4數(shù)據(jù)包文件讀取的幕后\h12.5內(nèi)核文件轉(zhuǎn)儲(chǔ)的實(shí)現(xiàn)\h12.5.1wpcap.dll庫中相應(yīng)函數(shù)的實(shí)現(xiàn)\h12.5.2Packet.dll庫中相應(yīng)函數(shù)的實(shí)現(xiàn)\h12.5.3驅(qū)動(dòng)程序中對(duì)應(yīng)的函數(shù)\h12.6小結(jié)\h第13章修改源代碼\h13.1給wpcap.dll增加設(shè)置重復(fù)發(fā)送次數(shù)的函數(shù)\h13.1.1修改步驟\h13.1.2測試結(jié)果\h13.2修改WinPcap的內(nèi)核驅(qū)動(dòng)代碼\h13.2.1支持內(nèi)核轉(zhuǎn)儲(chǔ)功能\h13.2.2測試內(nèi)核統(tǒng)計(jì)與轉(zhuǎn)儲(chǔ)模式\h13.2.3支持大量數(shù)據(jù)包的轉(zhuǎn)儲(chǔ)\h13.2.4內(nèi)核驅(qū)動(dòng)程序修改后的源文件\h13.3小結(jié)\h第14章性能測試與分析\h14.1測試環(huán)境\h14.2測試實(shí)例\h14.2.1不同發(fā)送方式的比較\h14.2.2發(fā)送不同數(shù)據(jù)包長度的比較\h14.2.3不同接收方式的比較\h14.3小結(jié)\h附錄A源語法規(guī)范\h附錄B過濾表達(dá)式規(guī)范\h附錄CSYN洪泛攻擊的詳細(xì)資料\hC.1SYN洪泛攻擊原理\hC.2使用WinPcap實(shí)現(xiàn)SYN洪泛攻擊的方法\hC.3SYN洪泛攻擊的防御\h附錄DARP欺騙資料\hD.1ARP簡介\hD.2ARP工作原理\hD.3常見ARP攻擊類型\hD.3.1ARP掃描\hD.3.2ARP欺騙\hD.4局域網(wǎng)ARP欺騙的應(yīng)對(duì)\hD.4.1ARP欺騙的常見情況\hD.4.2故障診斷\hD.4.3故障處理\hD.4.4使用網(wǎng)絡(luò)分析工具找出ARP病毒源\hD.5常用的防護(hù)方法\hD.5.1靜態(tài)綁定IP地址與MAC地址\hD.5.2使用ARP防護(hù)軟件\hD.5.3使用具有防御ARP欺騙功能的路由器\hD.6ARP欺騙的正當(dāng)用途注:原文檔電子版(非掃描),需要的請下載本文檔后留言謝謝。第1章揭開網(wǎng)絡(luò)分析的神秘面紗計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展,給我們的生活、工作與學(xué)習(xí)帶來了巨大的改變。網(wǎng)絡(luò)縮短了信息傳遞的時(shí)間,擴(kuò)大了信息傳遞的空間。我們通過網(wǎng)絡(luò)來獲得信息、共享資源,同時(shí)也開闊了視野,還可以及時(shí)了解時(shí)事新聞并獲取各種最新的知識(shí)和信息。隨著網(wǎng)絡(luò)的普及與發(fā)展,我們越來越依賴網(wǎng)絡(luò)。與此同時(shí),相關(guān)的網(wǎng)絡(luò)問題也就隨之凸顯。網(wǎng)絡(luò)安全、網(wǎng)絡(luò)性能、網(wǎng)絡(luò)軟件質(zhì)量等問題,越來越受人們的關(guān)注,并逐漸成為網(wǎng)絡(luò)應(yīng)用所面臨的嚴(yán)重問題。正是在這種局勢下,網(wǎng)絡(luò)分析逐漸發(fā)展成為一門獨(dú)立的、專門的學(xué)科。網(wǎng)絡(luò)分析是一把雙刃劍。當(dāng)網(wǎng)絡(luò)、系統(tǒng)與安全的專業(yè)人員使用它處理網(wǎng)絡(luò)故障或監(jiān)視網(wǎng)絡(luò)時(shí),或許也正有網(wǎng)絡(luò)入侵者為了達(dá)到非法目的在使用它。網(wǎng)絡(luò)分析僅僅是一種技術(shù),就像所有的技術(shù)一樣,它可以被用在好的目的之上,也可以被用在壞的目的之上。從技術(shù)角度來說,網(wǎng)絡(luò)分析(networkanalysis)與網(wǎng)絡(luò)嗅探(networksniff)沒什么實(shí)質(zhì)區(qū)別,其區(qū)別僅存在于人們心理與情感層面。網(wǎng)絡(luò)分析的詞性更偏向褒義與正義,而網(wǎng)絡(luò)嗅探更偏向貶義與邪惡。由于本書重點(diǎn)是討論技術(shù)層面上的內(nèi)容,因此后續(xù)將不再對(duì)兩者進(jìn)行嚴(yán)格區(qū)分,除非有特別說明。為了便于深入理解網(wǎng)絡(luò)分析技術(shù),本章將對(duì)網(wǎng)絡(luò)分析(網(wǎng)絡(luò)嗅探)相關(guān)的網(wǎng)絡(luò)模型、網(wǎng)絡(luò)硬件等基礎(chǔ)知識(shí)進(jìn)行介紹。同時(shí)為了讓讀者能夠使用Wireshark工具來完成本書后續(xù)各章節(jié)的相關(guān)演示實(shí)例,我們還會(huì)對(duì)Wireshark網(wǎng)絡(luò)分析器的安裝與使用做簡要說明。1.1網(wǎng)絡(luò)分析概述網(wǎng)絡(luò)分析(又稱網(wǎng)絡(luò)嗅探、網(wǎng)絡(luò)流量分析、協(xié)議分析、數(shù)據(jù)包分析、網(wǎng)絡(luò)竊聽等)就是通過捕獲網(wǎng)絡(luò)流量并進(jìn)行深入檢查,了解網(wǎng)絡(luò)中發(fā)生了什么情況的過程。從定義來看,網(wǎng)絡(luò)分析主要指在網(wǎng)絡(luò)上,通過某臺(tái)主機(jī)捕獲其他主機(jī)之間的數(shù)據(jù)包實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的監(jiān)視、分析或記錄。不過在本書中,還包含了數(shù)據(jù)包的發(fā)送技術(shù)。網(wǎng)絡(luò)分析器(networkanalyzer)通常用于通用協(xié)議數(shù)據(jù)包的解碼,并以人可讀的格式來顯示網(wǎng)絡(luò)流量的內(nèi)容。而嗅探器(sniffer)則是監(jiān)視網(wǎng)絡(luò)上所傳輸數(shù)據(jù)的一種工具。未經(jīng)授權(quán)的嗅探器會(huì)對(duì)網(wǎng)絡(luò)安全構(gòu)成威脅,因?yàn)樗鼈兙哂须y被發(fā)現(xiàn)并且可插入在任何地方的特性,使其成為黑客最喜歡使用的一種工具。本書后面不會(huì)對(duì)網(wǎng)絡(luò)分析器與嗅探器做嚴(yán)格區(qū)分,除非有特別說明。歷史上,網(wǎng)絡(luò)分析器曾經(jīng)專注于通過昂貴的、并難以使用的硬件設(shè)備來實(shí)現(xiàn)。而新出現(xiàn)的先進(jìn)技術(shù)使得基于軟件的網(wǎng)絡(luò)分析器的開發(fā)成為可行方案,其為有效進(jìn)行網(wǎng)絡(luò)分析提供了一種更為便捷與廉價(jià)的工具,同時(shí)具備很強(qiáng)的網(wǎng)絡(luò)分析能力。一個(gè)網(wǎng)絡(luò)分析器由硬件與軟件兩部分共同組成。它可以是一個(gè)帶有特定軟件的單獨(dú)硬件設(shè)備,也可以是直接安裝在臺(tái)式電腦或筆記本電腦上的一個(gè)軟件。盡管每種產(chǎn)品之間具有差別,但基本都是由下列五個(gè)基本部分組成的。?硬件:多數(shù)網(wǎng)絡(luò)分析器是基于軟件的,并工作于標(biāo)準(zhǔn)的操作系統(tǒng)與網(wǎng)卡之上。不過有一些硬件網(wǎng)絡(luò)分析器會(huì)提供額外的功能,諸如硬件故障分析(比如循環(huán)冗余糾錯(cuò)(CRC)錯(cuò)誤、電壓問題、網(wǎng)線問題、抖動(dòng)(jitter)、逾限(jabber)、協(xié)商錯(cuò)誤等)。除了部分網(wǎng)絡(luò)分析器僅支持以太網(wǎng)或無線網(wǎng)適配器以外,其他的均可支持多重適配器,并允許用戶定制它們的配置。依據(jù)實(shí)際使用情況來看,網(wǎng)絡(luò)分析器可能也需要一個(gè)集線器或一個(gè)網(wǎng)線探針(cabletap)連接已有的網(wǎng)線。?捕獲驅(qū)動(dòng)器:這是網(wǎng)絡(luò)分析器中負(fù)責(zé)從網(wǎng)線上捕獲原始網(wǎng)絡(luò)數(shù)據(jù)包的組件。它會(huì)過濾出需要捕獲的網(wǎng)絡(luò)數(shù)據(jù),并把所捕獲的數(shù)據(jù)保存在一個(gè)緩沖區(qū)中。這是網(wǎng)絡(luò)分析器的核心,沒有它就無法捕獲網(wǎng)絡(luò)數(shù)據(jù)包。?緩沖區(qū):該組件用于保存所捕獲的數(shù)據(jù),直到該緩沖區(qū)被填滿為止。不過,如果采用循環(huán)緩沖區(qū)的方式,那么最新的數(shù)據(jù)將會(huì)替換最老的數(shù)據(jù)。?實(shí)時(shí)分析:該組件可對(duì)實(shí)時(shí)數(shù)據(jù)包進(jìn)行分析,也就是說數(shù)據(jù)包一離開網(wǎng)線就可啟用此組件。部分網(wǎng)絡(luò)分析器還用該組件監(jiān)測網(wǎng)絡(luò)性能問題,比如網(wǎng)絡(luò)入侵檢測系統(tǒng)利用它尋找非法的入侵活動(dòng)。?解碼(器):該組件用于顯示網(wǎng)絡(luò)數(shù)據(jù)包的內(nèi)容。它以更便于人們理解的方式來描述數(shù)據(jù)包,是可讀的。解碼特定于每個(gè)協(xié)議,因此網(wǎng)絡(luò)分析器當(dāng)前支持的可解碼的協(xié)議數(shù)是變化的,網(wǎng)絡(luò)分析器可能需要經(jīng)常加入新的解碼協(xié)議。另外,典型的網(wǎng)絡(luò)分析器通常會(huì)采用如下格式來顯示所捕獲網(wǎng)絡(luò)流量的信息。?概要:該窗格顯示所捕獲內(nèi)容的概要信息,包含時(shí)間、源地址、目標(biāo)地址、最高層協(xié)議的名稱、信息等內(nèi)容。?詳情:該窗格提供捕獲數(shù)據(jù)包所包含的每層內(nèi)容的細(xì)節(jié)信息(采用樹形結(jié)構(gòu))。?數(shù)據(jù):該窗格用十六進(jìn)制與文本格式顯示捕獲數(shù)據(jù)包的原始數(shù)據(jù)。圖1-1所示為Wireshark網(wǎng)絡(luò)分析器的主窗口。圖1-1Wireshark網(wǎng)絡(luò)分析器的主窗口各種網(wǎng)絡(luò)分析器之間的主要差別在于所支持的解碼的協(xié)議數(shù)量、用戶接口、圖形化與統(tǒng)計(jì)能力等的不同。其他的差別則包括推理能力(比如專家分析特性)與數(shù)據(jù)包解碼的質(zhì)量等的不同。盡管不同的網(wǎng)絡(luò)分析器可能會(huì)針對(duì)同一個(gè)協(xié)議進(jìn)行解碼,但實(shí)際工作質(zhì)量可能并不相同。1.2網(wǎng)絡(luò)分析的主要用途通過網(wǎng)絡(luò)分析可以監(jiān)測網(wǎng)絡(luò)運(yùn)行狀況、幫助排除網(wǎng)絡(luò)故障、分析與測試網(wǎng)絡(luò)性能瓶頸等,同時(shí)還可幫助解決系統(tǒng)配置問題與應(yīng)用程序瓶頸方面的問題。所以系統(tǒng)管理員、網(wǎng)絡(luò)工程師、安全工程師、系統(tǒng)操作員、軟件測試工程師與程序員都會(huì)經(jīng)常使用到網(wǎng)絡(luò)分析技術(shù),對(duì)他們而言,網(wǎng)絡(luò)分析器是極具價(jià)值的分析工具。例如,黑客可使用網(wǎng)絡(luò)掃描來識(shí)別可利用的網(wǎng)絡(luò)資源(比如,網(wǎng)絡(luò)上可利用的主機(jī)、端口或資源)。一旦一個(gè)易受攻擊的資源被探測到,它就可以被利用,這將危及設(shè)備的安全。很多時(shí)候,一個(gè)入侵者就藏在這些掃描的背后。安全專家可使用網(wǎng)絡(luò)分析技術(shù)來識(shí)別這些非法的攻擊,從而改善網(wǎng)絡(luò)安全。近年來我們不僅看到蠕蟲活動(dòng)的激增,更是看到蠕蟲攻擊系統(tǒng)與網(wǎng)絡(luò)帶來的嚴(yán)重危害?;ヂ?lián)網(wǎng)上蠕蟲的傳播越來越快,也更智能與隱蔽。安全專家可以通過網(wǎng)絡(luò)分析工具來識(shí)別蠕蟲的蹤跡。具體來說,網(wǎng)絡(luò)分析器的主要用途如下:?將數(shù)據(jù)包中的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成易讀的格式。?處理網(wǎng)絡(luò)故障。?分析網(wǎng)絡(luò)性能以發(fā)現(xiàn)瓶頸。?網(wǎng)絡(luò)入侵檢測。?出于辯護(hù)與收集證據(jù)的目的記錄網(wǎng)絡(luò)流量。?分析應(yīng)用程序的操作。?發(fā)現(xiàn)有問題的網(wǎng)卡。?發(fā)現(xiàn)病毒爆發(fā)的源頭或拒絕服務(wù)(DoS)的攻擊。?發(fā)現(xiàn)間諜軟件。?在開發(fā)階段對(duì)網(wǎng)絡(luò)編程進(jìn)行調(diào)試。?發(fā)現(xiàn)泄密的計(jì)算機(jī)。?確認(rèn)網(wǎng)絡(luò)通信是否符合公司的政策。?作為學(xué)習(xí)協(xié)議的資源。1.3黑客使用嗅探器的方法如果嗅探器被心懷惡意的人使用,那么將會(huì)對(duì)網(wǎng)絡(luò)安全構(gòu)成嚴(yán)重威脅。比如,網(wǎng)絡(luò)入侵者會(huì)使用嗅探的方式獲取用戶的秘密信息。以非法的方式使用嗅探器攻擊他人稱為被動(dòng)的攻擊,因?yàn)樾崽狡鞑⒉粫?huì)直接與網(wǎng)絡(luò)上任何其他系統(tǒng)相互作用或連接,它的這種被動(dòng)特性使其很難被檢測出來。同時(shí),嗅探器也能被安裝在網(wǎng)絡(luò)中的某臺(tái)計(jì)算機(jī)上,來達(dá)到主動(dòng)攻擊的泄密目的。入侵者在網(wǎng)絡(luò)上使用嗅探器可以實(shí)現(xiàn)如下目的:?取得明文的用戶名和密碼。?發(fā)現(xiàn)網(wǎng)絡(luò)用戶的使用模式(usagepattern)。?泄露私有信息。?捕獲與回放VoIP電話通話。?映射網(wǎng)絡(luò)的部署。?被動(dòng)操作系統(tǒng)指紋(passiveOSfingerprinting)。上述都是嗅探器的非法使用形式。當(dāng)然,若作為一個(gè)滲透測試人員,以此找出并報(bào)告這些類型的弱點(diǎn),那么這就成了對(duì)嗅探器的合法使用了。為了嗅探,入侵者首先會(huì)獲取感興趣的系統(tǒng)的通信網(wǎng)線的訪問權(quán),這意味著要在同一共享網(wǎng)段上或在通信路徑之間的網(wǎng)線某處接入探針。即使入侵者不與目標(biāo)系統(tǒng)或通信訪問點(diǎn)物理接觸,其仍然有方法嗅探到網(wǎng)絡(luò)流量,具體方式如下:?闖入一臺(tái)目標(biāo)計(jì)算機(jī)中且安裝遠(yuǎn)程嗅探器。?闖入一個(gè)通信訪問點(diǎn),比如一個(gè)因特網(wǎng)服務(wù)提供商(ISP)系統(tǒng)中,安裝嗅探軟件。?在已經(jīng)裝入嗅探軟件的ISP上定位一個(gè)系統(tǒng)。?使用社會(huì)工程學(xué)\h[1]獲得對(duì)一個(gè)ISP的直接訪問權(quán),安裝一個(gè)數(shù)據(jù)包嗅探器。?在目標(biāo)計(jì)算機(jī)組織或ISP內(nèi)部有一個(gè)同謀者,并且其在那兒已經(jīng)安裝了嗅探器。?重定向或復(fù)制通信,使通信路徑中包含入侵者的計(jì)算機(jī)。入侵者通常會(huì)把嗅探程序配置成能檢測特定事情(如輸入密碼)的狀態(tài),在其嗅探到相關(guān)信息后,或發(fā)送給入侵者,或儲(chǔ)存起來,供入侵者稍后取回。易受該類程序攻擊的協(xié)議包括遠(yuǎn)程登錄協(xié)議(Telnet)、文件傳送協(xié)議(FTP)、第3版郵局協(xié)議(POP3)、網(wǎng)際報(bào)文存取協(xié)議(IMAP)、簡單郵件傳輸協(xié)議(SMTP)、超文本傳輸協(xié)議(HTTP)、遠(yuǎn)程登錄(rlogin)、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)等。大多數(shù)嗅探程序都包含了類似rootkit的工具。該工具在泄密系統(tǒng)中極具代表性,是一種奇特的程序,具有隱身功能:無論靜止時(shí)(作為文件存在),還是活動(dòng)時(shí)(作為進(jìn)程存在),都不會(huì)被察覺。換句話說,這種程序可能一直存在于我們的計(jì)算機(jī)中,但我們卻渾然不知,這一功能正是許多人夢寐以求的——不論是黑客,還是取證人員。黑客可以在入侵后植入rootkit,秘密地窺探敏感信息,或伺機(jī)而動(dòng);取證人員也可以利用rootkit實(shí)時(shí)監(jiān)控嫌疑人員的不法行為,搜集證據(jù),以便及時(shí)采取行動(dòng)。實(shí)際上rootkit是一個(gè)特洛伊程序集,在一個(gè)受控的系統(tǒng)上它會(huì)替換一些合法的命令(例如ps、ifconfig、ls等就是一些常被替換的命令),以避免被檢測到。同時(shí)rootkit還會(huì)安裝一些額外的軟件,如sniffers等。rootkit就是通過替換命令和使用、清除日志條目等來掩蓋入侵者的蹤跡的。同時(shí)入侵者還可安裝其他的程序,像嗅探器、鍵盤記錄器等后門軟件。木馬、病毒與蠕蟲之間的區(qū)別究竟什么是木馬、病毒和蠕蟲,它們之間存在著什么區(qū)別?大多數(shù)人并沒有一個(gè)清晰的了解。這幾個(gè)術(shù)語很多時(shí)候被混用了。事實(shí)上,它們?nèi)咧g有著非常顯著的不同。它們各自用不同的方式來感染計(jì)算機(jī),并且每個(gè)都有各自不同的使用動(dòng)機(jī)。一個(gè)病毒是一段程序,它通過附加到文件上或替換文件來感染用戶的計(jì)算機(jī),且用戶并不知情。病毒能夠執(zhí)行它自己,并復(fù)制自己到系統(tǒng)中其他的文件上,通常的方式是把自己附加到可執(zhí)行文件(也就是主機(jī)文件)上。當(dāng)用戶傳遞受感染的文件或共享存儲(chǔ)介質(zhì)(如U盤)時(shí),病毒就會(huì)從一臺(tái)計(jì)算機(jī)傳染到另一臺(tái)計(jì)算機(jī)上。一個(gè)良性的病毒不會(huì)具有太多破壞性的行為,不過會(huì)有一些令人討厭的或?qū)е氯藗儾环奖愕男袨?,比如在一個(gè)特定的時(shí)間里在主機(jī)上顯示一些消息。但是即使是一個(gè)良性的病毒也會(huì)消耗掉一些有用的內(nèi)存、CPU處理時(shí)間和磁盤空間。有惡意的病毒具有很大的危險(xiǎn)性,因?yàn)樗鼈兡軐?dǎo)致大量的毀壞活動(dòng)產(chǎn)生,比如修改軟件與數(shù)據(jù)、刪除文件或擦除整個(gè)系統(tǒng)。目前已存在的病毒類型較多,下面列舉一些:?文件(Fileinfector)病毒:它把自己附加到可執(zhí)行文件上。?開機(jī)型(Bootsector)病毒:它把病毒代碼放在計(jì)算機(jī)的磁盤啟動(dòng)扇區(qū)上,所以每次計(jì)算機(jī)被啟動(dòng)時(shí)就執(zhí)行該病毒。?主引導(dǎo)記錄(Masterbootrecord)病毒:它感染磁盤的第一個(gè)物理扇區(qū)。?復(fù)合型(Multi-partite)病毒:它通常具有多種感染方法。?宏(Macro)病毒:它把自己附加到文檔或模板的宏中。一個(gè)木馬也是一段程序,不過它隱藏在從表面上看來是有趣的或有益的軟件中,比如是一個(gè)游戲或有用的工具。然而,當(dāng)用戶執(zhí)行這個(gè)程序時(shí),隱藏的惡意程序在用戶不知情的情況下也會(huì)被執(zhí)行。接著該惡意程序就在內(nèi)存中運(yùn)行,入侵者通過后門來操控它,或該惡意程序?qū)ο到y(tǒng)文件或數(shù)據(jù)進(jìn)行破壞性的活動(dòng)。一旦中了木馬,系統(tǒng)可能就會(huì)門戶大開,毫無秘密可言。木馬與病毒的最大區(qū)別是木馬不具傳染性,它并不能像病毒那樣復(fù)制自身,也并不刻意地去感染其他文件。它主要通過將自身偽裝起來,吸引用戶執(zhí)行。比如,它們通常的傳遞方式是:對(duì)此不清楚的用戶打開一份從互聯(lián)網(wǎng)上收到的電子郵件,并對(duì)郵件附件執(zhí)行一個(gè)文件下載的操作?,F(xiàn)在的木馬一般以竊取用戶相關(guān)信息為主要目的,相對(duì)病毒而言,可以簡單地說,病毒破壞信息,而木馬竊取信息。但是一個(gè)木馬也能包含一個(gè)病毒或一個(gè)蠕蟲。一個(gè)蠕蟲則是一段像病毒的程序,但是添加了不使用主機(jī)文件就能復(fù)制自己的功能。對(duì)于蠕蟲,并不需要接收一個(gè)受感染的文件或者使用一個(gè)受感染的存儲(chǔ)介質(zhì)才會(huì)被傳染,蠕蟲自己就可以完成傳染的工作。蠕蟲通過計(jì)算機(jī)網(wǎng)絡(luò)主動(dòng)地復(fù)制和繁殖自己。當(dāng)蠕蟲正在繁殖或試圖繁殖時(shí),它不僅消耗有用的系統(tǒng)資源,還消耗網(wǎng)絡(luò)帶寬。從破壞性的角度看,蠕蟲不是普通病毒所能比擬的,網(wǎng)絡(luò)的發(fā)展使蠕蟲可以在很短的時(shí)間內(nèi)蔓延整個(gè)網(wǎng)絡(luò),從而造成網(wǎng)絡(luò)癱瘓。\h[1]社會(huì)工程學(xué)(socialengineering):準(zhǔn)確來說,它不是一門科學(xué),社會(huì)工程學(xué)是一種利用人性的弱點(diǎn)(如人的本能反應(yīng)、好奇心、信任、貪便宜等)進(jìn)行諸如欺騙、傷害等行為,從而獲取自身利益的手段。說它不是科學(xué),是因?yàn)樗皇强偰苤貜?fù)和成功,而且在信息充分多的情況下,會(huì)自動(dòng)失效。社會(huì)工程學(xué)的竅門也蘊(yùn)涵了各式各樣的、靈活的構(gòu)思與變化因素。1.4被嗅探數(shù)據(jù)的真面目要想詳細(xì)了解嗅探的概念,最簡單的方法就是在實(shí)際應(yīng)用中看一看具體的實(shí)例。1.4.1使用嗅探器獲得FTP的用戶名和密碼圖1-2展示的是從一臺(tái)計(jì)算機(jī)連接到一臺(tái)FTP服務(wù)器的服務(wù)請求,以及通過Wireshark嗅探所傳輸?shù)臄?shù)據(jù)包。從第一個(gè)和第二個(gè)數(shù)據(jù)包的內(nèi)容可以看出,采用網(wǎng)絡(luò)分析器獲得用戶名與密碼是非常容易的事情(從數(shù)據(jù)包的內(nèi)容可以很直接地知道用戶名(USER)為lxf,密碼(PASS)為lxf)。圖1-2嗅探一個(gè)連接1.4.2使用嗅探器分析沖擊波蠕蟲(BlasterWorm)1.問題每次啟動(dòng)計(jì)算機(jī),就接收到一個(gè)消息,告訴你60s內(nèi)要重啟計(jì)算機(jī)。只要時(shí)間超過60s,計(jì)算機(jī)就會(huì)自動(dòng)關(guān)機(jī)。這將導(dǎo)致你每次使用計(jì)算機(jī)不會(huì)超過60s。2.嗅探數(shù)據(jù)包出現(xiàn)上述問題,很有可能是蠕蟲或病毒造成的。任何時(shí)候,如果你懷疑一個(gè)病毒或蠕蟲可能就是導(dǎo)致計(jì)算機(jī)出現(xiàn)某問題的原因,就直接在問題計(jì)算機(jī)上安裝嗅探器,這不是一個(gè)明智的選擇。惡意軟件經(jīng)常會(huì)干擾嗅探器的正常工作,最好的辦法是使用端口映射。數(shù)據(jù)包捕獲的時(shí)機(jī)為:從問題計(jì)算機(jī)剛剛啟動(dòng)開始到將要自己關(guān)機(jī)時(shí)結(jié)束。3.數(shù)據(jù)包分析所捕獲的數(shù)據(jù)包如圖1-3所示。此截圖中記錄了問題計(jì)算機(jī)與另一臺(tái)計(jì)算機(jī)之間傳輸?shù)膸讉€(gè)TCP數(shù)據(jù)包??稍谶M(jìn)行數(shù)據(jù)包捕獲時(shí)網(wǎng)絡(luò)上并沒有其他計(jì)算機(jī)活動(dòng),所以這里的網(wǎng)絡(luò)行為是可疑的。圖1-3所捕獲的數(shù)據(jù)包識(shí)別病毒或蠕蟲網(wǎng)絡(luò)流量的一個(gè)較好方法是查看網(wǎng)絡(luò)間的原始數(shù)據(jù)。我們來分析一下所捕獲的每個(gè)數(shù)據(jù)包。第一個(gè)數(shù)據(jù)包看不出有什么特別的,沒有多少有用的信息,如圖1-4所示。圖1-4第一個(gè)數(shù)據(jù)包的內(nèi)容接著看第二個(gè)數(shù)據(jù)包,發(fā)現(xiàn)其中有對(duì)C:\WINNT\System32目錄的引用。這是一個(gè)很重要的系統(tǒng)目錄,包含了許多加載和運(yùn)行操作系統(tǒng)的文件。如果看見一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包引用這個(gè)目錄,則通常是存在問題的一個(gè)提示(見圖1-5)。圖1-5引用C:\WINNT\System32意味著可能訪問系統(tǒng)文件再來看第三個(gè)數(shù)據(jù)包,它沒有提供什么有用的信息,但是第四個(gè)數(shù)據(jù)包顯示的信息值得關(guān)注,如圖1-6所示。圖1-6第四個(gè)數(shù)據(jù)包引用了msblast.exe其中,msblast.exe就是沖擊波蠕蟲,這就是計(jì)算機(jī)出現(xiàn)問題的根源所在。沖擊波蠕蟲資料沖擊波蠕蟲是一種利用WindowsDCOMRPC漏洞進(jìn)行傳播的蠕蟲,傳播能力很強(qiáng)。蠕蟲傳播時(shí)破壞了系統(tǒng)的核心進(jìn)程svchost.exe,從而導(dǎo)致了系統(tǒng)不穩(wěn)定,并可能造成系統(tǒng)崩潰。它掃描的端口號(hào)是TCP135,攻擊成功后會(huì)利用TCP4444和UDP69端口下載并運(yùn)行它的代碼程序msblast.exe。這個(gè)蠕蟲還將在某個(gè)時(shí)間(如8月16日)對(duì)進(jìn)行拒絕服務(wù)攻擊,目的是為了使用戶不能及時(shí)地得到這個(gè)漏洞的補(bǔ)丁。沖擊波蠕蟲攻擊系統(tǒng)成功時(shí),表現(xiàn)為如下特征:?系統(tǒng)被頻繁地重啟。?用netstat命令可以看到大量TCP135端口的掃描。?系統(tǒng)中出現(xiàn)文件:%Windir%\system32\msblast.exe。?注冊表中出現(xiàn)鍵值:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\"windowsautoupdate"="msblast.exe"。檢測和刪除沖擊波蠕蟲如果你的計(jì)算機(jī)感染了沖擊波蠕蟲,可以用下面辦法手動(dòng)刪除:(a)打開任務(wù)管理器,停止進(jìn)程msblast.exe。(b)檢查并刪除文件:%Windir%\system32\msblast.exe。(c)進(jìn)入注冊表(開始→運(yùn)行:regedit),找到鍵值:KEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run在右邊的欄目,刪除下面的鍵值:"windowsautoupdate"="msblast.exe"(d)給系統(tǒng)打RPC漏洞補(bǔ)?。ǚ駝t很快會(huì)被再次感染)。防御沖擊波蠕蟲如果用戶不需要使用下面的端口,可以在防火墻或路由器上暫時(shí)關(guān)閉它們:(a)TCP4444:蠕蟲開設(shè)的后門端口,用于遠(yuǎn)程命令控制。(b)UDP69:用于文件下載。蠕蟲用以下端口發(fā)現(xiàn)有漏洞的系統(tǒng):TCP135,TCP137,TCP139。蠕蟲感染途徑(a)蠕蟲感染系統(tǒng)后首先會(huì)檢測是否有名為"BILLY"的互斥體存在,如果檢測到該互斥體,蠕蟲就會(huì)退出;如果沒有,就會(huì)創(chuàng)建。(b)在注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中添加以下鍵值:"windowsautoupdate"="msblast.exe"。通過該鍵值可以實(shí)現(xiàn)每次用戶登錄時(shí)的蠕蟲自動(dòng)運(yùn)行。蠕蟲還會(huì)在本地的UDP69端口上建立一個(gè)TFTP服務(wù)器,以便向其他受侵害的系統(tǒng)傳送蠕蟲的二進(jìn)制程序msblast.exe。(c)蠕蟲選擇目標(biāo)IP地址的時(shí)候會(huì)首先選擇受感染系統(tǒng)所在子網(wǎng)的IP,然后再按照一定算法隨機(jī)在互聯(lián)網(wǎng)上選擇攻擊目標(biāo)。(d)蠕蟲會(huì)向目標(biāo)的TCP135端口發(fā)送攻擊數(shù)據(jù)。如果攻擊成功,則會(huì)監(jiān)聽目標(biāo)系統(tǒng)的TCP4444端口以此作為后門,并綁定cmd.exe。然后蠕蟲會(huì)連接到這個(gè)端口,發(fā)送tftp命令,回連到發(fā)起進(jìn)攻的主機(jī)(UDP69端口),將msblast.exe傳到目標(biāo)系統(tǒng)上,然后運(yùn)行它。(e)每當(dāng)蠕蟲檢測到當(dāng)前系統(tǒng)月份是8月之后或者日期是15日之后,也就是說,在1~8月的16日至此月最后一天,以及9~12月的任意一天,其就會(huì)向微軟的更新站點(diǎn)""發(fā)動(dòng)拒絕服務(wù)攻擊。若攻擊失敗,則可能造成沒有打補(bǔ)丁的Windows系統(tǒng)RPC服務(wù)崩潰,WindowsXP系統(tǒng)可能會(huì)自動(dòng)重啟。該蠕蟲不能成功侵入Windows2003,但是可以造成Windows2003系統(tǒng)的RPC服務(wù)崩潰,默認(rèn)情況下,這將使系統(tǒng)重啟。蠕蟲代碼中還包含以下文本數(shù)據(jù):IjustwanttosayLOVEYOUSAN!!billygateswhydoyoumakethispossible?Stopmakingmoneyandfxyoursoftware!!1.5常見的網(wǎng)絡(luò)分析器現(xiàn)在已經(jīng)有大量、各種各樣的網(wǎng)絡(luò)分析軟件可以使用了。下面將列出一些較優(yōu)秀、常見的網(wǎng)絡(luò)分析器。?Wireshark:目前最好的網(wǎng)絡(luò)分析器之一,它是作為一個(gè)使用自由、質(zhì)量達(dá)到商業(yè)化工具的網(wǎng)絡(luò)分析器被開發(fā)的。Wireshark有很多特征,比如,擁有友好的用戶圖形界面、可解碼超過400個(gè)的協(xié)議等,同時(shí)它也被積極地開發(fā)與維護(hù)著。Wireshark可在UNIX、Linux、MacOSX與Windows系統(tǒng)上運(yùn)行,其可從網(wǎng)站上獲取。?Tcpdump:最古老的、最常用的網(wǎng)絡(luò)分析器。它基于命令行模式運(yùn)行在UNIX、類UNIX及MacOSX系統(tǒng)上。此分析通過網(wǎng)站進(jìn)行開發(fā)與維護(hù)。?WinDump:是Windows版本的Tcpdump,它使用WinPcap庫,可從/windump網(wǎng)站上獲取。?NetworkGeneralSniffer:目前最流行的商業(yè)網(wǎng)絡(luò)分析器,現(xiàn)在有一個(gè)企業(yè)網(wǎng)絡(luò)捕獲工具套件,在網(wǎng)站上有其完整的產(chǎn)品描述。?Windows2000and2003ServerNetworkMonitor:通過一個(gè)內(nèi)建程序來執(zhí)行的網(wǎng)絡(luò)分析器。該程序在操作系統(tǒng)安裝盤的"AdministrativeTools"文件夾中,但它不是默認(rèn)安裝的,因此需要從安裝盤中添加安裝。?EtherPeek:WildPackets開發(fā)的一個(gè)商業(yè)化的網(wǎng)絡(luò)分析器。從網(wǎng)站上可以了解其詳細(xì)的信息。?Snoop:一個(gè)基于命令行模式運(yùn)行的網(wǎng)絡(luò)分析器,包含在SunSolaris操作系統(tǒng)中。?Snort:一個(gè)網(wǎng)絡(luò)入侵檢測系統(tǒng)(NIDS),可用作網(wǎng)絡(luò)分析,目前在網(wǎng)站上開發(fā)與維護(hù)著。?Dsniff:一個(gè)非常流行的網(wǎng)絡(luò)嗅探軟件包。它是一個(gè)用來嗅探感興趣的數(shù)據(jù)(如密碼),并使嗅探過程更便利(如規(guī)避交換機(jī))的程序集。它在/~dugsong/dsniff網(wǎng)站上被積極地維護(hù)著。?Ettercap:專門用來嗅探一個(gè)基于交換的網(wǎng)絡(luò),可在Linux、Windows和Solaris平臺(tái)上運(yùn)行。它內(nèi)建了諸多特征,比如密碼收集、操作系統(tǒng)指紋識(shí)別(OSfingerprinting)和字符注入等。它在網(wǎng)站上被積極地維護(hù)著。?Analyzer:Windows操作系統(tǒng)下使用的一個(gè)自由的網(wǎng)絡(luò)分析器。WinPcap和Win-Dump的開發(fā)者仍在繼續(xù)積極地進(jìn)行相關(guān)開發(fā)??蓮膆ttp://analyzer.polito.it網(wǎng)站下載此工具。?Packetyzer:一個(gè)在Windows操作系統(tǒng)下自由使用的網(wǎng)絡(luò)分析器。它使用的是Wire-shark的核心邏輯,目前被NetworkChemistry在/open_source_tools網(wǎng)站上積極地維護(hù)著。?MacSniffer:專門為MacOSX操作系統(tǒng)設(shè)計(jì),且作為Tcpdump的一個(gè)前端軟件被構(gòu)建。該軟件是共享軟件,可從/brianhill/macsniffer.html網(wǎng)站上下載。1.6網(wǎng)絡(luò)分析器的工作原理本節(jié)將簡要介紹一下網(wǎng)絡(luò)分析器工作的背景知識(shí),并給出相關(guān)的網(wǎng)絡(luò)與協(xié)議的背景信息。如果還需了解更多的信息,可參閱其他優(yōu)秀的資源,如RichardStevens的《TCP/IP詳解》1~3卷就是其中之一。1.6.1以太網(wǎng)簡介以太網(wǎng)是計(jì)算機(jī)之間通信的最常用的協(xié)議標(biāo)準(zhǔn)。它是基于共享介質(zhì)構(gòu)建的,所以在局域網(wǎng)同一網(wǎng)段內(nèi)所有的計(jì)算機(jī)會(huì)共享相同的網(wǎng)絡(luò)流量。事實(shí)上,它就是眾所周知的一種廣播傳輸方式,也就是說,同一數(shù)據(jù)將會(huì)傳送給同一網(wǎng)段中的所有其他的計(jì)算機(jī)。信息一般會(huì)被分解成易管理的數(shù)據(jù)塊,這些數(shù)據(jù)塊稱為數(shù)據(jù)包。每個(gè)數(shù)據(jù)包有一個(gè)頭,包含目的計(jì)算機(jī)地址與源計(jì)算機(jī)地址。即使該信息會(huì)發(fā)送給一個(gè)網(wǎng)段上所有的計(jì)算機(jī),也只有與目標(biāo)地址匹配的計(jì)算機(jī)才會(huì)產(chǎn)生回應(yīng)。雖然網(wǎng)絡(luò)上的其他所有計(jì)算機(jī)仍然可收到該數(shù)據(jù)包,但是如果該數(shù)據(jù)包不是它們想接收的就會(huì)被丟棄,除非某臺(tái)計(jì)算機(jī)上正運(yùn)行著一個(gè)嗅探器。通常計(jì)算機(jī)運(yùn)行在非混雜模式下,只能監(jiān)聽派發(fā)給自己的信息。當(dāng)運(yùn)行一個(gè)嗅探器時(shí),數(shù)據(jù)包捕獲驅(qū)動(dòng)器會(huì)把計(jì)算機(jī)網(wǎng)絡(luò)接口卡(NetworkInterfaceCard,NIC)設(shè)置為混雜模式。這意味著,嗅探的計(jì)算機(jī)能在該網(wǎng)段上見到所有的網(wǎng)絡(luò)流量,而不管數(shù)據(jù)包是發(fā)送給誰的。在這種情況下,它就能見到全部鄰居的會(huì)話。因?yàn)樵S多計(jì)算機(jī)可能會(huì)共享一個(gè)以太網(wǎng)段,所以每臺(tái)計(jì)算機(jī)一定要有唯一的一個(gè)標(biāo)識(shí)符且要硬件編碼到NIC上。以太網(wǎng)網(wǎng)址,也就是傳輸介質(zhì)訪問控制協(xié)議(MAC)的地址,就是這樣一個(gè)標(biāo)識(shí)符。在WindowsNT、Windows2000、WindowsXP與Windows2003操作系統(tǒng)中都可在命令行下輸入ipconfig/all查看MAC地址,MAC地址將會(huì)列在"PhysicalAddress"字段后。1.6.2理解開放系統(tǒng)互連(OSI)模型國際標(biāo)準(zhǔn)化組織(InternationalOrganizationforStandardization,ISO)在20世紀(jì)80年代早期開發(fā)了開放系統(tǒng)互連(OSI)模型。此模型描述了網(wǎng)絡(luò)協(xié)議和組件在一起工作的形式。OSI模型把網(wǎng)絡(luò)功能分為七層,每層表現(xiàn)為一群相關(guān)的規(guī)格、功能和活動(dòng)。雖然看起來很復(fù)雜,但這些術(shù)語已被廣泛地應(yīng)用在網(wǎng)絡(luò)、系統(tǒng)和開發(fā)社區(qū)中。圖1-7所示為OSI模型的層次結(jié)構(gòu),在后續(xù)的章節(jié)中將會(huì)簡要介紹這些層次。圖1-7OSI模型的七層結(jié)構(gòu)1.物理層OSI模型的第一層為物理層,該層規(guī)范了傳輸介質(zhì)(如網(wǎng)線)的電氣與機(jī)械特性。它包括發(fā)送與接收介質(zhì)上的數(shù)據(jù)流,載體可使用電(網(wǎng)線)、光(光纖)、無線、紅外、激光等信號(hào)。物理層的規(guī)范主要包括下列內(nèi)容:?電壓變化;?電壓變化的時(shí)間;?數(shù)據(jù)率;?最大傳輸距離;?連接傳輸介質(zhì)的物理連接器(接頭);?網(wǎng)絡(luò)的拓?fù)渑c部署。有許多復(fù)雜的問題要在物理層中進(jìn)行研討,包括是使用數(shù)字的還是模擬的信號(hào),使用的是基帶還是寬帶信號(hào),是數(shù)據(jù)同步還是異步傳輸,以及信號(hào)如何被分配到信道上(如多路復(fù)用)等問題。物理層上的設(shè)備包括NIC上的收發(fā)器、中繼器、基本集線器(basichub)與連接器等。物理層的數(shù)據(jù)由0與1組成,以光脈沖或電壓變化脈沖的狀態(tài)(通常on代表1,off代表0)表示。這些比特位的安排與管理,是OSI模型數(shù)據(jù)鏈路層要實(shí)現(xiàn)的功能。2.數(shù)據(jù)鏈路層既然物理層只負(fù)責(zé)網(wǎng)絡(luò)介質(zhì)中數(shù)據(jù)的物理傳輸,那么接收并管理與數(shù)據(jù)包物理傳輸相關(guān)錯(cuò)誤信息的工作就交給OSI模型的數(shù)據(jù)鏈路層了。數(shù)據(jù)鏈路層負(fù)責(zé)維護(hù)兩臺(tái)計(jì)算機(jī)(典型的說法為主機(jī)或結(jié)點(diǎn))之間的數(shù)據(jù)鏈接。它定義并管理接收、發(fā)送的數(shù)據(jù)幀中比特位的順序。數(shù)據(jù)幀是一個(gè)按特定組織方式安排好的數(shù)據(jù)序列,其為接收方與發(fā)送方在介質(zhì)間有順序、一致地傳輸數(shù)據(jù)提供了一個(gè)方法。如果沒有這樣的控制,數(shù)據(jù)將會(huì)以隨機(jī)的大小與配置方式發(fā)送,這樣的數(shù)據(jù)在另一端(接收端)是無法解碼的。數(shù)據(jù)鏈路層管理物理地址與數(shù)據(jù)包的同步,也對(duì)物理層的流量控制與錯(cuò)誤提示負(fù)責(zé)。流量控制是指管理發(fā)送與接收數(shù)據(jù)的時(shí)間,使數(shù)據(jù)傳輸?shù)南嚓P(guān)指標(biāo)不超過物理連接的容量(包括速度、內(nèi)存等)。數(shù)據(jù)鏈路層所涉及的網(wǎng)絡(luò)設(shè)備為兩層交換機(jī)與網(wǎng)橋。兩層交換機(jī)通過只發(fā)送數(shù)據(jù)到與目標(biāo)計(jì)算機(jī)相關(guān)的端口而不是發(fā)送到交換機(jī)的所有端口上來降低網(wǎng)絡(luò)擁塞。網(wǎng)橋則把網(wǎng)絡(luò)劃分為兩部分并過濾流量,它會(huì)基于MAC地址建立一個(gè)表,從而定義哪臺(tái)計(jì)算機(jī)在網(wǎng)橋的哪一邊。數(shù)據(jù)鏈路層又分為兩個(gè)子層:介質(zhì)訪問控制(MAC)子層與邏輯鏈路控制(LLC)子層。(1)MAC子層MAC子層提供對(duì)訪問傳輸介質(zhì)的控制。它負(fù)責(zé)把在一個(gè)共享傳輸介質(zhì)(如以太網(wǎng)線或光纖線)上的數(shù)據(jù)包從一個(gè)NIC移動(dòng)到另一個(gè)NIC上。物理地址是MAC子層的地址。每一個(gè)NIC有一個(gè)唯一的MAC地址(又稱物理地址),此地址用于標(biāo)識(shí)網(wǎng)絡(luò)上特定的NIC。注意在以太網(wǎng)的NIC中,物理或MAC地址被表示為12個(gè)十六進(jìn)制的數(shù)字,每兩個(gè)一組且用“:”分隔開(又稱12:3A:4D:66:3A:1C)。開始的三組為制造商編號(hào),后三組代表該制造商制造的唯一NIC的編號(hào)。一個(gè)NIC的MAC地址通常會(huì)燒錄到一個(gè)只讀內(nèi)存(ROM)的芯片中。制造商為每一個(gè)網(wǎng)卡提供了一個(gè)唯一的MAC地址,所以從理論上說,每個(gè)被制造的NIC具有唯一的MAC地址。為了避免混亂,MAC地址被永久地?zé)浀絅IC的只讀內(nèi)存中。有一些方法會(huì)使用MAC地址來分配網(wǎng)絡(luò)訪問的計(jì)算機(jī),防止它們在同一時(shí)間傳輸從而致使數(shù)據(jù)沖突。比如采用MAC地址的方法包括以太網(wǎng)使用的載波監(jiān)聽多點(diǎn)接入/沖突檢測(CSMA/CD)方法、AppleTalk網(wǎng)絡(luò)使用的載波監(jiān)聽多點(diǎn)接入/沖突避免(CSMA/CA)方法、令牌環(huán)網(wǎng)與光纖分布式數(shù)據(jù)接口(FDDI)網(wǎng)絡(luò)使用的令牌傳遞方法等。(2)LLC子層LLC子層為數(shù)據(jù)鏈路層提供邏輯控制,它用于實(shí)現(xiàn)數(shù)據(jù)鏈路層的同步、流量控制與錯(cuò)誤檢查等功能。該層主要管理面向連接的傳輸,不過,它也能提供非連接的服務(wù)。LLC定義了三種數(shù)據(jù)通信操作類型:?無連接。該方式不保證發(fā)送的信息一定可以收到。?面向連接。該方式提供了四種服務(wù):連接的建立、確認(rèn)和數(shù)據(jù)到達(dá)響應(yīng)、差錯(cuò)恢復(fù)(通過請求重發(fā)接收到的錯(cuò)誤數(shù)據(jù)實(shí)現(xiàn))、滑動(dòng)窗口(系數(shù):128)?;瑒?dòng)窗口用來提高數(shù)據(jù)傳輸速率。?無連接應(yīng)答響應(yīng)服務(wù)。在面向連接的通信方式中,每一個(gè)LLC幀發(fā)送的內(nèi)容都會(huì)被確認(rèn)。LLC子層在接收LLC幀(又稱協(xié)議數(shù)據(jù)單元,PDU)結(jié)束時(shí)需要檢測在傳輸時(shí)是否有幀丟失了,如果丟失,則會(huì)給發(fā)送端發(fā)送一個(gè)請求,請求重新開始傳輸,此次傳輸將從沒有到達(dá)的PDU開始。LLC子層位于MAC子層的上面,它在上層與MAC子層的協(xié)議(如以太網(wǎng)、令牌環(huán)網(wǎng)等)之間扮演著一個(gè)聯(lián)絡(luò)人的角色。3.網(wǎng)絡(luò)層接下來的一層為網(wǎng)絡(luò)層,在這一層數(shù)據(jù)包會(huì)被順序化,同時(shí)會(huì)被賦予邏輯地址。邏輯地址是通過軟件賦予的地址,不是永久性的。TCP/IP協(xié)議在互聯(lián)網(wǎng)上使用的IP地址就是邏輯地址。網(wǎng)絡(luò)層也負(fù)責(zé)在點(diǎn)或結(jié)點(diǎn)之間創(chuàng)建一個(gè)虛擬鏈路(這里指的一個(gè)邏輯連接,而不是一個(gè)物理連接)。其中結(jié)點(diǎn)是具有MAC地址的設(shè)備,包含計(jì)算機(jī)、打印機(jī)或路由器等。這一層也負(fù)責(zé)路由與推進(jìn)數(shù)據(jù)包。路由是指從一個(gè)網(wǎng)絡(luò)或子網(wǎng)推進(jìn)數(shù)據(jù)包到另一個(gè)網(wǎng)絡(luò)或子網(wǎng)。如果沒有路由器,計(jì)算機(jī)只能與同一網(wǎng)段中的計(jì)算機(jī)通信。對(duì)于互聯(lián)網(wǎng)來說,路由是一個(gè)關(guān)鍵,同時(shí)也是網(wǎng)絡(luò)層最重要的任務(wù)。網(wǎng)絡(luò)層還提供流量控制與差錯(cuò)控制功能。在該層操作的設(shè)備是路由器與三層交換機(jī)。從這一層開始,實(shí)現(xiàn)OSI模型的基本方法將與軟件密切關(guān)聯(lián),而不再是硬件。4.傳輸層OSI模型的第四層為傳輸層,這一層負(fù)責(zé)從一個(gè)結(jié)點(diǎn)傳輸數(shù)據(jù)到另一個(gè)結(jié)點(diǎn)上。它在結(jié)點(diǎn)間提供透明的數(shù)據(jù)傳輸,并管理端到端的流量控制、錯(cuò)誤檢測與錯(cuò)誤恢復(fù)。首先,傳輸層協(xié)議在不同計(jì)算機(jī)的特定端口之間發(fā)起聯(lián)系,并設(shè)置虛擬的鏈路。每臺(tái)主機(jī)的傳輸協(xié)議確認(rèn)應(yīng)用程序發(fā)送的數(shù)據(jù)是否是被授權(quán)訪問的,并且兩個(gè)端點(diǎn)是否都準(zhǔn)備好開始數(shù)據(jù)傳輸了。當(dāng)該同步完成時(shí),數(shù)據(jù)將被發(fā)送。在數(shù)據(jù)傳送的過程中,每臺(tái)主機(jī)上的傳輸協(xié)議會(huì)監(jiān)控?cái)?shù)據(jù)流并監(jiān)視傳輸錯(cuò)誤。如果傳輸檢測到錯(cuò)誤,傳輸協(xié)議將提供錯(cuò)誤恢復(fù)。對(duì)網(wǎng)絡(luò)通信而言,傳輸層所提供的功能非常重要。前面提到數(shù)據(jù)鏈路層提供了底層可靠性與面向連接或非連接的通信,傳輸層做了同樣的工作,只不過是在更高的層次上。面向連接的傳輸控制協(xié)議(TCP)與面向非連接的用戶數(shù)據(jù)包協(xié)議(UDP)是傳輸層常見的兩種協(xié)議。傳輸層也管理端口的邏輯地址,比如,決定所接收的數(shù)據(jù)屬于哪個(gè)應(yīng)用程序,一臺(tái)計(jì)算機(jī)上可能會(huì)同時(shí)運(yùn)行幾個(gè)網(wǎng)絡(luò)應(yīng)用程序。傳輸層還會(huì)處理域名解析,如使用域名系統(tǒng)(DomainNameSystem,DNS)就是處理該問題的一種方法。5.會(huì)話層在傳輸層建立了一個(gè)虛擬的連接后,兩臺(tái)不同計(jì)算機(jī)上的進(jìn)程之間就會(huì)建立一個(gè)通信會(huì)話。會(huì)話層負(fù)責(zé)建立、監(jiān)視與終止會(huì)話,同時(shí)會(huì)使用傳輸層建立的虛擬鏈路。會(huì)話層也負(fù)責(zé)給數(shù)據(jù)包添加協(xié)議頭信息,指明一個(gè)消息的起點(diǎn)與終點(diǎn)。一旦該頭信息被添加到數(shù)據(jù)包上,會(huì)話層就會(huì)在發(fā)送者會(huì)話層與接收者會(huì)話層之間執(zhí)行同步,利用確認(rèn)(ACKnowledgment,ACK)標(biāo)識(shí)協(xié)調(diào)會(huì)話層的數(shù)據(jù)傳輸。會(huì)話層的另一個(gè)重要功能是決定在一個(gè)會(huì)話中的通信是采用全雙工還是半雙工通信方式。傳輸層是在兩臺(tái)計(jì)算機(jī)之間建立一個(gè)連接,而會(huì)話層則在兩個(gè)進(jìn)程之間建立一個(gè)連接。傳輸層在兩臺(tái)計(jì)算機(jī)之間建立連接后,會(huì)話層就會(huì)在一臺(tái)計(jì)算機(jī)上的一個(gè)進(jìn)程與另一臺(tái)計(jì)算機(jī)上的一個(gè)進(jìn)程之間建立連接。一個(gè)應(yīng)用程序可同時(shí)運(yùn)行多個(gè)進(jìn)程來完成相應(yīng)的工作。6.表示層數(shù)據(jù)傳輸是表示層的基本活動(dòng),協(xié)議轉(zhuǎn)換就是在這一層進(jìn)行的。當(dāng)數(shù)據(jù)從發(fā)送者傳送到接收者處時(shí),它就會(huì)在表示層上進(jìn)行轉(zhuǎn)換(比如,發(fā)送者的應(yīng)用程序把數(shù)據(jù)向下傳送到表示層時(shí),會(huì)在表示層將數(shù)據(jù)轉(zhuǎn)換為一種通用格式)。待數(shù)據(jù)被另一端接收時(shí),表示層又會(huì)把它從通用格式轉(zhuǎn)回為應(yīng)用程序使用的格式。表示層也是網(wǎng)關(guān)服務(wù)操作的地方。網(wǎng)關(guān)是不同平臺(tái)或應(yīng)用的網(wǎng)絡(luò)之間的連接點(diǎn),通常通過軟件實(shí)現(xiàn)網(wǎng)關(guān)的功能。軟件重定向器也是在該層進(jìn)行操作的,同時(shí)該層也是數(shù)據(jù)壓縮發(fā)生的地方,它會(huì)最小化網(wǎng)絡(luò)介質(zhì)需要傳送到接收器的比特?cái)?shù)量。另外,數(shù)據(jù)加密與解密也在表示層進(jìn)行。7.應(yīng)用層應(yīng)用層是用戶應(yīng)用程序與網(wǎng)絡(luò)交互的位置。不要把網(wǎng)絡(luò)模型與應(yīng)用程序本身混淆了。應(yīng)用程序的進(jìn)程是在一個(gè)用戶應(yīng)用程序中開始的,進(jìn)程所創(chuàng)建的數(shù)據(jù)會(huì)被遞交到網(wǎng)絡(luò)軟件的應(yīng)用層中。在該層所發(fā)生的所有事情都是特定于應(yīng)用的。OSI模型是通用的,可被用來解釋所有的網(wǎng)絡(luò)協(xié)議。為了達(dá)到此目的,各種協(xié)議簇經(jīng)常被映射到OSI模型上。對(duì)OSI模型深入的理解可幫助網(wǎng)絡(luò)分析和比較,以及問題的解決。注意,不是所有的協(xié)議都能很好地映射到OSI模型上。比如TCP/IP協(xié)議簇在OSI模型之前就已經(jīng)開發(fā)了,TCP/IP協(xié)議簇被設(shè)計(jì)為映射到美國國防部(DoD)的模型上,因此TCP/IP協(xié)議簇的層次無法與OSI模型準(zhǔn)確地對(duì)應(yīng)。TCP/IP協(xié)議簇由五層組成:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層和應(yīng)用層。前四層與OSI模型的前四層對(duì)應(yīng),提供物理標(biāo)準(zhǔn)、網(wǎng)絡(luò)接口、網(wǎng)際互連和傳輸功能。不過,OSI模型的最高三層在TCP/IP中則是用第五層“應(yīng)用層”表示的。1.6.3了解CSMA/CD協(xié)議為了讓設(shè)備在網(wǎng)絡(luò)上交換數(shù)據(jù),以太網(wǎng)使用載波監(jiān)聽多點(diǎn)接入/沖突檢測(CSMA/CD)協(xié)議。多點(diǎn)接入是指許多網(wǎng)絡(luò)設(shè)備連接到同一個(gè)網(wǎng)段上,并且都賦予等同的發(fā)送機(jī)會(huì),沒有任何設(shè)備優(yōu)先于其他設(shè)備。載波監(jiān)聽描述了一個(gè)網(wǎng)絡(luò)設(shè)備的以太網(wǎng)接口在傳送之前如何監(jiān)聽傳輸介質(zhì)。網(wǎng)絡(luò)接口在傳送之前和傳送的過程中都會(huì)監(jiān)聽,以確保在同一時(shí)刻沒有其他網(wǎng)絡(luò)設(shè)備傳送數(shù)據(jù)。如果兩個(gè)網(wǎng)絡(luò)設(shè)備同一時(shí)刻傳送數(shù)據(jù),將會(huì)發(fā)生沖突。由于以太網(wǎng)接口會(huì)在傳送過程中監(jiān)聽介質(zhì),所以如果發(fā)生沖突,沖突檢測將會(huì)被標(biāo)識(shí)出來。這時(shí),正在傳送的設(shè)備就會(huì)在重新傳送之前等待一個(gè)小的、隨機(jī)的時(shí)間量,這就是隨機(jī)時(shí)間補(bǔ)償(backofftime)功能。傳統(tǒng)模式下,以太網(wǎng)操作是半雙工的,這就意味著一個(gè)接口只能傳送或接收數(shù)據(jù),兩者不能同時(shí)進(jìn)行。如果一個(gè)網(wǎng)段中有不止一個(gè)的網(wǎng)絡(luò)接口試圖在同一時(shí)刻傳送數(shù)據(jù),將會(huì)導(dǎo)致沖突發(fā)生。如果以太網(wǎng)操作是全雙工模式,則將允許網(wǎng)絡(luò)設(shè)備在同一時(shí)刻傳送與接收數(shù)據(jù),這樣可提高性能。如連接兩個(gè)設(shè)備的是對(duì)連網(wǎng)線,或者是單個(gè)設(shè)備連接到交換機(jī)的一個(gè)端口,該網(wǎng)段中僅有兩個(gè)接口需要進(jìn)行傳送或接收操作,這時(shí)是不會(huì)發(fā)生沖突的。因?yàn)樵O(shè)備A的傳送連接的是設(shè)備B的接收,而設(shè)備B的接收連接的是設(shè)備A的傳送,所以這里也就不需要檢測沖突了。1.6.4IP、ICMP、TCP與UDP協(xié)議與網(wǎng)絡(luò)嗅探有關(guān)的協(xié)議主要包括IP(網(wǎng)際互連協(xié)議)、ICMP(網(wǎng)際控制報(bào)文協(xié)議)、TCP(傳輸控制協(xié)議)與UDP(用戶數(shù)據(jù)包協(xié)議)。這四個(gè)協(xié)議是現(xiàn)今互聯(lián)網(wǎng)工作的核心,下面對(duì)它們分別作簡要的介紹。1.IPIP是一個(gè)非連接協(xié)議,其管理尋址數(shù)據(jù)從一個(gè)點(diǎn)遞送到另一個(gè)點(diǎn),并把大數(shù)據(jù)包分割成小的、能傳輸?shù)臄?shù)據(jù)包。IP數(shù)據(jù)包的主要組成如下:?IP標(biāo)識(shí)(IPID):試圖唯一標(biāo)識(shí)IP數(shù)據(jù)包。?協(xié)議:描述使用IP層服務(wù)的高層協(xié)議。?生存時(shí)間(TTL):數(shù)據(jù)包在通過互聯(lián)網(wǎng)時(shí)必須具有的受限壽命,當(dāng)TTL為0時(shí),數(shù)據(jù)包被丟棄。?源IP地址:源點(diǎn)的IP地址,數(shù)據(jù)包被創(chuàng)建的地方。?目的IP地址:終點(diǎn)的IP地址,數(shù)據(jù)包應(yīng)該送到的地方。2.ICMP網(wǎng)際控制報(bào)文協(xié)議(ICMP)用于管理網(wǎng)絡(luò)之間在IP上出現(xiàn)的錯(cuò)誤。下面是ICMP常用的報(bào)文:?回送請求/回答:為診斷目的而設(shè)計(jì),可以用來確定在IP級(jí)別能否正常通信。例如ping程序使用回送請求與回答報(bào)文來計(jì)算兩個(gè)結(jié)點(diǎn)之間的網(wǎng)絡(luò)延時(shí)。?終點(diǎn)不可達(dá):網(wǎng)絡(luò)不可達(dá)與端口不可達(dá)。當(dāng)一個(gè)網(wǎng)絡(luò)或端口不可達(dá)(比如,一個(gè)防火墻拒絕了一個(gè)數(shù)據(jù)包或存在網(wǎng)絡(luò)問題)時(shí),該報(bào)文會(huì)發(fā)送給數(shù)據(jù)包的源IP地址。終點(diǎn)不可達(dá)報(bào)文有一些子類型,有助于診斷通信問題。?超時(shí):當(dāng)一個(gè)數(shù)據(jù)包的TTL為0時(shí)就會(huì)發(fā)生超時(shí)情況。3.TCPTCP是面向連接的協(xié)議,通常用來傳輸數(shù)據(jù)。TCP面向連接的特性使得選用它進(jìn)行源IP地址欺騙的可能性很小。下面是TCP的幾個(gè)重要概念:?TCP握手:TCP的一個(gè)重要概念是握手。任何數(shù)據(jù)在兩臺(tái)主機(jī)之間交換之前,它們必須同意進(jìn)行通信。主機(jī)A先發(fā)送一個(gè)帶同步序號(hào)(SYNchronous,SYN)標(biāo)識(shí)的數(shù)據(jù)包到主機(jī)B上。如果主機(jī)B愿意并能通信,它返回SYN數(shù)據(jù)包并添加確認(rèn)(ACKnowledgment,ACK)標(biāo)識(shí)。然后主機(jī)A開始發(fā)送數(shù)據(jù),并向主機(jī)B指明它接收到了ACK。當(dāng)主機(jī)間的通信結(jié)束時(shí),就會(huì)發(fā)送一個(gè)帶結(jié)束(FINish,F(xiàn)IN)標(biāo)識(shí)的數(shù)據(jù)包,接下來是一個(gè)類似確認(rèn)的過程。?TCP序列:TCP的另一個(gè)重要組成是序列標(biāo)識(shí),每個(gè)發(fā)送的數(shù)據(jù)包都是一個(gè)序列的一部分。通過這些序列,TCP能控制復(fù)雜的任務(wù),諸如重發(fā)、確認(rèn)與排序。4.UDP相對(duì)于TCP,UDP數(shù)據(jù)包是面向非連接的,它具有多種用途,用于DNS就是其中一個(gè)重要的應(yīng)用。1.6.5硬件與網(wǎng)絡(luò)嗅探有關(guān)的硬件主要包括網(wǎng)卡、網(wǎng)線探針、集線器與交換機(jī),下面分別對(duì)它們進(jìn)行簡要介紹。1.網(wǎng)卡一般情況下,網(wǎng)卡有下列四種接收模式:?廣播方式:該模式下的網(wǎng)卡能夠接收網(wǎng)絡(luò)中的廣播信息。?組播方式:該模式下的網(wǎng)卡能夠接收組播數(shù)據(jù)。?直播方式:在這種模式下,只有目的網(wǎng)卡才能接收該數(shù)據(jù)。?混雜模式:在這種模式下,網(wǎng)卡能夠接收一切通過它的數(shù)據(jù),不管該數(shù)據(jù)是否是傳送給它的。網(wǎng)卡默認(rèn)的工作模式是廣播模式或直播模式,即只能接收發(fā)送給自己或廣播的數(shù)據(jù)。正常情況下,接收數(shù)據(jù)的主機(jī)網(wǎng)卡會(huì)根據(jù)數(shù)據(jù)包中所包含的目標(biāo)MAC地址或廣播MAC地址進(jìn)行判斷,若為自己的MAC地址或是廣播MAC地址,則接收該數(shù)據(jù)包,并提交給上層處理程序,否則丟棄該數(shù)據(jù)包。當(dāng)網(wǎng)卡處于混雜模式時(shí),則不做任何判斷直接把接收到的所有數(shù)據(jù)包交給上層處理程序。網(wǎng)絡(luò)分析技術(shù)就是基于這個(gè)原理來捕獲網(wǎng)絡(luò)中所有的數(shù)據(jù)包的。2.網(wǎng)線探針網(wǎng)線探針(cabletaps)是幫助連接到網(wǎng)線的硬件設(shè)備。使用網(wǎng)線探針可以訪問計(jì)算機(jī)、集線器、交換機(jī)、路由器及其他設(shè)備之間網(wǎng)線上的任意點(diǎn)。網(wǎng)線探針可用于全雙工或半雙工的10Mbps、100Mbps與1000Mbps速度的以太網(wǎng),甚至是幾十Gbps的網(wǎng)絡(luò)。在、等網(wǎng)站可獲得網(wǎng)線探針的相關(guān)信息。3.集線器集線器(hub)的主要功能是對(duì)接收到的信號(hào)進(jìn)行再生整形放大,從而擴(kuò)大網(wǎng)絡(luò)傳輸距離,并把所有結(jié)點(diǎn)集中在以它為中心的結(jié)點(diǎn)上。它工作在OSI參考模型的數(shù)據(jù)鏈路層上。集線器是在一個(gè)共享介質(zhì)(比如以太網(wǎng))上把多臺(tái)主機(jī)連接起來的一個(gè)設(shè)備。當(dāng)一臺(tái)計(jì)算機(jī)發(fā)送信息時(shí),該信息會(huì)行走到集線器上,集線器接著把信息推向所有與之相連接的計(jì)算機(jī)上,而該信息的目標(biāo)計(jì)算機(jī)將會(huì)根據(jù)自己的MAC地址與數(shù)據(jù)包頭部所含的目標(biāo)MAC地址進(jìn)行判斷,如果一致就接收該數(shù)據(jù)包。集線器推進(jìn)所有信息的區(qū)域,稱為沖突域,又稱廣播域。一個(gè)集線器只有一個(gè)沖突域。圖1-8所示為一個(gè)帶有集線器沖突域的網(wǎng)絡(luò)架構(gòu)。大量的沖突會(huì)使得嗅探更容易,而且會(huì)導(dǎo)致性能問題,比如集線器的帶寬占用或流量過載。圖1-8帶有集線器沖突域的網(wǎng)絡(luò)架構(gòu)4.交換機(jī)交換機(jī)(switch)也是把共享介質(zhì)上的計(jì)算機(jī)連接到一起的設(shè)備。交換機(jī)維護(hù)著與交換機(jī)所連接計(jì)算機(jī)的MAC地址和交換機(jī)本身對(duì)應(yīng)端口的一個(gè)關(guān)系列表。當(dāng)一臺(tái)交換機(jī)接收到數(shù)據(jù)包時(shí),它不會(huì)盲目地發(fā)送給所有的計(jì)算機(jī),而是先查找數(shù)據(jù)包的頭部來獲得目標(biāo)MAC地址,接著把數(shù)據(jù)包推進(jìn)到該MAC地址對(duì)應(yīng)的特定端口,這樣就把沖突域縮小為一個(gè)單獨(dú)的端口了,如圖1-9所示。該類型的沖突域?yàn)槊總€(gè)連接提供了一個(gè)明確的帶寬量,而集線器提供的是一個(gè)共享帶寬量。圖1-9交換機(jī)沖突域因?yàn)榻粨Q機(jī)的價(jià)格近年來急劇下降,故現(xiàn)在常采用交換機(jī)替換集線器,或者在選購新設(shè)備時(shí)選擇交換機(jī)。一些價(jià)格更貴的交換機(jī)包含了更好的技術(shù),這使其對(duì)嗅探的攻擊抵擋力更強(qiáng)。如圖1-8與圖1-9所示,集線器使嗅探較容易,而交換機(jī)會(huì)使嗅探困難得多,但是交換機(jī)也是能被欺騙的(詳見1.6.6節(jié))。如果工作在使用交換機(jī)的網(wǎng)絡(luò)上,那么該如何執(zhí)行正當(dāng)?shù)木W(wǎng)絡(luò)分析呢?很幸運(yùn)的是,大部分交換機(jī)與路由器提供了端口映射機(jī)制。為了映射端口,必須配置交換機(jī),使其可以從一個(gè)希望映射的端口復(fù)制網(wǎng)絡(luò)流量到所連接的端口。例如在圖1-10所示中,就映射了交換機(jī)端口1的所有網(wǎng)絡(luò)流量到端口5,這樣,網(wǎng)絡(luò)分析器就可以在端口5查看發(fā)送到計(jì)算機(jī)A與計(jì)算機(jī)A發(fā)送出去的所有網(wǎng)絡(luò)流量了。有時(shí)候,管理員會(huì)將交換機(jī)的上行端口進(jìn)行端口映射,以查看出/入交換機(jī)所有端口的網(wǎng)絡(luò)流量。圖1-10交換機(jī)端口映射1.6.6欺騙交換機(jī)正如前面介紹的,在網(wǎng)絡(luò)中使用交換機(jī)會(huì)使嗅探更困難。從理論上說,連接到交換機(jī)上的計(jì)算機(jī)應(yīng)該只能看見發(fā)給自己的網(wǎng)絡(luò)流量,不過,卻有一些技術(shù)可繞過該技術(shù)限定。下面簡要列舉攻破交換機(jī)防守的幾種方式。1.交換洪泛(switchflooding)部分交換機(jī)可以像集線器一樣運(yùn)行,也就是說所有的數(shù)據(jù)包被廣播給了所有的計(jì)算機(jī)。通過這種方式就可以發(fā)送大量假M(fèi)AC地址的數(shù)據(jù)包使交換機(jī)地址表溢出,進(jìn)而攻破交換機(jī)所有的安全防備。2.ARP重定向(ARPredirect)當(dāng)一臺(tái)計(jì)算機(jī)需要其他計(jì)算機(jī)的MAC地址時(shí),它會(huì)發(fā)送一個(gè)地址解析協(xié)議(ARP)請求。每臺(tái)計(jì)算機(jī)也維護(hù)一個(gè)ARP表來存儲(chǔ)與其會(huì)話的計(jì)算機(jī)的MAC地址。只要ARP在一個(gè)交換機(jī)上廣播,所有與該交換機(jī)連接的計(jì)算機(jī)都能看到該請求與回應(yīng)。這就導(dǎo)致可利用ARP來欺騙一臺(tái)交換機(jī)。入侵者通過發(fā)送一個(gè)假的ARP聲明,使交換機(jī)誤認(rèn)為入侵者是另外一個(gè)角色,從而擾亂了交換機(jī)的正常工作,并發(fā)送網(wǎng)絡(luò)流量到它不應(yīng)該發(fā)送的地方。比如,入侵者可以發(fā)送一個(gè)ARP聲明,把入侵者的計(jì)算機(jī)作為一個(gè)路由器,在這種情況下,其他計(jì)算機(jī)將試圖發(fā)送它們的數(shù)據(jù)包通過入侵者的計(jì)算機(jī)進(jìn)行路由?;蛘?,入侵者只給一個(gè)用戶發(fā)送一個(gè)ARP請求,聲明自己為路由器,這樣,此用戶就會(huì)開始推進(jìn)數(shù)據(jù)包給入侵者。3.ICMP重定向(ICMPredirect)有時(shí)候幾臺(tái)計(jì)算機(jī)處在同一個(gè)物理網(wǎng)段與交換機(jī)上,但是它們不在同一個(gè)邏輯網(wǎng)段上,這意味著它們在不同的IP子網(wǎng)中。當(dāng)計(jì)算機(jī)A想與計(jì)算機(jī)B會(huì)話時(shí),可通過一個(gè)路由器發(fā)送它的請求。路由器知道它們在同一個(gè)物理網(wǎng)段上,因此發(fā)送一個(gè)ICMP重定向給計(jì)算機(jī)A,使它知道可以直接發(fā)送數(shù)據(jù)包給計(jì)算機(jī)B。此功能使得入侵者(計(jì)算機(jī)X)可以發(fā)送一個(gè)假的ICMP重定向給計(jì)算機(jī)A,告訴它把發(fā)送給計(jì)算機(jī)B的數(shù)據(jù)包發(fā)送給計(jì)算機(jī)X。4.ICMP路由廣播(ICMProuteradvertisement)這些廣播告訴計(jì)算機(jī)使用哪一個(gè)路由器。如果入侵者發(fā)送一個(gè)廣播,聲明它就是那個(gè)路由器,那么此計(jì)算機(jī)就會(huì)向該入侵者推進(jìn)所有的數(shù)據(jù)包。5.MAC地址欺騙(MACaddressspoofing)入侵者可以利用偽裝計(jì)算機(jī)MAC地址的方式,將自己偽裝成另外一臺(tái)計(jì)算機(jī)。首先,它會(huì)發(fā)送帶有受害者源MAC地址的數(shù)據(jù)包欺騙交換機(jī),交換機(jī)把該欺騙信息放進(jìn)它的地址表中,并開始發(fā)送數(shù)據(jù)包給入侵者。但是因?yàn)槭芎φ呷栽诮粨Q機(jī)上,如果交換機(jī)進(jìn)行MAC地址表更新就會(huì)導(dǎo)致交換機(jī)把地址表改回來,故入侵者常通過一些拒絕服務(wù)(DoS)類型的攻擊使受害者離線,然后重定向交換機(jī)并繼續(xù)通信。部分交換機(jī)具有允許靜態(tài)賦予每個(gè)端口一個(gè)MAC地址的防范措施。但是如果網(wǎng)絡(luò)規(guī)模很大此防范措施的效用就有限了,雖然仍可減少M(fèi)AC欺騙,但降低了可維護(hù)性。還有部分交換機(jī)允許端口鎖定它所遇到的第一個(gè)MAC地址,該配置在物理端口訪問受限的環(huán)境中,提出了在可維護(hù)性與安全性之間的強(qiáng)制性平衡。要想在Linux上欺騙計(jì)算機(jī)的MAC地址,可使用下列的ifconfig命令:ifconfigeth0down//關(guān)閉網(wǎng)卡ifconfigeth0hwether00:02:b3:00:00:AA//設(shè)置MAC地址ifconfigeth0up//打開網(wǎng)卡然后通過廣播ping命令向各主機(jī)登記該MAC地址:ping-c1-b55現(xiàn)在就可以嗅探實(shí)際擁有該MAC地址的計(jì)算機(jī)的所有網(wǎng)絡(luò)流量了。6.重新配置交換機(jī)的端口映射正如前面所提及的,交換機(jī)的端口能被配置成可以查看到其他端口網(wǎng)絡(luò)流量的端口。這可通過Telnet或其他一些默認(rèn)的后門連接交換機(jī)來實(shí)現(xiàn)。如果網(wǎng)絡(luò)管理協(xié)議(SNMP)沒有受到保護(hù),還可以通過它來實(shí)現(xiàn)端口映射的配置。7.網(wǎng)線探針正如之前所述,網(wǎng)線探針能夠用來實(shí)現(xiàn)網(wǎng)線的物理窺探。在一臺(tái)交換機(jī)的上行網(wǎng)線上布下網(wǎng)線探針可以顯示所有出入交換機(jī)的網(wǎng)絡(luò)流量。1.7嗅探器的檢測在了解了網(wǎng)絡(luò)分析器的工作原理之后,大家應(yīng)該認(rèn)識(shí)到網(wǎng)絡(luò)分析器(嗅探器)并不是專為網(wǎng)絡(luò)攻擊、黑客入侵而開發(fā)的。事實(shí)上,由于網(wǎng)絡(luò)分析器具有檢查低層傳輸數(shù)據(jù)包的能力,因此我們可以很方便地使用其來對(duì)網(wǎng)絡(luò)進(jìn)行診斷,當(dāng)然這種能力同時(shí)也對(duì)網(wǎng)絡(luò)安全具有很大威脅性。例如大多數(shù)情況下,用戶賬號(hào)和安全密碼在驗(yàn)證的過程中要隨著數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸,它們在數(shù)據(jù)包內(nèi)的位置存在著一定的規(guī)律性。網(wǎng)絡(luò)黑客可通過嗅探器來捕獲每個(gè)數(shù)據(jù)包的特定字節(jié),從而截獲用戶賬號(hào)和安全密碼。有了這些重要信息,就可以很容易地進(jìn)行下一步的攻擊入侵了,這令網(wǎng)絡(luò)管理員防不勝防。如果某網(wǎng)絡(luò)被未經(jīng)授權(quán)者設(shè)置了嗅探器,那么該網(wǎng)絡(luò)的安全實(shí)際上已遭到了嚴(yán)重破壞,任何主機(jī)與存有嗅探器的網(wǎng)絡(luò)系統(tǒng)連接都將有用戶賬戶與安全密碼被截獲的危險(xiǎn)。網(wǎng)絡(luò)安全分析統(tǒng)計(jì)也表明,嗅探器是網(wǎng)絡(luò)安全存在的第二大隱患。1.7.1檢測嗅探器的原理如上所述,嗅探器可能會(huì)帶來很嚴(yán)重的安全問題。因此檢測網(wǎng)絡(luò)是否存在嗅探器,對(duì)網(wǎng)絡(luò)管理員或網(wǎng)絡(luò)安全管理員來講是非常重要的。然而,嗅探器很難被發(fā)現(xiàn),因?yàn)樗鼈兪潜粍?dòng)的程序,并不會(huì)留下讓別人發(fā)現(xiàn)的蹤跡。但是,由于嗅探器必須將網(wǎng)卡設(shè)為混雜模式才能正常工作,而一般正常服務(wù)的網(wǎng)卡都不在該模式下,因此檢測嗅探器就等同于檢測網(wǎng)絡(luò)內(nèi)是否存在網(wǎng)卡被設(shè)為混雜模式的計(jì)算機(jī)。對(duì)于Linux與Windows操作系統(tǒng)來說,嗅探器的檢測方法并不一樣,具體如下所示。1.Linux操作系統(tǒng)下的檢測方法在正常模式下,網(wǎng)卡會(huì)過濾和丟棄那些MAC地址不是廣播地址且不是該網(wǎng)卡MAC地址的數(shù)據(jù)包??梢酝ㄟ^該特性檢測該計(jì)算機(jī)是否處在混雜模式下。如果發(fā)送非法目的MAC地址(例如66:66:66:66:66:66的數(shù)據(jù)幀),在正常模式下網(wǎng)卡將丟棄該數(shù)據(jù)幀。但是如果處在混雜模式下,網(wǎng)卡則會(huì)將該數(shù)據(jù)幀提交給相應(yīng)的協(xié)議棧,系統(tǒng)將會(huì)對(duì)該數(shù)據(jù)包做出相應(yīng)的響應(yīng)動(dòng)作。這時(shí)就可通過檢測計(jì)算機(jī)是否發(fā)回了響應(yīng)數(shù)據(jù)包,來確認(rèn)該計(jì)算機(jī)是否存在嗅探器。2.Windows操作系統(tǒng)下的檢測方法在正常模式(非混雜模式)下,網(wǎng)卡只將目標(biāo)地址為自己或是以太網(wǎng)廣播地址(FF:FF:FF:FF:FF:FF)的數(shù)據(jù)包傳遞給內(nèi)核。當(dāng)處在混雜模式下時(shí),驅(qū)動(dòng)程序就會(huì)只檢測以太網(wǎng)地址的第一個(gè)字節(jié)是否是廣播地址,如果是FF,則認(rèn)為是發(fā)往FF:FF:FF:FF:FF:FF的廣播包。我們可以借用這個(gè)特性發(fā)送目標(biāo)地址為FF:00:00:00:00:00的數(shù)據(jù)包,當(dāng)Windows操作系統(tǒng)的驅(qū)動(dòng)程序收到該數(shù)據(jù)幀,并對(duì)該數(shù)據(jù)幀做出了響應(yīng)時(shí),就表明它處在混雜模式下。如果沒處在混雜模式下,將丟棄該數(shù)據(jù)幀。1.7.2防止網(wǎng)絡(luò)嗅探可采取的安全措施防止網(wǎng)絡(luò)嗅探器攻擊并不是一件很困難的事情,通常可采取加密和網(wǎng)絡(luò)分割的辦法來實(shí)現(xiàn)。1.加密如果僅需要防止遠(yuǎn)程登錄時(shí)用戶賬號(hào)和安全密碼被截取,則可以在主機(jī)上安裝動(dòng)態(tài)密碼(OneTimePassword,OTP)系統(tǒng)。在使用OTP的系統(tǒng)中,用戶在登錄時(shí)會(huì)根據(jù)主機(jī)提出的一個(gè)迭代值和一個(gè)種子值計(jì)算出本次登錄的密碼。如果需要保護(hù)電子郵件免遭竊取,可以對(duì)郵件使用PGP(PrettyGoodPrivacy)加密軟件,對(duì)該算法目前還沒有找到比窮盡算法更有效的破解辦法。這兩種辦法實(shí)現(xiàn)起來較簡單,可它們不能完全阻止監(jiān)聽者從網(wǎng)絡(luò)上截取各種數(shù)據(jù)包的相關(guān)信息后,通過分析或是脫殼解密得到其想要的東西。更加安全的方法是利用SNP和SSH系統(tǒng)。SNP系統(tǒng)可以運(yùn)行在很多操作系統(tǒng)上,其提供了一種安全的驗(yàn)證協(xié)議,使TELNET、FTP、RLOGIN等應(yīng)用的用戶賬號(hào)和安全密碼不再是以明文的方式傳輸。SNP系統(tǒng)中所有的傳輸數(shù)據(jù)都是采用DES加密的,監(jiān)聽者只能看到一些亂碼。SSH是基于C/S模型的,標(biāo)準(zhǔn)的SSH服務(wù)端口為22,SSH采用RSA加密算法建立連接,驗(yàn)證過程結(jié)束后,所有的信息都采用IDEA技術(shù)加密,這是一種典型的強(qiáng)加密方式,適合于所有的通信。SSH曾一度為加密安全通信的主要協(xié)議。如果網(wǎng)絡(luò)系統(tǒng)中使用了SSH,那么用戶賬號(hào)和安全密碼被捕獲的概率將大大降低。2.網(wǎng)絡(luò)分割通常人們所能接受的防止嗅探器攻擊的辦法是使用安全的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。我們知道,網(wǎng)絡(luò)廣播的時(shí)候,信息包只能被同一網(wǎng)絡(luò)地址段中的嗅探器捕獲。所以可以利用網(wǎng)絡(luò)分割的技術(shù),進(jìn)一步劃分網(wǎng)絡(luò),減小嗅探器能夠監(jiān)聽的范圍,這樣網(wǎng)絡(luò)的其余部分就可免受嗅探器的攻擊了。一般可以采用交換機(jī)來劃分網(wǎng)段,并使用網(wǎng)橋或網(wǎng)絡(luò)路由器來劃分子網(wǎng)。實(shí)際上PC(個(gè)人計(jì)算機(jī))和工作站都可以配置成網(wǎng)橋或路由器,同一個(gè)網(wǎng)絡(luò)地址段內(nèi)最好都是互相可以信任的計(jì)算機(jī)。通過網(wǎng)絡(luò)分割,安裝了嗅探器的計(jì)算機(jī)僅能夠捕獲有限范圍內(nèi)計(jì)算機(jī)的信息流。如果發(fā)現(xiàn)了在某一網(wǎng)絡(luò)地址段有嗅探器,也很容易確定是哪些人設(shè)置的。1.8網(wǎng)絡(luò)分析工具的主要功能組成網(wǎng)絡(luò)分析工具一般由圖1-11所示的基本功能組成,當(dāng)然對(duì)于要求較高的網(wǎng)絡(luò)分析工具還要添加復(fù)雜的協(xié)議解析功能,有的還要添加專家診斷功能。這些功能都是在圖1-11所示的基本功能之上所進(jìn)行的擴(kuò)展,本書中就不重點(diǎn)介紹了。圖1-11網(wǎng)絡(luò)分析工具的重要功能框圖由圖1-11所示可知,一個(gè)網(wǎng)絡(luò)分析工具首先需要從系統(tǒng)網(wǎng)絡(luò)適配器列表中選擇合適的網(wǎng)絡(luò)適配器,接著需要打開所選的網(wǎng)絡(luò)適配器。這樣就可以在該網(wǎng)絡(luò)適配器上執(zhí)行數(shù)據(jù)包發(fā)送、對(duì)過濾后的數(shù)據(jù)包執(zhí)行數(shù)據(jù)捕獲或統(tǒng)計(jì)工作了,同時(shí),還可以對(duì)捕獲的數(shù)據(jù)包進(jìn)行文件存儲(chǔ)。執(zhí)行結(jié)束后即可關(guān)閉對(duì)應(yīng)的網(wǎng)絡(luò)適配器。對(duì)于存儲(chǔ)的數(shù)據(jù)包文件可單獨(dú)執(zhí)行文件打開操作。如果需要把文件中的數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)上,也需要執(zhí)行網(wǎng)絡(luò)適配器的相關(guān)操作。在上述功能的實(shí)現(xiàn)上,對(duì)于一個(gè)優(yōu)異的網(wǎng)絡(luò)分析工具來說,性能是關(guān)鍵。通常,類似于Wireshark之類的網(wǎng)絡(luò)分析器,都會(huì)直接調(diào)用底層庫(Windows平臺(tái)下為WinPcap庫,Linux平臺(tái)下為libpcap庫)來實(shí)現(xiàn)這些功能。這樣,性能問題就由底層庫來負(fù)責(zé)處理了,而Wireshark主要負(fù)責(zé)協(xié)議解析與圖形界面顯示等相關(guān)的工作。圖1-12所示為在Windows平臺(tái)上Wireshark與WinPcap的依賴關(guān)系。圖1-12Windows平臺(tái)上Wireshark與WinPcap的依賴關(guān)系我們將在后續(xù)的章節(jié)中圍繞圖1-11所示的這些重要功能,來分析網(wǎng)絡(luò)分析器中這些功能的設(shè)計(jì)難點(diǎn)、實(shí)現(xiàn)難點(diǎn),并講解具體的實(shí)現(xiàn)與實(shí)際使用方法。1.9Wireshark的概述、安裝與使用在本書中將采用Wireshark進(jìn)行輔助的網(wǎng)絡(luò)分析,所以要求讀者能夠簡單地使用該工具軟件,下面將對(duì)Wireshark進(jìn)行簡要介紹。詳細(xì)的信息請參見Wireshark網(wǎng)站。1.9.1Wireshark的概述Wireshark是一款網(wǎng)絡(luò)分析器,用來捕獲數(shù)據(jù)包,并盡可能詳細(xì)地顯示數(shù)據(jù)包的內(nèi)容。Wireshark是一款較好的開源的網(wǎng)絡(luò)分析器。以下是一些使用Wireshark的例子:?網(wǎng)絡(luò)管理員使用Wireshark來檢測網(wǎng)絡(luò)問題。?網(wǎng)絡(luò)安全工程師使用Wireshark來檢查網(wǎng)絡(luò)安全問題。?開發(fā)者使用Wireshark為新的通信協(xié)議除錯(cuò)。?普通使用者使用Wireshark來學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的相關(guān)知識(shí)。除了上述例子外,Wireshark還能對(duì)其他一些應(yīng)用提供幫助。Wireshark的主要特性如下:?支持UNIX、Linux與Windows平臺(tái)。?從網(wǎng)絡(luò)接口上捕獲數(shù)據(jù)包。?顯示數(shù)據(jù)包詳細(xì)的協(xié)議信息。?可以存儲(chǔ)與打開所獲得的數(shù)據(jù)包。?可在大量其他的捕獲軟件之間導(dǎo)入與導(dǎo)出數(shù)據(jù)包。?使用許多標(biāo)準(zhǔn)過濾數(shù)據(jù)包。?使用許多標(biāo)準(zhǔn)查找數(shù)據(jù)包。?基于過濾器著色顯示數(shù)據(jù)包。?創(chuàng)建各種統(tǒng)計(jì)信息。Wireshark不支持以下功能:?Wireshark不是入侵檢測軟件。對(duì)于網(wǎng)絡(luò)上的異常流量行為,Wireshark不會(huì)產(chǎn)生警示或任何提示。不過,仔細(xì)分析Wireshark捕獲的數(shù)據(jù)包,可以幫助使用者更清楚地了解網(wǎng)絡(luò)行為。如果發(fā)生了異常事件,Wireshark可以幫助找出具體發(fā)生了什么事。?Wireshark不會(huì)操控網(wǎng)絡(luò)上的事情,它只會(huì)“度量”網(wǎng)絡(luò)上的事情。Wireshark本身也不會(huì)發(fā)送數(shù)據(jù)包到網(wǎng)絡(luò)上。1.9.2Wireshark的安裝在Windows平臺(tái)上安裝Wireshark非常容易,基本上是直接不停單擊Next>按鈕即可。在安裝Wireshark的過程中,正確選擇并安裝WinPcap庫非常重要,若出錯(cuò),則Wireshark無法正常使用。從Wireshark軟件的官方網(wǎng)站下載Wireshark安裝包。單擊可執(zhí)行文件,彈出啟動(dòng)安裝的界面。選擇典型組件及安裝路徑,開始安裝Wireshark。這時(shí),軟件會(huì)提示"InstallWinPcap4.0.2"等信息,選擇該復(fù)選框,如圖1-13所示。圖1-13選擇安裝WinPcap4.0.2庫的界面單擊Install按鈕開始安裝WinPcap,如圖1-14所示。圖1-14開始安裝WinPcap的界面安裝完畢,即可看到相關(guān)的提示?,F(xiàn)在,就可以使用Wireshark了。1.9.3Wireshark的使用1.啟動(dòng)Wireshark安裝結(jié)束后可以直接從桌面(雙擊Wireshark的快捷方式)或“開始程序”菜單(單擊[開始]→[所有程序]→[Wireshark]→[Wireshark]菜單命令)中啟動(dòng)Wireshark。圖1-15所示為Wireshark的主窗口界面。圖1-15Wireshark的主窗口界面2.捕獲數(shù)據(jù)包執(zhí)行[Capture]→[Interfaces...]菜單命令,彈出網(wǎng)絡(luò)接口的選擇界面,如圖1-16所示。圖1-16網(wǎng)絡(luò)接口的選擇界面此時(shí)單擊第二個(gè)接口右邊的Start按鈕,即可開始捕獲數(shù)據(jù)包了。圖1-17所示為捕獲數(shù)據(jù)包的界面。圖1-17數(shù)據(jù)包捕獲界面執(zhí)行[Capture]→[Stop]菜單命令,將停止數(shù)據(jù)包捕獲。3.數(shù)據(jù)包統(tǒng)計(jì)執(zhí)行[Statistics]→[Summary]菜單命令,彈出數(shù)據(jù)包統(tǒng)計(jì)界面,如圖1-18所示。圖1-18數(shù)據(jù)包統(tǒng)計(jì)界面4.保存與打開數(shù)據(jù)包文件執(zhí)行[File]→[SaveAs...]菜單命令可將捕獲的數(shù)據(jù)包存儲(chǔ)到一個(gè)文件中。執(zhí)行[File]→[Open...]菜單命令可將存儲(chǔ)到文件中的數(shù)據(jù)包回放、顯示出來。5.數(shù)據(jù)包過濾在主界面的過濾器(Filter)設(shè)置欄中可設(shè)置數(shù)據(jù)包顯示與捕獲的過濾條件,如圖1-19所示。圖1-19數(shù)據(jù)包過濾器設(shè)置欄單擊圖1-19中所示的Expression...按鈕,彈出過濾器設(shè)置對(duì)話框,如圖1-20所示。圖1-20過濾器設(shè)置對(duì)話框在此以捕獲與顯示IP源地址為5的數(shù)據(jù)包為例,設(shè)置過濾器,如圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024離婚后子女撫養(yǎng)權(quán)與贍養(yǎng)費(fèi)補(bǔ)充合同樣本一
- 2025版智慧城市基礎(chǔ)設(shè)施建設(shè)聯(lián)營合作協(xié)議3篇
- 2025年寧波下載貨運(yùn)從業(yè)資格證模擬考試系統(tǒng)試題
- 2025年度企業(yè)環(huán)境管理體系認(rèn)證合同樣本
- 二零二五年度工程合同管理與招投標(biāo)實(shí)訓(xùn)操作手冊編制合同
- 二零二五年度多層復(fù)合木地板批發(fā)承包合同范本2篇
- 2025年度牛肉產(chǎn)業(yè)鏈上游運(yùn)輸服務(wù)合同2篇
- 2025版掘進(jìn)機(jī)租賃及配套配件供應(yīng)綜合服務(wù)合同3篇
- 2025年成都事業(yè)單位勞動(dòng)合同范本(含社會(huì)保險(xiǎn)繳納說明)
- 2024年生物制藥研發(fā)與生產(chǎn)許可合同標(biāo)的
- 2024中國工業(yè)品電商采購白皮書
- 建筑垃圾外運(yùn)施工方案
- 公安機(jī)關(guān)保密協(xié)議
- 2024年東方雨虹戰(zhàn)略合作協(xié)議書模板
- 2024年江蘇省南京旅游集團(tuán)本部人員招聘2人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 實(shí)驗(yàn)室信息管理系統(tǒng)LIMS調(diào)研報(bào)告
- 體育賽事組織與執(zhí)行手冊
- 2024年中國社會(huì)科學(xué)院外國文學(xué)研究所專業(yè)技術(shù)人員招聘3人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024-2030年中國海關(guān)信息化行業(yè)市場深度分析與發(fā)展前景預(yù)測研究報(bào)告
- 2023-2024學(xué)年內(nèi)蒙古名校聯(lián)盟高二下學(xué)期教學(xué)質(zhì)量檢測語文試題(解析版)
- 職業(yè)咖啡比賽方案策劃書
評(píng)論
0/150
提交評(píng)論