说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,可是有时候因为客户端开发人员(多是第三方)知识欠缺或者其它一些缘由,没法顺利的在客户端进行抓包分析,这种状况下怎么办呢?git
本文中,咱们将给你们介绍在服务端进行抓包分析的方法,使用tcpdump抓包,配合Wireshark对HTTP请求进行分析,很是简单有效。github
本文将会持续修正和更新,最新内容请参考个人 GITHUB 上的 程序猿成长计划 项目,欢迎 Star,更多精彩内容请 follow me。服务器
在服务端进行抓包分析,使用tcpdump网络
tcpdump -tttt -s0 -X -vv tcp port 8080 -w captcha.cap
这里的参数是这样的tcp
关于tcpdump更加高级的用法,能够参考 tcpdump简明教程工具
上述命令会保持运行,并将结果输出到 captcha.cap 文件中,在这个过程当中,全部访问 8080 端口的 TCP 流量都会被捕获。当请求结束以后,咱们可使用 Ctrl+C
中断该命令的执行,这时候在当前目录下就能够看到生成了一个名为 captcha.cap 的文件。.net
接下来咱们从服务器上下载这个captcha.cap文件到本身电脑上,使用 Wireshark 打开code
最简单的下载方法固然是使用scp了教程
scp account[@ip](https://my.oschina.net/u/3749391):/path/to/captcha.cap .
由于咱们须要分析http包,直接打开看显然没法区分咱们须要的内容,所以,能够在filter栏中添加过滤规则 http
,这样就能够只展现http流量了ip
当请求比较多的时候,咱们仍是没法快速区分出哪一个是指定客户端的访问请求,好在强大的filter能够组合使用
http and ip.src == 192.168.0.65
上面这个filter将会过滤出全部来自客户端 192.168.0.65 的http流量。
找到咱们须要分析的http请求了,那么怎么查看请求响应的内容呢?也很简单,只须要选中这个请求,右键 Follow - HTTP Stream:
在新开的窗口中,咱们就能够看到这个请求的全部内容了
tcpdump和wireshark都是很是强大的网络分析工具,其使用用途不单单局限于http请求抓包,借助这两个工具,咱们能够对全部的网络流量,网络协议进行分析。本文只是针对最多见的http请求抓包方法作了一个简单的讲解,实际上配合wireshark强大的filter规则,咱们能够更加精准的对流量进行过滤,分析。
本文将会持续修正和更新,最新内容请参考个人 GITHUB 上的 程序猿成长计划 项目,欢迎 Star,更多精彩内容请 follow me。