网络问题, 不像系统或者数据库问题, 仅仅凭借日志, 很难定位到原因; 没有相关证据, 只有猜测性的结果, 无法有效的推动第三方协助解决; 为了更好的定位问题, 我们需要很多的工具以及方法进行获取证据. 本文对常用的工具和方法做汇总.
连通性 & 丢包问题
此类问题排查方法排查手段一般有: ping&mtr&traceroute 等命令; 最常用的方法参考下面内容
ping 丢包或不通时链路测试说明
能 ping 通但端口不通时端口可用性探测说明
手机移动端网络路由跟踪探测方式
网络异常时抓包操作说明
Linux 循环抓包命令参考
其中相关的参数需要跟进实际情况调整. 循环抓包参考如下, 请注意磁盘大小; 最大抓取 50 个包, 每个包 20M, 共占用 1G 的空间, 抓 tcp 协议的 53 端口的报文.
tcpdump -iany tcp and port 53 -C 20 -W 50 -w /tmp/cap.pcap
Windows 循环抓包命令参考
https://yq.aliyun.com/articles/72277
抓包时需要客户端与服务端共同抓包.
TCPing 测试
工具可以在文末下载, 命令参考 (更多命令 https://github.com/huigher/tcpping2 )
- Mac:tcpping2-master xxx$ python tcpping2.py www.aliyun.com 80
- [2019-01-20 22:57:00,320] 10.65.148.173:51267, www.aliyun.com:80, conn_time: 0.034433
- [2019-01-20 22:57:02,342] 10.65.148.173:51269, www.aliyun.com:80, conn_time: 0.019742
来源: https://yq.aliyun.com/articles/688236