wireshark的监听原理
想请教一下,启动wireshark后。wireshark界面中显示的各种帧,wireshark是在网卡对帧处理之前就能监听到,还是网卡处理完成之后才能监听到。
比如,我直接在一块缓冲区头部加上MAC头部,并填写MAC头部相应的项,而且只有MAC头部,然后直接调网卡驱动接口将该缓冲区发出去,发送端能监听到数据包发出去了,可以接收端监听不到有数据包。即使两个电脑直接用网线连接也监听不到。这是为什么?接收端网卡直接将包丢弃了吗?
[解决办法]
wireshark是基于winpcap 的抓包软件
winpcap提供了网络底层接口的监听 数据包发送 过滤器等功能 驱动级的
抓包 是网卡收到包 交给网卡驱动 然后winpcap才能捕获到数据包 发给wireshark
你看看ip包的checksum是正确的吗 网卡开启了ipv4硬件效验和的话 checksum不正确的包 会被网卡直接丢弃
[解决办法]
应该可以抓到,你调用网卡驱动应该会自动帮你计算校验的。