当前位置: 首页 > Linux

Linux服务器下的HTTP抓包分析

时间:2023-04-06 12:07:03 Linux

说到抓包分析,最简单的方法就是直接在客户端安装一个Wireshark或者Fiddler,但是有时候由于客户端开发者(可能是第三方)知识的缺乏)或者其他一些原因导致客户端无法成功抓包分析。在这种情况下我该怎么办?在本文中,我们将向您介绍服务器端抓包和分析的方法。使用tcpdump抓包,配合Wireshark分析HTTP请求,非常简单有效。本文将不断修订更新。最新内容可以参考我的GITHUB上的程序员成长计划项目。欢迎来到星空。更多精彩内容,请关注我。使用tcpdump在服务器上抓包并在服务器上进行抓包分析,使用tcpdumptcpdump-tttt-s0-X-vvtcpport8080-wcaptcha.cap这里的参数如下-tttt输出最易读的时间戳-s0指定每次抓包的长度,单位为byte,使用-s0抓取整个数据包的内容-X以hex和ASCII显示抓包内容-vv显示更多的抓包信息tcp表示我们只抓tcptrafficport8080表示我们只抓取8080端口的流量-wcaptcha.cap指定抓取的流量结果输出到captcha.cap文件,方便分析。tcpdump更高级的用法,可以参考tcpdump简明教程。上述命令会一直运行并将结果输出到captcha.cap文件中,在此过程中,所有访问8080端口的TCP流量都会被捕获。当请求结束后,我们可以使用Ctrl+C来中断命令的执行。这时我们可以看到在当前目录下生成了一个名为captcha.cap的文件。使用Wireshark分析接下来我们从服务器下载captcha.cap文件到我们的电脑上,使用Wireshark打开最简单的下载方式当然是使用scpscpaccount@ip:/path/to/captcha.cap。因为我们需要解析http包,直接打开显然无法区分出我们需要的内容。因此,我们可以在过滤栏中添加过滤规则http,这样就可以只显示http流量了。当请求比较多的时候,我们还是不能快速区分哪个是指定客户端的访问请求。幸运的是,一个强大的过滤器可以结合使用http和ip.src==192.168.0.65。上面的过滤器会过滤掉所有来自客户端192.168.0.65的http流量。我们已经找到了需要分析的http请求,那么如何查看请求响应的内容呢?也很简单,选中这个请求,右键Follow-HTTPStream:在新打开的窗口中,我们可以看到这个请求的所有内容。总结tcpdump和wireshark是非常强大的网络分析工具,它们的用途不局限于HTTP请求抓包,有了这两个工具,我们可以分析所有的网络流量和网络协议。本文只是对最常见的HTTP请求抓包方式的简单说明。事实上,借助wireshark强大的过滤规则,我们可以更准确地过滤和分析流量。本文将不断修订更新。最新内容可以参考我的GITHUB上的程序员成长计划项目。欢迎来到星空。更多精彩内容,请关注我。