概述
今天将自己的电脑既作为客户端又作为服务端进行一个程序的测试,想着用WireShark来抓包分析一下问题,但由于WireShark只能抓取经过电脑网卡的包,由于我是使用localhost或者127.0.0.1进行测试的,流量是不经过电脑网卡的,所以WireShark无法抓包,一番查找之下找到了解决方法。
1 . 以管理员身份打开命令提示符
2 . 输入 route add 本机ip mask 255.255.255.255 网关ip
如果不知道本机ip和网关ip,可以在命令行输入ipconfig查看
例如我的 : route add 192.168.0.106 mask 255.255.255.255 192.168.0.1
3 . 将我们程序里面的localhost或者127.0.0.1替换成本机ip(经测试好像不需要)
4 . 使用WireShark即可抓到本地包
注:在测试完之后,使用route delete 本机ip mask 255.255.255.255 网关ip来删除我们上面的更改,不然我们本机的所有报文都会先经过网卡再回到本机,会比较消耗性能。
补:以上并不具有永久性,若重新开机,则需要再次添加。
补:调试多线程时IntellijIdea断点不中,只在你要调试的那个线程上下文中下断点,不要在别的线程中下。
最后
以上就是能干自行车为你收集整理的WireShark如何抓取本地localhost的包的全部内容,希望文章能够帮你解决WireShark如何抓取本地localhost的包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复