Wireshark使用指南
Web请求抓包,一般使用Chrome network进行分析,如果是HTTPS解密抓包,或者Mac下对iPhone进行抓包,我会使用Surge,但是如果我想具体查看HTTP请求/响应的原始数据,同时了解HTTP应用层之下的传输层等数据的话,那就得更专业的工具,比如说Wireshark。
最近因为分析一个下载问题,了解和使用了Wireshark,觉得Wireshark很强大,同时网上的资料太分散,这里总结下,兴许也可以帮到一些小伙伴。
Wireshark定位
网络协议分析工具
正如一开始所说,Chrome
只可以看到应用层协议,比如HTTP
,WebSocket
,而Surge只可以抓到HTTP
请求,如果想完整的学习分析网络协议,Wireshark就非常合适。
使用常见问题
安装
注意同时选择Add Wireshark to the system path. pkg
,这样命令行也可以启动使用
The capture session could not be initiated on interface ‘en0’ (You don’t have permission to capture on that device).
解决办法sudo chmod 777 /dev/bpf*
抓包localhost
有时想抓取本地服务的包数据
在启动后的界面下,双击loopback
,开启捕获即可
时间显示为本地时区
报文默认显示的时间是距离开启捕获的时间间隔,有时想要显示当前时区的时间,需要如下设置。
分析技巧
- 高亮特定帧,然后filter筛选只显示mark的帧-
frame.marked == 1
- 筛选特定目标IP地址的请求包
ip.src = 192.168.12.66 and ip.dst = 192.168.12.66
设置同步
Wireshark配置到顺手也是需要时间的,比如显示列/报文过滤颜色/插件等,为了一劳永逸,解决多设备同步配置,同时保证配置不丢失,可以使用icloud等云服务存储配置,然后软链接到Wireshark默认存储配置路径即可。
1 | ln -s /Users/alanhe/Library/Mobile\ Documents/com~apple~CloudDocs/conf/wireshark /Users/alanhe/.config/wireshark |
写在最后
赞成知乎上一个回答,前端范畴内,使用Wireshark的机会并不多,但是用好它,借助它更好的理解OSI7层模型,理解全栈协议,那么搞起前端一定是如虎添翼。
so,学习ing。