同为抓包软件,wireshark和fidder在各自的独特的领域有很好的作用。
wireshark,笔者还是在上大学那会儿使用过了。之前看过一本书,说一个高级工程师非常擅长使用抓包工具,通过网络装包,分析网络流量,治好了各种大型系统出现的各种疑难杂症。笔者对此有非常浓厚的兴趣,无奈,在工作中,笔者作用应用开发者,没有机会接触到底层协议,所以wireshark的技能便没有什么进步。直到做毕设那段时间偶然间用到了fidder,笔者原本是用fidder开启代理,然后电脑打开热点,手机连接电脑热点,并设置使用代理为fidder监听的地址,从而监听手机里面的http的数据包,进而完成类似于微信爬虫的功能。所以一直以来,fidder就在我的电脑中。
笔者的工作,涉及后端多个服务的交互,架构上使用的http(s)接口的方式进行消息通信,所以联调测试是一个很大的问题,因为做不到每个请求点都去打断点,而且无法做到给对方的服务打断点,在测试中如果出现了问题,往往无法确定到底是哪一边出了问题(究竟是传输的数据有问题?还是反序列化失败引起的问题?)笔者就出现过因为调用者本身参数传错,对方还要求笔者找自己代码问题的情况,导致浪费了大量的时间。所以笔者后来采用了利用fidder监听请求的方式。
首先,前往官网下载fidder,网上有很多破解版,建议去官网下载。windows版本下载和安装好,直接打开即可。
选择Tools->Options->Connections
找到代理的端口,然后来到你的代码中设置该代理地址
启动项目,能监听代码中的所有http(s)的请求和响应。原理嘛,就是利用了代理,也就是中间人。