一、什么樣的“包“能被wireshark抓住呢?
1.本機
即直接抓取進出本機網卡的流量包。這種情況下,wireshark會綁定本機的一塊網卡。
2.集線器
用於抓取流量泛洪,沖突域內的數據包,即整個局域網的數據包。
3.交換機
1.端口鏡像
這種方式下,交換機嚴格按照tenlnet表和mac地址表進行轉發數據包。當pc2和pc3通信的時候,默認是pc1是無法抓取數據包的,但是可以通過在交換機上設置策略,即端口鏡像。這樣Pc2和Pc3通信的數據包就被復制一份到連接pc2的那個交換機端口,這樣pc2就可以抓取到Pc2和Pc3的通信數據包了
流量監控
2.ARP欺騙
步驟如下:
(1)PC2想和PC3通信,故而向交換機發送廣播
(2)正常情況下PC1會將此包丟棄掉(因為要找的不是它),但是這里的PC1會進行ARP欺騙,告訴PC2它就是PC2要找的PC3
(3)因為ARP后到優先的特性,PC2很大可能會認為PC1的MAC地址是自己要找的PC3
(4)就這樣,PC2和PC3的通信就變成了PC2和PC1的通信了。
(5)至於后續PC1要不要把數據(可能被修改的數據)交給PC3,那完全取決於PC1的心情。
以上便是局域網ARP攻擊的典型情況。
3.MAC泛洪
這種情況下,PC1沒有端口鏡像的權限,所以它不能直接截取全網的流量,那么該怎么做呢?
(1)PC1發送大量垃圾包,這里產生了大量的MAC地址,導致MAC表爆表
(2)PC2和PC3發出的數據找不到目的地址就會進行全網泛洪,被PC1截取全網流量
二、wireshark整體架構
1.win-/libcap ===> wireshark底層驅動軟件
2.capture ===> 抓包引擎
3.wiretab ===> 將抓來的二進制數據轉換成需要的格式文件
4.core ===> 核心引擎,通過函數將多個模塊連接在一起
5.GTK 1/2 ===> 圖形處理工具