Wireshark抓包工具的工作原理是什么?相信很多人對(duì)網(wǎng)絡(luò)抓包不是很了解,下面小編就給大家介紹下wireshark抓包原理。
一、wireshark能通過(guò)哪些方式抓取到“網(wǎng)絡(luò)數(shù)據(jù)包“
1、本機(jī)電腦
Wireshark可以直接抓取進(jìn)出本機(jī)電腦網(wǎng)卡的網(wǎng)絡(luò)流量數(shù)據(jù)包。這種情況下,wireshark需要綁定或選擇本機(jī)的一塊網(wǎng)卡。
2、集線器
用于抓取流量泛洪,沖突域內(nèi)的數(shù)據(jù)包,即整個(gè)局域網(wǎng)的數(shù)據(jù)包。
3、交換機(jī)
1.端口鏡像
這種方式下,交換機(jī)嚴(yán)格按照tenlnet表和mac地址表進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。當(dāng)pc2和pc3通信的時(shí)候,默認(rèn)是pc1是無(wú)法抓取數(shù)據(jù)包的,但是可以通過(guò)在交換機(jī)上設(shè)置策略,即端口鏡像。這樣Pc2和Pc3通信的數(shù)據(jù)包就被復(fù)制一份到連接pc2的那個(gè)交換機(jī)端口,這樣pc2就可以抓取到Pc2和Pc3的通信數(shù)據(jù)包了
流量監(jiān)控
2.ARP欺騙
步驟如下:
(1)PC2想和PC3通信,故而向交換機(jī)發(fā)送廣播
(2)正常情況下PC1會(huì)將此包丟棄掉(因?yàn)橐业牟皇撬,但是這里的PC1會(huì)進(jìn)行ARP欺騙,告訴PC2它就是PC2要找的PC3
(3)因?yàn)锳RP后到優(yōu)先的特性,PC2很大可能會(huì)認(rèn)為PC1的MAC地址是自己要找的PC3
(4)就這樣,PC2和PC3的通信就變成了PC2和PC1的通信了。
(5)至于后續(xù)PC1要不要把數(shù)據(jù)(可能被修改的數(shù)據(jù))交給PC3,那完全取決于PC1的心情。
以上便是局域網(wǎng)ARP攻擊的典型情況。
3.MAC泛洪
這種情況下,PC1沒(méi)有端口鏡像的權(quán)限,所以它不能直接截取全網(wǎng)的流量,那么該怎么做呢?
(1)PC1發(fā)送大量垃圾包,這里產(chǎn)生了大量的MAC地址,導(dǎo)致MAC表爆表
(2)PC2和PC3發(fā)出的數(shù)據(jù)找不到目的地址就會(huì)進(jìn)行全網(wǎng)泛洪,被PC1截取全網(wǎng)流量
二、wireshark整體架構(gòu)
1.win-/libcap ===> wireshark底層驅(qū)動(dòng)軟件
2.capture ===> 抓包引擎
3.wiretab ===> 將抓來(lái)的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成需要的格式文件
4.core ===> 核心引擎,通過(guò)函數(shù)將多個(gè)模塊連接在一起
5.GTK 1/2 ===> 圖形處理工具
|