前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux服务器抓包分析HTTP请求

Linux服务器抓包分析HTTP请求

原创
作者头像
若海
发布2023-07-12 11:22:02
3.9K0
发布2023-07-12 11:22:02
举报
文章被收录于专栏:云原生拾遗云原生拾遗

说到抓包分析,最简单的方法当然是在客户端直接安装Wireshark或Fiddler,这些工具的使用率很高且有很多成熟的教程,因此不再赘述。

本文将介绍一种在服务端使用tcpdump抓包,并使用Wireshark来分析HTTP请求的简单有效方法。

使用 tcpdump 抓包

首先,在服务器上安装 tcpdump,以 Ubuntu 为例运行以下命令

代码语言:shell
复制
apt install -y tcpdump

然后,使用 tcpdump 进行抓包

代码语言:shell
复制
tcpdump -tttt -X -vv -s0 -w 80.cap 'tcp port 80'

以下是各个参数的说明:

  • -tttt 输出最大程度可读的时间戳
  • -X 同时以HEXASCII两种形式显示包的内容
  • -vv 显示更多的包信息
  • -s 指定每一个包捕获的长度,单位是byte,使用-s0可以捕获整个包的内容
  • -w 80.cap 将捕获的流量结果输出到80.cap文件,便于分析使用
  • tcp port 80 只捕获访问80端口的TCP流量

执行以上命令后,它会一直运行,并将结果输出到80.cap文件中。在此过程中,所有访问80端口的TCP流量都会被捕获。当需要结束捕获请求时,可以使用Ctrl+C中断该命令的执行,此时在当前目录下会生成一个名为80.cap的文件。

使用 wireshark 分析

打开 Wireshark 下载地址,选择对应的版本下载安装。

我们从服务器上下载这个80.cap文件到自己电脑上,使用 Wireshark 打开,会看到捕获的TCP流量数据。

cap.png
cap.png

接下来,可以按照以下步骤进行HTTP请求的分析:

  1. 使用Wireshark的过滤功能,只显示HTTP请求。在过滤框中输入http,这样Wireshark将只显示与HTTP协议相关的数据包。
  2. 在Wireshark的数据包列表中,可以点击选择一个HTTP请求数据包,然后在右侧的详细信息窗口中查看更多的细节。可以展开各个协议分层并查看具体的字段信息,比如源IP和目标IP,源端口和目标端口,HTTP方法和URL路径等。
  3. 如果想查看请求的内容,可以在详细信息窗口中找到HTTP协议分层,并展开Hypertext Transfer Protocol字段。在这里,将看到请求头和请求体的详细信息,包括请求方法、请求头部、Cookie、请求参数等。
  4. 如果想进一步分析响应内容,可以选择一条HTTP响应数据包,然后在详细信息窗口中查看响应的具体信息。可以展开HTTP协议分层的Hypertext Transfer Protocol with Privacy字段,其中包含了响应的状态码、响应头部信息以及响应的正文内容。
  5. Wireshark还提供了一些强大的统计功能,可帮助分析HTTP请求的性能指标。可以使用Statistics菜单中的各项功能,如"HTTP"、"Endpoints"、"Conversations"等,来查看请求和响应的统计数据,如请求数量、包大小、传输时间等。

通过使用Wireshark分析HTTP请求,能够深入了解请求的细节,包括头部信息、参数、Cookie等。这对于调试和性能优化非常有帮助。另外,Wireshark还支持导出分析结果以及生成报告,方便与团队或上级分享分析结果。

总结

通过在Linux服务器上使用tcpdump抓包并配合Wireshark进行HTTP请求分析,能够更加详细地了解请求和响应的内容,帮助我们进行故障排查和性能优化。这是一种简单有效的方法,推荐给所有需要进行网络请求分析的开发人员和系统管理员。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 tcpdump 抓包
  • 使用 wireshark 分析
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档