百科解釋
winpcap(windows packet capture)是windows平臺(tái)下一個(gè)免費(fèi),公共的網(wǎng)絡(luò)訪問(wèn)系統(tǒng)。 開(kāi)發(fā)winpcap這個(gè)項(xiàng)目的目的在于為win32應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)底層的能力。它提供了以下的各項(xiàng)功能: 1> 捕獲原始數(shù)據(jù)報(bào),包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)報(bào); 2> 在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過(guò)濾掉; 3> 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào); 4> 收集網(wǎng)絡(luò)通信過(guò)程中的統(tǒng)計(jì)信息。 winpcap的主要功能在于獨(dú)立于主機(jī)協(xié)議(如TCP/IP)而發(fā)送和接收原始數(shù)據(jù)報(bào)。也就是說(shuō),winpcap不能阻塞,過(guò)濾或控制其他應(yīng)用程序數(shù)據(jù)報(bào)的發(fā)收,它僅僅只是監(jiān)聽(tīng)共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)報(bào)。因此,它不能用于QoS調(diào)度程序或個(gè)人防火墻。目前,winpcap開(kāi)發(fā)的主要對(duì)象是windows NT/2000/XP,這主要是因?yàn)樵谑褂脀inpcap的用戶中只有一小部分是僅使用windows 95/98/Me,并且微軟也已經(jīng)放棄了對(duì)win9x的開(kāi)發(fā)。因此本文相關(guān)的程序T-ARP也是面向NT/2000/XP用戶的。其實(shí)winpcap中的面向9x系統(tǒng)的概念和NT系統(tǒng)的非常相似,只是在某些實(shí)現(xiàn)上有點(diǎn)差異,比如說(shuō)9x只支持ANSI編碼,而NT系統(tǒng)則提倡使用Unicode編碼。有個(gè)軟件叫sniffer pro.可以作網(wǎng)管軟件用,有很多功能,可監(jiān)視網(wǎng)絡(luò)運(yùn)行情況,每臺(tái)網(wǎng)內(nèi)機(jī)器的數(shù)據(jù)流量,實(shí)時(shí)反映每臺(tái)機(jī)器所訪問(wèn)IP以及它們之間的數(shù)據(jù)流通情況,可以抓包,可對(duì)過(guò)濾器進(jìn)行設(shè)置,以便只抓取想要的包,比如POP3包,smtp包,ftp包等,并可從中找到郵箱用戶名和密碼,還有ftp用戶名和密碼.它還可以在使用交換機(jī)的網(wǎng)絡(luò)上監(jiān)聽(tīng),不過(guò)要在交換機(jī)上裝它的一個(gè)軟件.還有一個(gè)簡(jiǎn)單的監(jiān)聽(tīng)軟件叫 Passwordsniffer,可截獲郵箱用戶名和密碼,還有ftp用戶名和密碼,它只能用在用HUB網(wǎng)絡(luò)上著名軟件tcpdump及ids snort都是基于libpcap編寫(xiě)的,此外Nmap掃描器也是基于libpcap來(lái)捕獲目標(biāo)主機(jī)返回的數(shù)據(jù)包的。 WinPcap是用于網(wǎng)絡(luò)封包抓取的一套工具,可適用于32位的操作平臺(tái)上解析網(wǎng)絡(luò)封包,包含了核心的封包過(guò)濾,一個(gè)底層動(dòng)態(tài)鏈接庫(kù),和一個(gè)高層系統(tǒng)函數(shù)庫(kù),及可用來(lái)直接存取封包的應(yīng)用程序界面。 Winpcap是一個(gè)免費(fèi)公開(kāi)的軟件系統(tǒng)。它用于windows系統(tǒng)下的直接的網(wǎng)絡(luò)編程。 大多數(shù)網(wǎng)絡(luò)應(yīng)用程序訪問(wèn)網(wǎng)絡(luò)是通過(guò)廣泛使用的套接字。這種方法很容易實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸,因?yàn)椴僮飨到y(tǒng)負(fù)責(zé)底層的細(xì)節(jié)(比如協(xié)議棧,數(shù)據(jù)流組裝等)以及提供了類似于文件讀寫(xiě)的函數(shù)接口。 但是有時(shí),簡(jiǎn)單的方法是不夠的。因?yàn)橐恍⿷?yīng)用程序需要一個(gè)底層環(huán)境去直接操縱網(wǎng)絡(luò)通信。因此需要一個(gè)不需要協(xié)議棧支持的原始的訪問(wèn)網(wǎng)絡(luò)的方法。 winpcap適用于下面的開(kāi)發(fā)者: 1、捕獲原始數(shù)據(jù)包。不管這個(gè)包是發(fā)往本地機(jī),還是其他機(jī)器之間的交換包。 2、在數(shù)據(jù)包被發(fā)送到應(yīng)用程序之前,通過(guò)用戶定義的規(guī)則過(guò)濾。 3、向網(wǎng)絡(luò)發(fā)送原始數(shù)據(jù)包。 4、對(duì)網(wǎng)絡(luò)通信量做出統(tǒng)計(jì)。 這些功能依賴于Win32系統(tǒng)內(nèi)核中的設(shè)備驅(qū)動(dòng)以及一些動(dòng)態(tài)鏈接庫(kù)。 Winpcap提供了一個(gè)強(qiáng)大的編程接口,它很容易地在各個(gè)操作系統(tǒng)之間進(jìn)行移植,也很方便程序員進(jìn)行開(kāi)發(fā)。 什么樣的程序需要使用Winpcap 很多不同的工具軟件使用Winpcap于網(wǎng)絡(luò)分析,故障排除,網(wǎng)絡(luò)安全監(jiān)控等方面。Winpcap特別適用于下面這幾個(gè)經(jīng)典領(lǐng)域: 1、網(wǎng)絡(luò)及協(xié)議分析 2、網(wǎng)絡(luò)監(jiān)控 3、通信日志記錄 4、traffic generators 5、用戶級(jí)別的橋路和路由 6、網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS) 7、網(wǎng)絡(luò)掃描 8、安全工具 Winpcap有些方面不能做。它不依靠主機(jī)的諸如TCP/IP協(xié)議去收發(fā)數(shù)據(jù)包。這意味著它不能阻塞,不能處理同一臺(tái)主機(jī)中各程序之間的通信數(shù)據(jù)。它只能“嗅探”到物理線路上的數(shù)據(jù)報(bào)。因此它不適用于traffic shapers,QoS調(diào)度,以及個(gè)人防火墻。 Winpcap內(nèi)部結(jié)構(gòu) Winpcap是一個(gè)Win32平臺(tái)下用于抓包和分析的系統(tǒng)。包括一個(gè)內(nèi)核級(jí)別的packet filter,一個(gè)底層的DLL(packet.dll)和一個(gè)高級(jí)的獨(dú)立于系統(tǒng)的DLL(Wpcap.dll) 1、捕獲系統(tǒng)要能得到網(wǎng)絡(luò)上原始傳輸數(shù)據(jù)必須繞過(guò)協(xié)議棧。這就需要一個(gè)?爝\(yùn)行于操作系統(tǒng)內(nèi)核,與網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)接口直接打交道。這一部分極端依賴系統(tǒng),也被認(rèn)為是一種設(shè)備驅(qū)動(dòng)。現(xiàn)有版本有Windows 85,98,ME,NT 4,2000,Xp。這些驅(qū)動(dòng)提供一些如數(shù)據(jù)包的捕獲與發(fā)送這些基本功能,還提供一些高級(jí)的可編程的過(guò)濾系統(tǒng)和監(jiān)控引擎。過(guò)濾系統(tǒng)可以約束只捕獲特定的數(shù)據(jù)包(比如,只捕獲特定主機(jī)發(fā)送的FTP報(bào)文)。監(jiān)控引擎提供了一種強(qiáng)大但簡(jiǎn)單的使用機(jī)制去獲得網(wǎng)絡(luò)通信的統(tǒng)計(jì)荷載數(shù)據(jù)。 2、捕獲系統(tǒng)要讓用戶程序使用內(nèi)核提供的功能必須要有一個(gè)編程接口。Winpcap提供了兩個(gè)不同的庫(kù):packet.dll 和wpcap.dll。 packet.dll提供一個(gè)底層的API,通過(guò)這個(gè)API可直接訪問(wèn)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),而獨(dú)立于Microsoft OS. wpcap.dll是一個(gè)高層的強(qiáng)大捕獲程序庫(kù),與Unix下的libpcap兼容。它獨(dú)立于下層的網(wǎng)絡(luò)硬件和操作系統(tǒng)。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助