抓包

场景:

在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包。

原因:

Windows TCP/IP下没有本地回路的接口,所以不能用常用的windows抓包驱动获取。

解决办法:

        1.以管理员身份运行cmd

        2.route add 本机ip mask 255.255.255.255 网关ip

        如:route add 172.16.51.115 mask 255.255.255.255 172.16.1.1

        使用完毕后用route delete 172.16.51.115 mask 255.255.255.255 172.16.1.1删除,否则所有本机报文都经过网卡出去走一圈回来很耗性能。

        此时再利用wireshark进行抓包便可以抓到本机自己同自己的通信包,这样配置的原因是将发往本机的包发送到网关,而此时wireshark可以捕获到网卡驱动的报文实现抓包。
        但这样有一个缺点,那就是本地请求的URL的IP只能写本地的IP地址,不能写localhost或127.0.0.1,写localhost或127.0.0.1还是抓不到包。

posted @ 2019-06-05 20:46  FreeBoyGirl  阅读(179)  评论(0编辑  收藏  举报