一、什么样的“包“能被wireshark抓住呢?

1.本机

即直接抓取进出本机网卡的流量包。这种情况下,wireshark会绑定本机的一块网卡。

wireshark抓包实战(一),抓包原理-LMLPHP

2.集线器

wireshark抓包实战(一),抓包原理-LMLPHP

用于抓取流量泛洪,冲突域内的数据包,即整个局域网的数据包。

3.交换机

1.端口镜像

这种方式下,交换机严格按照tenlnet表和mac地址表进行转发数据包。当pc2和pc3通信的时候,默认是pc1是无法抓取数据包的,但是可以通过在交换机上设置策略,即端口镜像。这样Pc2和Pc3通信的数据包就被复制一份到连接pc2的那个交换机端口,这样pc2就可以抓取到Pc2和Pc3的通信数据包了

流量监控

wireshark抓包实战(一),抓包原理-LMLPHP

2.ARP欺骗

wireshark抓包实战(一),抓包原理-LMLPHP

步骤如下:

(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泛洪

wireshark抓包实战(一),抓包原理-LMLPHP

这种情况下,PC1没有端口镜像的权限,所以它不能直接截取全网的流量,那么该怎么做呢?

(1)PC1发送大量垃圾包,这里产生了大量的MAC地址,导致MAC表爆表

(2)PC2和PC3发出的数据找不到目的地址就会进行全网泛洪,被PC1截取全网流量

二、wireshark整体架构

wireshark抓包实战(一),抓包原理-LMLPHP

1.win-/libcap ===> wireshark底层驱动软件

2.capture ===> 抓包引擎

3.wiretab ===> 将抓来的二进制数据转换成需要的格式文件

4.core ===> 核心引擎,通过函数将多个模块连接在一起

5.GTK 1/2 ===> 图形处理工具

05-06 09:35