wireShark的简单使用
在对接某个项目的SDK时,发下隔一段,请求第三方服务时,老是出现"Read Timed out"异常,看代码没有发现问题,于是想通过抓包来看看日志
1、使用tcpdump来抓包
tcpdump tcp port xxx -s 0 -w capture.pcap &
指定端口号xxx
, -s 0
输出详细信息, -w capture.pcap
将日志保存到capture.pcap文件中,&
后台运行
2、下载capture.pcap
sz capture.pcap
3、使用wireShark
解析capture.pcap
文件
打开时可能会提示
The capture file appears to have been cut short in the middle of a packet
,这是因为日志在一般被截断了(如果不是截断到要监控的日志,就没什么关系)
这里打开后,时间格式也许不是我们想要的,点击视图``时间显示格式
选择日期和时间(1970-01-01 01:02:03.123456)
4根据服务器日志得知在2023-04-07 15:45:58秒接口发生了Read timed out
异常
在wireShark中找到相关的日志
选择1154这条记录
可以看到并没有响应体,正常的请求会显示Response in frame: 1157
,1157
就是日志No
正常的请求
右键请求异常的日志,点击 选择 追踪流
,选择TCP或者HTTP
根据自己实际业务选择,同时会弹出详细的请求信息
在请求头里看到了keep-alive怀疑是长连接导致的