WireShark
- 下载地址
https://www.wireshark.org/#download
- WireShark
网络调试一般Charles,但它只能调试 HTTP/HTTPS 请求,对 TCP 层就无能为力了。要想看到HTTP 请求过程中的细节,选择WireShark。WireShark可以监听本机的网卡,也可以监听手机的网络,例如,开发ios,你要监听请求情况,手机得挂代理,但是这样,就没法使用4g等手机网络状态,WireShark 调试真机时不用连接代理,只需要通过 USB 连接到电脑就行,首先创建虚拟网卡
1 | rvictl -s uuid |
使用命令查看1
instruments -s | awk '{print $NR}' | sed -n 3p | awk '{print substr($0,2,length($0)-2)}' | xargs rvictl -s
然后在WireShark的主界面就会多一行rvi0 虚拟网卡,双击即可。
一般请求会很多,但是WireShark 的过滤使用了一套自己定义的语法,可以过滤信息
常用过滤设置
- http请求
1 | http.host === '192.168.0.1' //域名也行 |
和指定主机的通信
1
ip.addr == 192.168.0.1
只想显示某个端口的数据
1 | ip.addr == 192.168.0.1 and tcp.dstport == 8080。 |
- HTTP协议的GET请求与响应
1 | ip.addr == 192.168.0.1 (http.request.method == "GET" || http.response.code == 200) |
- 查看丢包方面的数据
1 | ip.addr == 192.168.0.1 and (tcp.analysis.fast_retransmission || tcp.analysis.retransmission) |