2024-09-05 05:16:24
作为一名在一线奋斗的开发工程师,下面对几款自己常用的网络抓包软件进行介绍。
1.Wireshark
完善的图形化界面,跨平台支持,可谓一款超级优秀的网络封包分析软件,只要你做的东西设计到网络数据传输,基本上该款软件的使用是必备技能点来,它可以帮助我们很好的来分析网络传输过程都发生来些什么,可以用它以图形化形式来分析后文提到的tcpdump捕获的数据包文件,而且支持自定义扩展脚本,记得当年搞LTE开发,一直是用的wireshark来分析TCP/IP协议栈,GPTU、PDCP、RLC,LTE用户面协议。是自己抓取的CSDN登录的HTTP数据包,当然后面的需求还需自己去分析。
2.tcpdump
linux环境常用的网络抓包工具,可以截取网络传输数据并对其进行输出。和WireShark相比,它不提供图形化界面,纯命令行形式运行,功能更方便自主化的同时带来了上手的难度。有一点需要注意的是,由于其需要将网络设置为混杂模式,普通用户并没有执行权限,所以使用时我们需要使用需要具有root权限。正因为如此,它不仅是开发人员和运维的必备工具,同时也可能成为黑客入侵的道具。
3.fiddler
这家伙相当于介于客户端和服务器之间的http代理,是一种比较常见的http抓包工具,可以让我们清楚的看到每一次http请求的具体内容,header,body体等,更难得的是你可以用它来修改服务器返回的http响应的数据包内容。
4.PacketCapture
安卓抓包神器,无需root,和tcpdump相比,它可以指定应用程序。如下面三张图所示,是我用PacketCapture抓取京东商场的数据包,用起来还是很方便的,唯一的缺点就是抓取的数据包不能到处pcap格式用wireshark分析,看起来比较费劲。
5.浏览器自带F12功能
这一点,应该搞前端的工程师使用是非常多的了把。我们可以很清楚的看到每次发起请求的内容已经服务端响应的数据包。很方便的确定每个资源的请求响应时间,对于我们有时候定位超时问题很有帮助。
最后,需要说的是,网络抓包工具只是一方面,更多的是需要我们自身对TCP/IP协议栈的理解,有了对网络知识更深的理解,我们才能够更好的驾驭这些软件。