亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

17站長網(wǎng) 首頁 安全 安全教程 查看內(nèi)容

詳細(xì)介紹如何捕獲網(wǎng)絡(luò)數(shù)據(jù)包

2022-9-24 09:44| 查看: 1790 |來源: 互聯(lián)網(wǎng)

經(jīng)常看到論壇有人問起關(guān)于數(shù)據(jù)包的截獲、分析等問題,幸好本人也對此略有所知,也寫過很多的sniffer,所以就想寫一系列的文章來詳細(xì)深入的探討關(guān)于數(shù)據(jù)包的知識 ...

經(jīng)常看到論壇有人問起關(guān)于數(shù)據(jù)包的截獲、分析等問題,幸好本人也對此略有所知,也寫過很多的sniffer,所以就想寫一系列的文章來詳細(xì)深入的探討關(guān)于數(shù)據(jù)包的知識。
我希望通過這一系列的文章,能使得關(guān)于數(shù)據(jù)包的知識得以普及,所以這系列的每一篇文章我都會有由淺入深的解釋、詳細(xì)的分析、以及編碼步驟,另外附上帶有詳細(xì)注釋的源碼(為了照顧大多數(shù)朋友,我提供的都是MFC的源碼)。
不過由于也是初學(xué)者,疏漏之處還望不吝指正。
本文凝聚著筆者心血,如要轉(zhuǎn)載,請指明原作者及出處,謝謝!^_^
 
OK,. Let’s go !  Have fun!! q^_^p
 
第二篇   手把手教你捕獲數(shù)據(jù)包
目錄:
一.捕獲數(shù)據(jù)包的實(shí)現(xiàn)原理
二.捕獲數(shù)據(jù)包的編程實(shí)現(xiàn):
1.   raw socket的實(shí)現(xiàn)方法
2.   Winpcap的實(shí)現(xiàn)方法
a.      枚舉本機(jī)網(wǎng)卡的信息
b.      打開相應(yīng)網(wǎng)卡并設(shè)置為混雜模式
c.       截獲數(shù)據(jù)包并保存為文件
 
作者:
CSDN  VC/MFC 網(wǎng)絡(luò)編程版主 PiggyXP  
 
一.捕獲數(shù)據(jù)包的實(shí)現(xiàn)原理:--------------------------------------------------------------------
在通常情況下,網(wǎng)絡(luò)通信的套接字程序只能響應(yīng)與自己硬件地址相匹配的或是以廣播形式發(fā)出的數(shù)據(jù)幀,對于其他形式的數(shù)據(jù)幀比如已到達(dá)網(wǎng)絡(luò)接口但卻不是發(fā)給此地址的數(shù)據(jù)幀,網(wǎng)絡(luò)接口在驗(yàn)證投遞地址并非自身地址之后將不引起響應(yīng),也就是說應(yīng)用程序無法收取與自己無關(guān)的的數(shù)據(jù)包。
所以我們要想實(shí)現(xiàn)截獲流經(jīng)網(wǎng)絡(luò)設(shè)備的所有數(shù)據(jù)包,就要采取一點(diǎn)特別的手段了:
將網(wǎng)卡設(shè)置為混雜模式。
這樣一來,該主機(jī)的網(wǎng)卡就可以捕獲到所有流經(jīng)其網(wǎng)卡的數(shù)據(jù)包和幀。
但是要注意一點(diǎn),這種截獲僅僅是數(shù)據(jù)包的一份拷貝,而不能對其進(jìn)行截斷,要想截斷網(wǎng)絡(luò)流量就要采用一些更底層的辦法了,不在本文的討論范圍之內(nèi)。
 
二. 捕獲數(shù)據(jù)包的編程實(shí)現(xiàn):
1.raw socket的實(shí)現(xiàn)方法--------------------------------------------------------------------
不同于我們常用的數(shù)據(jù)流套接字和數(shù)據(jù)報套接字,在創(chuàng)建了原始套接字后,需要用WSAIoctl()函數(shù)來設(shè)置一下,它的定義是這樣的  
int WSAIoctl(
 SOCKET s,
 DWORD dwIoControlCode,
 LPVOID lpvInBuffer,
 DWORD cbInBuffer,
 LPVOID lpvOutBuffer,
 DWORD cbOutBuffer,
 LPDWORD lpcbBytesReturned,
 LPWSAOVERLAPPED lpOverlapped,
 LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
雖然咋一看參數(shù)比較多,但是其實(shí)我們最關(guān)心的只是其中的第二項(xiàng)而已,我們需要做的就是把第二項(xiàng)設(shè)置為SIO_RCVALL,講了這么多其實(shí)要做的就是這么一行代碼,很簡單吧?^_^  
當(dāng)然我們還可以指定是否親自處理IP頭,但是這并不是必須的。
完整的代碼類似與如下這樣,加粗的代碼是與平常不同的需要注意的地方:
( 為了讓代碼一目了然,我把錯誤處理去掉了,下同)
 
#include “WinSock2.h”
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
 
SOCKET SnifferSocket
 WSADATA wsaData;
 iFlag=WSAStartup(MAKEWORD(2,2),&wsaData);           //開啟winsock.dll
 
SnifferSocket=WSASocket(AF_INET,             //創(chuàng)建raw  socket
SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED);
 
 char FAR name[128];                                //獲取本機(jī)IP地址
gethostname(name, sizeof(name));
 struct hostent FAR * pHostent;
 pHostent = gethostbyname(name);
 
 SOCKADDR_IN sa;                           //填充SOCKADDR_IN結(jié)構(gòu)的內(nèi)容
 sa.sin_family = AF_INET;
 sa.sin_port = htons(6000);           // 端口號可以隨便改,當(dāng)然與當(dāng)然系統(tǒng)不能沖突
 memcpy(&(sa.sin_addr),pHostent->h_addr,pHostent->h_length);
 
bind(SnifferSocket,(LPSOCKADDR)&sa,sizeof(sa));            //綁定
 // 置ioctl來接收所有網(wǎng)絡(luò)數(shù)據(jù),關(guān)鍵步驟
 DWORD dwBufferLen[10] ;
 DWORD dwBufferInLen = 1 ;
 DWORD dwBytesReturned = 0 ;
 WSAIoctl(SnifferSocket, IO_RCVALL,&dwBufferInLen, izeof(dwBufferInLen),
&dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL );
至此,實(shí)際就可以開始對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行嗅探了,而對于數(shù)據(jù)包的接收還是和普通的socket一樣,通過recv()函數(shù)來完成,因?yàn)檫@里涉及到不同的socket模型,接收方法差別很大,所以在此就不提供接收的代碼了。
 
2.winpcap的實(shí)現(xiàn)方法:-----------------------------------------------------------------------
winpcap驅(qū)動包,是我們玩轉(zhuǎn)數(shù)據(jù)包不可或缺的好東東,winpcap的主要功能在于獨(dú)立于主機(jī)協(xié)議(如TCP-IP)而發(fā)送和接收原始數(shù)據(jù)報,主要為我們提供了四大功能:
功能:
1> 捕獲原始數(shù)據(jù)報,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)報;
2> 在數(shù)據(jù)報發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報過濾掉;
3> 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報;
4> 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計(jì)信息
如果環(huán)境允許的話(比如你做的不是木馬程序),我還是推薦大家用winpcap來截獲數(shù)據(jù)包,因?yàn)樗墓δ芨鼜?qiáng)大,工作效率更高,唯一的缺點(diǎn)就是在運(yùn)行用winpcap開發(fā)的程序以前,都要在主機(jī)上先安裝winpcap的driver。
而且一會我們就會發(fā)現(xiàn)它比raw socket功能強(qiáng)大的多,而且工作得更為底層,最明顯的理由就是raw socket捕獲的數(shù)據(jù)包是沒有以太頭的,此乃后話。
至于怎么來安裝使用,請參考本系列的系列一《手把手教你玩轉(zhuǎn)ARP包中的》,里面有詳細(xì)的加載winpcap驅(qū)動的方法^_^
廢話不多說了,讓我們轉(zhuǎn)入正題, 具體用winpcap來截獲數(shù)據(jù)包需要做如下的一些工作:
A . 枚舉本機(jī)網(wǎng)卡的信息(主要是獲得網(wǎng)卡的名稱)
  其中要用到pcap_findalldevs函數(shù),它是這樣定義的
  /*************************************************
int pcap_findalldevs  (  pcap_if_t **    alldevsp,  
char *    errbuf  
 )  
功能:
枚舉系統(tǒng)所有網(wǎng)絡(luò)設(shè)備的信息
參數(shù):  alldevsp:  是一個pcap_if_t結(jié)構(gòu)體的指針,如果函數(shù)pcap_findalldevs函數(shù)執(zhí)行成功,將獲得一個可用網(wǎng)卡的列表,而里面存儲的就是第一個元素的指針。
Errbuf:    存儲錯誤信息的字符串
返回值: int :   如果返回0 則執(zhí)行成功,錯誤返回 -1。
 *************************************************/
  我們利用這個函數(shù)來獲得網(wǎng)卡名字的完整代碼如下:
 
  pcap_if_t* alldevs;
  pcap_if_t* d;
  char errbuf[PCAP_ERRBUF_SIZE];
  pcap_findalldevs(&alldevs,errbuf);       // 獲得網(wǎng)絡(luò)設(shè)備指針
  for(d=alldevs;d;d=d->next)               // 枚舉網(wǎng)卡然后添加到ComboBox中
  {
d->name;                            // d->name就是我們需要的網(wǎng)卡名字字符串,按照你// 自己的需要保存到你的相應(yīng)變量中去  
  }
pcap_freealldevs(alldevs);               // 釋放alldev資源
B. 打開相應(yīng)網(wǎng)卡并設(shè)置為混雜模式: 在此之前肯定要有一段讓用戶選擇網(wǎng)卡、并獲得用戶選擇的網(wǎng)卡的名字的代碼,既然上面已經(jīng)可以獲得所有網(wǎng)卡的名字了,這段代碼就暫且略過了。

本文最后更新于 2022-9-24 09:44,某些文章具有時效性,若有錯誤或已失效,請?jiān)诰W(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
        日韩免费福利电影在线观看| 欧美在线|欧美| 一区二区三区不卡在线观看 | 亚洲综合激情另类小说区| jlzzjlzz欧美大全| 国产色产综合色产在线视频| 一区二区三区四区精品在线视频| 日韩高清在线一区| 亚洲超碰精品一区二区| 国产精品每日更新在线播放网址| 国产女主播在线一区二区| 全部av―极品视觉盛宴亚洲| 99re这里只有精品6| 色综合天天狠狠| 91精彩视频在线| 懂色av一区二区三区蜜臀| 亚洲欧美日韩人成在线播放| 美女高潮久久久| 欧美一级夜夜爽| 亚洲精品一区二区三区影院| 国产精品毛片高清在线完整版| 欧美一区二区三区视频免费播放| 激情综合网天天干| 国产精品综合av一区二区国产馆| 9191成人精品久久| 亚洲影视在线播放| 丝袜亚洲另类欧美| 久久er精品视频| 久久综合久久鬼色中文字| 国产盗摄精品一区二区三区在线 | 欧美国产日韩亚洲一区| 亚洲另类中文字| 99精品在线观看视频| 日韩视频一区二区三区| 91九色02白丝porn| 2020日本不卡一区二区视频| 蜜臀精品一区二区三区在线观看| 91精品国产综合久久久蜜臀图片 | 久久国内精品自在自线400部| 一区二区三区.www| 激情五月婷婷综合| 狠狠v欧美v日韩v亚洲ⅴ| 国产91精品免费| 亚洲欧美偷拍三级| 日韩午夜激情视频| 欧美一区二区三区日韩视频| 国产精品欧美一区喷水| 欧美国产日本韩| 日韩女优制服丝袜电影| 欧美日韩精品一区视频| 91精品欧美久久久久久动漫| 中文字幕一区二区三区在线播放| 国产日韩欧美综合在线| 国产一区二区不卡老阿姨| 97成人超碰视| 亚洲欧美偷拍另类a∨色屁股| 国产尤物一区二区| 欧美成人在线直播| 亚洲成人激情av| 91啦中文在线观看| 日韩高清一区二区| 久久亚洲影视婷婷| 成人精品小蝌蚪| 欧美国产丝袜视频| 免费在线观看日韩欧美| 972aa.com艺术欧美| 日韩视频永久免费| 日韩福利电影在线| 成人丝袜高跟foot| 欧美一区二区大片| 日韩电影在线看| 99re66热这里只有精品3直播| 91精彩视频在线| 精品久久人人做人人爰| 麻豆91在线看| 91精品国产欧美日韩| 成人午夜伦理影院| 欧美一级午夜免费电影| 风流少妇一区二区| 欧美精品视频www在线观看| 中文字幕av一区 二区| 成人av高清在线| 中文字幕在线免费不卡| 欧美va亚洲va香蕉在线| 国产91在线看| 男男视频亚洲欧美| 欧美乱妇15p| 亚洲乱码国产乱码精品精的特点| 麻豆国产一区二区| 一区二区三区四区国产精品| 狠狠v欧美v日韩v亚洲ⅴ| 欧美色男人天堂| 亚洲一级片在线观看| 欧洲一区在线观看| 欧美tickling网站挠脚心| 久久精品视频一区二区三区| 精品国一区二区三区| 2014亚洲片线观看视频免费| 麻豆91精品91久久久的内涵| 777xxx欧美| 久久久国产综合精品女国产盗摄| 中文字幕成人在线观看| 欧美日韩免费不卡视频一区二区三区| 久久嫩草精品久久久精品| 久久婷婷色综合| 国产精品香蕉一区二区三区| 欧美一区二区三区播放老司机| 理论电影国产精品| 久久久精品tv| 国产在线不卡一卡二卡三卡四卡| 国产传媒日韩欧美成人| 国产午夜精品理论片a级大结局| 亚洲第一在线综合网站| 色婷婷久久久综合中文字幕| 国产日产欧产精品推荐色| 免费在线欧美视频| 色综合天天视频在线观看| 亚洲男同性恋视频| 欧美视频日韩视频| 亚洲国产日韩综合久久精品| 欧美精品亚洲一区二区在线播放| 国产午夜精品理论片a级大结局| 蜜桃av噜噜一区| 一区二区三区波多野结衣在线观看| 欧美网站大全在线观看| 自拍视频在线观看一区二区| 91天堂素人约啪| 在线视频国内自拍亚洲视频| 毛片av一区二区| 免费观看在线色综合| 亚洲一二三区视频在线观看| 在线免费一区三区| 福利视频网站一区二区三区| 一区二区三区91| 国产在线麻豆精品观看| 欧美精品黑人性xxxx| 中文字幕亚洲欧美在线不卡| 国产日韩欧美电影| 国产精品素人视频| 一区二区三区在线免费播放| 国产精品素人一区二区| 亚洲高清不卡在线| 国产99久久久国产精品免费看| 欧美三级电影一区| 91超碰这里只有精品国产| 另类小说色综合网站| 久久综合狠狠综合久久激情| 9久草视频在线视频精品| 自拍偷拍欧美激情| 亚洲男人天堂av网| 51久久夜色精品国产麻豆| 99热精品一区二区| 欧美国产精品一区| 一区二区三区精品在线观看| 成人污污视频在线观看| 国产一区二区影院| 欧美大胆人体bbbb| 国产精品的网站| 毛片av中文字幕一区二区| 专区另类欧美日韩| 亚洲福利电影网| 国产99久久精品| 在线综合亚洲欧美在线视频| 国产精品久久毛片a| 欧美日韩精品欧美日韩精品 | 国产精品系列在线| 国产精品18久久久久久久网站| 欧美日韩国产片| 中文字幕欧美日本乱码一线二线 | 91视频在线观看免费| 亚洲日本免费电影| 亚洲mv大片欧洲mv大片精品| 亚洲欧美一区二区三区国产精品| 亚洲欧美在线视频| 日韩电影在线一区二区| 国内精品免费**视频| 久久国产剧场电影| 国产综合成人久久大片91| 欧美色图一区二区三区| 久久精品99国产国产精| 欧美日韩情趣电影| av在线不卡网| 一区二区三区四区视频精品免费| 在线观看亚洲专区| 国产精品美女久久久久久久| 久久一区二区视频| 成人看片黄a免费看在线| 久久精品水蜜桃av综合天堂| 日韩中文字幕av电影| 884aa四虎影成人精品一区| 午夜成人在线视频| 精品少妇一区二区三区日产乱码 | 夜夜揉揉日日人人青青一国产精品| 日韩视频一区二区| 欧美午夜精品久久久久久孕妇 | 国产精品二三区| 国产成人无遮挡在线视频| 国产精品三级av| 91精品办公室少妇高潮对白| 亚洲天堂网中文字|