Wireshark
今天将自己的电脑既作为客户端又作为服务端进行一个程序的测试,想着用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
来删除我们上面的更改,不然我们本机的所有报文都会先经过网卡再回到本机,会比较消耗性能。
1.抓取特定IP地址的数据包
过滤以某地址为源地址的数据包:ip.src==指定的ip地址
过滤以某地址为目的地址的数据包:ip.dst==指定的ip地址
2.基于端口号的过滤
协议名.port==端口号(这种会把包含此端口号的请求都过滤掉,无论是源端口或者目的端口)
使用tcp.dstport==443只过滤目的端口为80的,tcp.srcport==443只过滤源端口为443的包;
3.过滤协议
直接输入协议名:如过滤HTTP的协议;
4.应用层协议模式
http模式过滤。如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST";
5.多个条件&操作
总结:src总是“源”,dst总是“目的”
注意:通过ip地址过滤的时候,ip地址是不用加引号的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了