版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
編寫自己的網絡嗅探器1國家計算機網絡入侵防范中心陳深龍、劉奇旭主要內容2實驗介紹開發(fā)前準備工作配置開發(fā)環(huán)境用WinPcap捕獲數(shù)據(jù)包分析數(shù)據(jù)包實驗過程中可能遇到的問題實驗要求一、實驗介紹3實驗目的實驗內容當前流行的嗅探器以前學生開發(fā)的嗅探器實驗目的通過開發(fā)基于WinPcap的嗅探器,掌握嗅探器的工作原理,熟悉WinPcap的使用,掌握基于WinPcap網絡嗅探器的開發(fā)過程。4實驗內容開發(fā)出一個Windows平臺上的Sniffer工具,能顯示所捕獲的數(shù)據(jù)包并能做相應的分析和統(tǒng)計。主要內容如下:列出監(jiān)測主機的所有網卡,選擇一個網卡,設置為混雜模式進行監(jiān)聽。捕獲所有流經網卡的數(shù)據(jù)包,并利用WinPcap函數(shù)庫設置過濾規(guī)則。分析捕獲到的數(shù)據(jù)包的包頭和數(shù)據(jù),按照各種協(xié)議的格式進行格式化顯示。將所開發(fā)工具的捕獲和分析結果與常用的Sniffer進行比較,完善程序代碼。5當前流行的嗅探器當前公認的比較好的嗅探器有WiresharkSniffer
Pro6Wireshark主界面7控制列封包總覽封包內容十六進制碼Sniffer
Pro主界面8控制列封包總覽封包內容十六進制碼以前學生的嗅探器優(yōu)秀作品1主界面設置過濾器優(yōu)秀作品29優(yōu)秀作品1—主界面10優(yōu)秀作品1—設置過濾器11作秀作品212數(shù)據(jù)包統(tǒng)計信息數(shù)據(jù)包分析十六進制碼數(shù)據(jù)包列表二、開發(fā)前準備工作13開發(fā)工具不可或缺的環(huán)境WinPcap簡介WinPcap功能WinPcap架構WinPcap入門參考資源WinPcap經典論文開發(fā)工具開發(fā)語言:C++集成開發(fā)環(huán)境vc6.02003~201014不可或缺的環(huán)境WinPcapV4.1.2:/install/bin/WinPcap_4_1_2.exe驅動程序、Dll文件WinPcapV4.1.2Developer’sPack:/install/bin/WpdPack_4_1_2.zip庫文件、頭文件、簡單的示例程序代碼和幫助文件15WinPcap簡介WinPcap(WindowsPacketCapture)是Windows平臺下的鏈路層網絡訪問工具,其目的在于為Windows應用程序提供訪問網絡底層的能力。官方網站:當前的版本Stablerelease
WinPcap4.1.2Latestrelease
WinPcap4.1.2
16WinPcap的功能獲得網卡設備列表及其高級信息打開一個網卡適配器并將其設置成混雜模式捕獲數(shù)據(jù)包設置過濾器將數(shù)據(jù)包存儲為文件并處理離線文件發(fā)送數(shù)據(jù)包收集網絡通信流量的統(tǒng)計信息但是,WinPcap不能修改數(shù)據(jù)包或者攔截數(shù)據(jù)包17WinPcap架構NPF,NetgroupPacketFilter,內核級的數(shù)據(jù)報過濾器packet.dll,底層的動態(tài)連接庫wpcap.dll,架構在packet.dll之上,提供了更方便、更直接的編程方法18架構圖
19WinPcap架構之NPFNPF是WinPcap的核心部件,它處理網絡傳輸?shù)臄?shù)據(jù)包,并向應用層提供捕捉、發(fā)送和分析數(shù)據(jù)包的服務20WinPcap架構之packet.dllpacket.dll是一個提供了一系列底層函數(shù)的動態(tài)鏈接庫,功能包括:安裝、啟動和停止NPF驅動設備對網絡數(shù)據(jù)包進行嗅探發(fā)送原始的數(shù)據(jù)報獲取網卡列表和每一個網絡的相關信息對網卡查詢和設置底層參數(shù)21WinPcap架構之wpcap.dllWpcap.dll是一個含有WinPcap公共API的動態(tài)鏈接庫,它導出一系列函數(shù)供捕獲網絡數(shù)據(jù)包和分析網絡,功能包括:對網絡數(shù)據(jù)包進行嗅探發(fā)送原始的數(shù)據(jù)報獲取網卡列表和每一個網絡的相關信息將數(shù)據(jù)包信息保存到磁盤在更高層上創(chuàng)建包過濾規(guī)則并應用到底層22WinPcap入門參考資源WinPcap技術手冊V4.1.2(anofflineversioncanbefoundinthedeveloper'spack):/docs/docs_412/index.htmlWinPcap中文技術手冊V4.01(翻譯版):/WinPcap/23Winpcap經典論文[1]FulvioRisso,LorisDegioanni,AnArchitectureforHighPerformanceNetworkAnalysis.Proceedingforthe6thIEEESymposiumonComputersandCommunications(ISCC2001).HammmametJuly2001[2]LorisDegioanni,MarioBaldi,FulvioRisso,andGianlucaVarenn.ProfilingandOptimizationofSoftware-BasedNetworkAnalysisApplications24三、配置開發(fā)環(huán)境25在此我們用VC6.0所建的工程為例進行講解添加頭文件目錄添加庫文件目錄增加與WinPcap有關的預處理定義添加pcap.h頭文件添加wpcap.lib庫文件編譯并運行測試代碼添加頭文件目錄添加頭文件目錄:ToolsOptionsDerectoriesIncludefiles添加WinPcap開發(fā)包中的Include目錄26添加庫文件目錄添加庫文件目錄:ToolsOptionsDerectoriesLibraryfiles添加WinPcap開發(fā)包中的Lib目錄27增加與WinPcap有關的預處理定義增加預處理定義:WPCAP和HAVE_REMOTEProjectSettingC/C++Preprocessor28添加pcap.h頭文件在使用WinPcap函數(shù)的所有源文件中添加pcap.h“#include"pcap.h”29添加Wpcap.lib庫文件添加wpcap.lib庫文件Projectsettinglink加入wpcap.lib30編譯并運行測試代碼測試代碼:/docs/docs_412/html/group__wpcapsamps.html(使用PacketDump代碼)請根據(jù)你所建的工程類型修改這段代碼如果建的是MFCApplication,那么請修改printf等函數(shù)如果建的是ConsoleApplication,那么可以不用修改31編譯并運行測試代碼(續(xù))在ConsoleApplication下,運行結果如圖所示,這說明環(huán)境已經配置成功。32四、用WinPcap捕獲數(shù)據(jù)包33用WinPcap捕獲數(shù)據(jù)包的流程打開網絡接口設置過濾器捕獲網絡數(shù)據(jù)包釋放該設備列表用WinPcap捕獲數(shù)據(jù)包的流程34pcap_freealldevs打開網絡接口35pcap_t*pcap_open_live(constchar*
device,int
snaplen,int
promisc,int
to_ms,char*
ebuf};設置過濾器intpcap_setfilter(
pcap_t*p, structbpf_program*fp )36intpcap_compile(
pcap_t*p, structbpf_program*fp, char*str, intoptimize, bpf_u_int32netmask )捕獲網絡數(shù)據(jù)包37intpcap_next_ex( pcap_t*p, structpcap_pkthdr**pkt_header, u_char**pkt_data};釋放該設備列表38voidpcap_freealldevs(pcap_if_t*alldevsp);五、分析數(shù)據(jù)包39TCP/IP分層體系結構以太網中數(shù)據(jù)包的封裝以太網幀格式IP數(shù)據(jù)報格式TCP數(shù)據(jù)報格式字節(jié)順序以太網幀和IP數(shù)據(jù)報的結構定義例:提取源IP地址和目的IP地址TCP/IP分層體系結構40以太網中數(shù)據(jù)包的封裝41Wireshark對數(shù)據(jù)包各層協(xié)議的分析:以太網幀格式目的地址:目的MAC地址 6Byte源地址:源MAC地址 6Byte類型:表示上層協(xié)議類型 2Byte0800H:IP0806H:ARP8035H:RARP數(shù)據(jù)字段:用于攜帶上層數(shù)據(jù)
長度可變CRC:幀校驗字段 4Byte42以太網幀格式以下是Wireshark對數(shù)據(jù)包以太幀頭的分析:43IP數(shù)據(jù)報格式441:ICMP;6:TCP;17:UDPIP數(shù)據(jù)報格式以下是Wireshark對數(shù)據(jù)包的IP數(shù)據(jù)報頭的分析:45TCP數(shù)據(jù)報格式46TCP數(shù)據(jù)報格式以下是Wireshark對數(shù)據(jù)包的TCP數(shù)據(jù)報頭的分析:47以太網幀和IP數(shù)據(jù)報的結構定義48typedefstructFrameHeader_t{//幀首部
BYTE DesMAC[6]; //目的地址
BYTESrcMAC[6]; //源地址
WORDFrameType; //幀類型}FrameHeader_t;typedefstructIPHeader_t{//IP首部
BYTE Ver_HLen; BYTE TOS; WORD TotalLen; WORD ID; WORD Flag_Segment; BYTE TTL; BYTE Protocol; WORD Checksum; ULONG SrcIP; ULONG DstIP;}IPHeader_t;typedefstructData_t{ //包含幀首部和IP首部的數(shù)據(jù)包
FrameHeader_t FrameHeader; IPHeader_t IPHeader;}Data_t;六、實驗過程中可能遇到的問題多線程給窗口發(fā)送消息數(shù)據(jù)包分片重組嗅探到網頁時,漢字的顯示問題字節(jié)順序網絡序→主機序u_shortntohs(u_shortnetshort)u_longntohl(u_longnetlong)主機序→網絡序u_shorthtons(u_shorthostshort)u_longhtonl(u_longhostlong)49例:提取源IP地址和目的IP地址50Data_t *IPPacket;ULONG SourceIP,DestinationIP;……IPPacket=(Data_t*)pkt_data;……SourceIP=ntohl(IPPacket->IPHeader.SrcIP);DestinationIP=ntohl(IPPacket->IPHeader.DstIP);……字節(jié)順序網絡序→主機序u_shortntohs(u_shortnetshort)u_longntohl(u_longnetlong)主機序→網絡序u_shorthtons(u_shorthostshort)u_longhtonl(u_longhostlong)51七、實驗要求52程序要求實驗報告要求程序要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 11073-2025硅片徑向電阻率變化測量方法
- 常州市溧陽中學高三地理一輪復習第二章城市化作業(yè)
- 2025年高職模具設計與制造(復雜模具設計)試題及答案
- 大學(臨床醫(yī)學)兒科學基礎2026年試題及答案
- 2025年中職(烹飪工藝)宴席菜品設計階段測試題及答案
- 2025年大學大一(輪機工程)輪機自動化試題及答案
- 2025年高職(船舶電子電氣技術)船舶電氣設備試題及答案
- 2025年大學測繪工程(地圖注記設計)試題及答案
- 2025年大學大二(種子科學與工程)種子生產學基礎試題及答案
- 2025年中職(健康服務與管理)健康檔案管理試題及答案
- NB/T 11440-2023生產煤礦儲量估算規(guī)范
- 潔凈工廠設計合同范本
- 無人機應用技術專業(yè)申報表
- PDCA提高臥床患者踝泵運動的執(zhí)行率
- 蔣詩萌小品《誰殺死了周日》臺詞完整版
- JB T 6527-2006組合冷庫用隔熱夾芯板
- 浙江億利達科技有限公司年產35萬臺車載充電機及10萬臺DC-DC轉換器技術改造項目環(huán)境影響報告
- 食品檢測技術專業(yè)人才需求調研報告
- 報價單(報價單模板)
- 5-1 認識傳感器 課件 高中物理新教科版選擇性必修第二冊(2022~2023學年)
- 常用的個人簡歷表格
評論
0/150
提交評論