文档章节

Linux服务器下的HTTP抓包分析

mylxsw
 mylxsw
发布于 07/16 14:49
字数 951
阅读 504
收藏 6

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,这种情况下怎么办呢?

本文中,我们将给大家介绍在服务端进行抓包分析的方法,使用tcpdump抓包,配合Wireshark对HTTP请求进行分析,非常简单有效。

本文将会持续修正和更新,最新内容请参考我的 GITHUB 上的 程序猿成长计划 项目,欢迎 Star,更多精彩内容请 follow me

使用tcpdump在服务器抓包

在服务端进行抓包分析,使用tcpdump

tcpdump -tttt -s0 -X -vv tcp port 8080 -w captcha.cap

这里的参数是这样的

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

关于tcpdump更加高级的用法,可以参考 tcpdump简明教程

上述命令会保持运行,并将结果输出到 captcha.cap 文件中,在这个过程中,所有访问 8080 端口的 TCP 流量都会被捕获。当请求结束之后,我们可以使用 Ctrl+C 中断该命令的执行,这时候在当前目录下就可以看到生成了一个名为 captcha.cap 的文件。

使用Wireshark分析

接下来我们从服务器上下载这个captcha.cap文件到自己电脑上,使用 Wireshark 打开

最简单的下载方法当然是使用scp了

scp account[@ip](https://my.oschina.net/u/3749391):/path/to/captcha.cap .

因为我们需要分析http包,直接打开看显然无法区分我们需要的内容,因此,可以在filter栏中添加过滤规则 http,这样就可以只展示http流量了

当请求比较多的时候,我们还是无法快速区分出哪个是指定客户端的访问请求,好在强大的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

© 著作权归作者所有

共有 人打赏支持
mylxsw

mylxsw

粉丝 31
博文 22
码字总数 52076
作品 8
朝阳
程序员
私信 提问
监控io性能/free命令/ps命令/查看网络状态/linux下抓包

监控io性能 使用iostat命令查看磁盘负载情况 重点关注:%util占比,如果这个值越大则表示你的硬盘越忙,这也会是你系统变慢的原因; 查看具体哪个进程在读写,使用iotop,首次使用需要Yum安装...

Hi_Yolks
07/11
0
0
在 Linux 命令行中使用 tcpdump 抓包

是一款灵活、功能强大的抓包工具,能有效地帮助排查网络故障问题。 以我作为管理员的经验,在网络连接中经常遇到十分难以排查的故障问题。对于这类情况, 便能派上用场。 是一个命令行实用工...

作者: Ricardo Gerardi
11/04
0
0
Wireshark和TcpDump抓包分析心得

Wireshark与tcpdump介绍 ?Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话,我直接用tcpdump了,因为我工作环境中的L...

糖糖豆豆
2014/10/28
0
0
Wireshark抓包分析Eureka注册发现协议

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/82918227 前面的系列文章中,我们分析源码对Eureka有了深入了解,其中获取服务列表、注册、...

博陵精骑
10/03
0
0
Linux 命令行网络监控工具

转自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html 对任何规模的业务来说,网络监控工具都是一个重要的功能。网络监控的目标可能千差万别。比如,监控活动的目标可以是保证长期的...

被使用的文件
2015/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 懒床是对冬天最起码的尊重

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享daniwellP/桃音モモ的单曲《Nyan Cat》 《Nyan Cat》- daniwellP/桃音モモ 手机党少年们想听歌,请使劲儿戳(这里) @巴拉迪...

小小编辑
29分钟前
5
0
码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部