背景:对http 80端口的监控是必须的,无论是开发时接口间调用,还是在线上弱水三千只取一瓢,对接口的侦测,我国的网侦部门对我们的行为控制,从来没有停止过,这儿请的不是tcpdump,而是有一个抓取http流量的类似tcpdump的数据包嗅探工具,httpry捕获HTTP数据包,并且将HTTP协议层的数据内容以可读形式列举出来。当前linux两个系统比较常用一个是centos一个是debian,这里都有,请看下面讲述即可。
Fedora、centos、RHEL系统需要安装EPEL源
$ sudo yum install httpry
也可以源码编译
$ sudo yum install gcc make git libpcap-devel
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
下载软件包:
yum install httpry
http://mirrors.neusoft.edu.cn/epel/6/x86_64/httpry-0.1.8-1.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 503 Service Temporarily Unavailable"
尝试其他镜像。
httpry-0.1.8-1.el6.x86_64.rpm | 35 kB 00:00
运行 rpm_check_debug
执行事务测试
已安装:
httpry.x86_64 0:0.1.8-1.el6
完毕!
假设由于某种原因,你需要嗅探HTTP站点的流量(如HTTP请求与响应)。举个例子,你可能在测试一个web服务器的实验性功能,或者你在为某个web应用或RESTful服务排错,又或者你正在为PAC(proxy auto config)排错或寻找某个站点下载的恶意软件。不论什么原因,在这些情况下,进行HTTP流量嗅探对于系统管理、开发者、甚至最终用户来说都是很有帮助的。
数据包嗅工具tcpdump被广泛用于实时数据包的导出,但是你需要设置过滤规则来捕获HTTP流量,甚至它的原始输出通常不能方便的停在HTTP协议层。实时web服务器日志解析器如ngxtop可以提供可读的实时web流量跟踪痕迹,但这仅适用于可完全访问live web服务器日志的情况。
ngxtop: 实时监视 Nginx http://www.linuxidc.com/Linux/2014-03/99233.htm
要是有一个仅用于抓取HTTP流量的类似tcpdump的数据包嗅探工具就非常好了。事实上,httpry就是:HTTP包嗅探工具。httpry捕获HTTP数据包,并且将HTTP协议层的数据内容以可读形式列举出来。通过这篇指文章,让我们了解如何使用httpry工具嗅探HTTP流量。
在Linux上安装httpry
基于Debian系统(Ubuntu 或 LinuxMint),基础仓库中没有httpry安装包(译者注:本人ubuntu14.04,仓库中已有包,可直接安装)。所以我们需要通过源码安装:
$ sudo apt-get install gcc make git libpcap0.8-dev
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
在Fedora,CentOS 或 RHEL系统,可以使用如下yum命令安装httpry。在CentOS/RHEL系统上,运行yum之前使其能够访问EPEL repo。
$ sudo yum install httpry
如果你仍想通过基于RPM系统的源码来安装httpry的话,你可以通过这几个步骤实现:
$ sudo yum install gcc make git libpcap-devel
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
httpry的基本用法
以下是httpry的基本用法
$ sudo httpry -i <network-interface>
httpry就会监听指定的网络接口,并且实时的显示捕获到的HTTP请求/相应。
在大多数情况下,由于发送与接到的数据包过多导致刷屏很快,难以分析。这时候你肯定想将捕获到的数据包保存下来以便离线分析。可以使用'b'或'-o'选项保存数据包。'-b'选项将数据包以二进制文件的形式保存下来,这样可以使用httpry软件打开文件以浏览。另一方面,'-o'选项将数据以可读的字符文件形式保存下来。
以二进制形式保存文件:
$ sudo httpry -i eth0 -b output.dump
浏览所保存的HTTP数据包文件:
$ httpry -r output.dump
注意,不需要根用户权限就可以使用'-r'选项读取数据文件。
将httpry数据以字符文件保存:
$ sudo httpry -i eth0 -o output.txt
来自:http://www.linuxidc.com/Linux/2014-11/108865.htm
Fedora、centos、RHEL系统需要安装EPEL源
$ sudo yum install httpry
也可以源码编译
$ sudo yum install gcc make git libpcap-devel
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
下载软件包:
yum install httpry
http://mirrors.neusoft.edu.cn/epel/6/x86_64/httpry-0.1.8-1.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 503 Service Temporarily Unavailable"
尝试其他镜像。
httpry-0.1.8-1.el6.x86_64.rpm | 35 kB 00:00
运行 rpm_check_debug
执行事务测试
已安装:
httpry.x86_64 0:0.1.8-1.el6
完毕!
假设由于某种原因,你需要嗅探HTTP站点的流量(如HTTP请求与响应)。举个例子,你可能在测试一个web服务器的实验性功能,或者你在为某个web应用或RESTful服务排错,又或者你正在为PAC(proxy auto config)排错或寻找某个站点下载的恶意软件。不论什么原因,在这些情况下,进行HTTP流量嗅探对于系统管理、开发者、甚至最终用户来说都是很有帮助的。
数据包嗅工具tcpdump被广泛用于实时数据包的导出,但是你需要设置过滤规则来捕获HTTP流量,甚至它的原始输出通常不能方便的停在HTTP协议层。实时web服务器日志解析器如ngxtop可以提供可读的实时web流量跟踪痕迹,但这仅适用于可完全访问live web服务器日志的情况。
ngxtop: 实时监视 Nginx http://www.linuxidc.com/Linux/2014-03/99233.htm
要是有一个仅用于抓取HTTP流量的类似tcpdump的数据包嗅探工具就非常好了。事实上,httpry就是:HTTP包嗅探工具。httpry捕获HTTP数据包,并且将HTTP协议层的数据内容以可读形式列举出来。通过这篇指文章,让我们了解如何使用httpry工具嗅探HTTP流量。
在Linux上安装httpry
基于Debian系统(Ubuntu 或 LinuxMint),基础仓库中没有httpry安装包(译者注:本人ubuntu14.04,仓库中已有包,可直接安装)。所以我们需要通过源码安装:
$ sudo apt-get install gcc make git libpcap0.8-dev
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
在Fedora,CentOS 或 RHEL系统,可以使用如下yum命令安装httpry。在CentOS/RHEL系统上,运行yum之前使其能够访问EPEL repo。
$ sudo yum install httpry
如果你仍想通过基于RPM系统的源码来安装httpry的话,你可以通过这几个步骤实现:
$ sudo yum install gcc make git libpcap-devel
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install
httpry的基本用法
以下是httpry的基本用法
$ sudo httpry -i <network-interface>
httpry就会监听指定的网络接口,并且实时的显示捕获到的HTTP请求/相应。
在大多数情况下,由于发送与接到的数据包过多导致刷屏很快,难以分析。这时候你肯定想将捕获到的数据包保存下来以便离线分析。可以使用'b'或'-o'选项保存数据包。'-b'选项将数据包以二进制文件的形式保存下来,这样可以使用httpry软件打开文件以浏览。另一方面,'-o'选项将数据以可读的字符文件形式保存下来。
以二进制形式保存文件:
$ sudo httpry -i eth0 -b output.dump
浏览所保存的HTTP数据包文件:
$ httpry -r output.dump
注意,不需要根用户权限就可以使用'-r'选项读取数据文件。
将httpry数据以字符文件保存:
$ sudo httpry -i eth0 -o output.txt
来自:http://www.linuxidc.com/Linux/2014-11/108865.htm
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7853/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2015-3-10 18:02
评论列表