TL;DR
抓包是常用的问题排查手段,通过获取网络通讯内容的方式分析应用工作情况,辅助定位问题。
抓包工具相当多,PC/服务端常见的抓包工具 tcpdump
/Wireshark
/Fiddler
/Charles
/whistle
/mitmproxy
。
本篇只做简要介绍,具体工具使用再起篇幅。
工具
对比
个人对之前提及的工具做一个简单的对比:
特性/软件 | tcpdump | Wireshark | Fiddler | Charles | whistle | mitmproxy |
---|---|---|---|---|---|---|
HTTP(S)协议展现效果 | 无 | 一般 | 好 | 好 | 好 | 好 |
TCP/UDP协议展现效果 | 一般 | 好 | 不支持 | 不支持 | 不支持 | 不支持 |
协议支持 | 多 | 多 | 主要支持HTTP(S) | 主要支持HTTP(S) | 主要支持HTTP(S) | 主要支持HTTP(S) |
安装配置 | 简单 | 简单 | 简单 | 简单 | 一般 | 一般 |
支持平台 | 主要是*nix | Windows/Mac/Linux | Windows(其他平台需要Mono) | Windows/Mac/Linux | 基于node.js | 基于Python |
费用 | 免费 | 免费 | 免费 | 收费 | 免费 | 免费 |
GUI | 无 | 有 | 有 | 有 | 有(基于浏览器) | 有(基于浏览器) |
源代码 | 公开 | 公开 | 不公开 | 不公开 | 公开 | 公开 |