感谢邀请。
作为一名长期在一线奋斗的程序员,现在将一些自己常用的,以及自己看到的身边大牛们使用的抓包工具做一个总结。如果你有更好的补充,或者文中哪些地方有误,欢迎留言讨
感谢邀请。
作为一名长期在一线奋斗的程序员,现在将一些自己常用的,以及自己看到的身边大牛们使用的抓包工具做一个总结。如果你有更好的补充,或者文中哪些地方有误,欢迎留言讨论。
1. WireShark
这款网络抓包封包分析软件可以说早已经大名鼎鼎了把,强大的数据包分析功能,跨平台支持,图形化界面支持。
下图是使用WireShark抓取的数据包截图,可以看到它可以自动将不同的报文以不同颜色区分,默认绿色是TCP报文,深蓝色是DNS,浅蓝是UDP,黑色标识出有问题的TCP报文——比如CheckSum出错或者乱序报文。
2. tcpdump
老牌抓包神器,在Linux系统中使用居多,是开发人员、运维人员的常用工具。无图形化界面,只提供命令行支持,这无疑增大了上手难度,当然,正是由于这一点,才会提供给我们更大的自主选择。特别需要注意的是,tcpdump使用需要root权限,因此如果你在公网使用tcpdump后未删除,直接放置一款拥有root权限的tcpdump,这无疑是在挑衅某些hacker的能力。切忌,网络安全无小事。
3. fiddler
这玩意就是题主所提问题用的配图了,功能强大,其工作原理是在客户端和服务器之间架设一层HTTP代理,默认地址是127.0.0.1,端口默认8888,当然支持自定义修改。和其他抓包工具相比,最大的优势就在于它可以修改服务器响应的数据包内容,我们可以闹洞大开,对服务器返回的内容作拦截修改后,返回我们自己想要的结果。
4. Packet Capture
安卓手机抓包神器,无需root,最大的优势就是在于它可以对指定的应用程序进行抓包分析,例如以下两张图是我对京东商场抓取的数据包。
5. F12调试功能
这个差不多算是最方便快捷的了,天生默认浏览器支持,搞前端的应该会经常用到。可以很方便的看到每次HTTP请求和响应的详细信息,查看每个资源的请求响应时间,如下图是我访问百度时候的HTTP请求的资源,可以看到有一个JS资源是请求失败的。
6. Charles
这是一款什么软件呢?其实说白了,它是一款代理服务器,将自己设置成客户端的网络访问代理服务器,然后截取本机请求和服务器响应达到分析抓包的目的。跨平台支持,可在Windows,Mac,Linux不同平台运行,采用Java语言开发,因此安装Charles的时候要先装好JDK。它不仅可以抓取PC机器网络数据包,也支持抓取移动终端数据包。