一、什么样的“包“能被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 ===> 图形处理工具