在用wireshark抓包的时候。
一般只能抓到流经本机的数据包。如果需要配置抓取其他电脑发送的数据包就不太方便了。
比如安装了wireshark的用于抓包的我的电脑ip 192.168.1.100
被抓取的机器ip为局域网192.168.1.200(这个设备可能是嵌入式设备。不能安装wireshark,但是可以配置他的路由表)
网关 192.168.1.1
所以是要在192.168.1.100上抓取192.168.1.200发送和接受的数据包。
1在100配置路由转发功能.
2在200上设置路由表。所有数据包转发到100上。再由100转发给网关。这样就用wireshark可以在100上抓到所有的200通信的数据包了
步骤
1.如果是用虚拟机,那么创建一个虚拟机。网络设置必须用桥接。
2.在抓包机器100上编辑 /etc/sysctl.conf
添加一行
net.ipv4.ip_forward = 1
(默认这一行是已经存在的。只是被#注释了。去掉#保存即可)
3.配置iptables
在/etc/rc.local中添加一行
sudoiptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
虚拟机网卡一般为eth0,如果不是。把上面的eth0修改为你的网卡名字。
4.配置被抓包的机器200的路由表
在200上 执行
route add -net default netmask 0.0.0.0 gw 10.10.10.143
后面这个IP填写的是100的ip
这样就可以实现了。