mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PUB:How to sniff HTTP traffic from the command line on Linux
@SPccman
This commit is contained in:
parent
bcb77309c8
commit
7b4d669c07
@ -1,14 +1,14 @@
|
|||||||
使用Linux命令行嗅探HTTP流量
|
Linux 命令行下嗅探 HTTP 流量的工具:httpry
|
||||||
================================================================================
|
================================================================================
|
||||||
假设由于某种原因,你需要嗅探HTTP站点的流量(如HTTP请求与响应)。举个例子,你可能在测试一个web服务器的实验性功能,或者你在为某个web应用或RESTful服务排错,又或者你正在为PAC(proxy auto config)排错或寻找某个站点下载的恶意软件。不论什么原因,在这些情况下,进行HTTP流量嗅探对于系统管理、开发者、甚至最终用户来说都是很有帮助的。
|
假设由于某种原因,你需要嗅探HTTP站点的流量(如HTTP请求与响应)。举个例子,你可能在测试一个web服务器的实验性功能,或者你在为某个web应用或RESTful服务排错,又或者你正在为PAC(proxy auto config)排错或寻找某个站点下载的恶意软件。不论什么原因,在这些情况下,进行HTTP流量嗅探对于系统管理、开发者、甚至最终用户来说都是很有帮助的。
|
||||||
|
|
||||||
数据包嗅工具tcpdump被广泛用于实时数据包的导出,但是你需要设置过滤规则来捕获HTTP流量,甚至它的原始输出通常不能方便的停在HTTP协议层。实时web服务器日志解析器如[ngxtop][3]提供可读的实时web流量跟踪痕迹,但这仅适用于可完全访问live web服务器日志的情况。
|
数据包嗅工具tcpdump被广泛用于实时数据包的导出,但是你需要设置过滤规则来捕获HTTP流量,甚至它的原始输出通常不能方便的停在HTTP协议层。实时web服务器日志解析器如[ngxtop][3]可以提供可读的实时web流量跟踪痕迹,但这仅适用于可完全访问live web服务器日志的情况。
|
||||||
|
|
||||||
要是有一个仅用于抓取HTTP流量的类tcpdump的数据包嗅探工具就非常好了。事实上,[httpry][4]就是:**HTTP包嗅探工具**。httpry捕获HTTP数据包,并且将HTTP协议层的数据内容以可读形式列举出来。通过这篇指文章,让我们了解如何使用httpry工具嗅探HTTP流量。
|
要是有一个仅用于抓取HTTP流量的类似tcpdump的数据包嗅探工具就非常好了。事实上,[httpry][4]就是:**HTTP包嗅探工具**。httpry捕获HTTP数据包,并且将HTTP协议层的数据内容以可读形式列举出来。通过这篇指文章,让我们了解如何使用httpry工具嗅探HTTP流量。
|
||||||
|
|
||||||
###在Linux上安装httpry###
|
###在Linux上安装httpry###
|
||||||
|
|
||||||
基于Debian系统(Ubuntu 或 LinuxMint),基础仓库中没有httpry安装包(译者注:本人ubuntu14.04,仓库中已有包,可直接安装)。所以我们需要通过源码安装:
|
基于Debian系统(Ubuntu 或 LinuxMint),基础仓库中没有httpry安装包(译者注:本人ubuntu14.04,仓库中已有包,可直接安装)。所以我们需要通过源码安装:
|
||||||
|
|
||||||
$ sudo apt-get install gcc make git libpcap0.8-dev
|
$ sudo apt-get install gcc make git libpcap0.8-dev
|
||||||
$ git clone https://github.com/jbittel/httpry.git
|
$ git clone https://github.com/jbittel/httpry.git
|
||||||
@ -16,7 +16,7 @@
|
|||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
在Fedora,CentOS 或 RHEL系统,可以使用如下yum命令安装httpry。在CentOS/RHEL系统上,运行yum之前使齐能够[EPEL repo][5]。
|
在Fedora,CentOS 或 RHEL系统,可以使用如下yum命令安装httpry。在CentOS/RHEL系统上,运行yum之前使其能够访问[EPEL repo][5]。
|
||||||
|
|
||||||
$ sudo yum install httpry
|
$ sudo yum install httpry
|
||||||
|
|
||||||
@ -62,11 +62,11 @@ httpry就会监听指定的网络接口,并且实时的显示捕获到的HTTP
|
|||||||
|
|
||||||
![](https://farm6.staticflickr.com/5551/14799184220_3b449d422c_z.jpg)
|
![](https://farm6.staticflickr.com/5551/14799184220_3b449d422c_z.jpg)
|
||||||
|
|
||||||
如果你下载了httpry的源码,你会发现源码下有一系Perl脚本,这些脚本用于分析httpry输出。脚本位于目录httpry/scripts/plugins。如果你想写一个定制的httpry输出分析器,则这些脚可以作为很好的例子。其中一些有如下的功能:
|
如果你下载了httpry的源码,你会发现源码下有一些Perl脚本,这些脚本用于分析httpry输出。脚本位于目录httpry/scripts/plugins。如果你想写一个定制的httpry输出分析器,则这些脚可以作为很好的例子。其中一些有如下的功能:
|
||||||
|
|
||||||
- **hostnames**: 显示唯一主机名列表.
|
- **hostnames**: 显示唯一主机名列表。
|
||||||
- **find_proxies**: 探测web代理.
|
- **find_proxies**: 探测web代理。
|
||||||
- **search_terms**: 查找及计算在搜索服务里面的搜索词。
|
- **search_terms**: 查找及统计在搜索服务里面的搜索词。
|
||||||
- **content_analysis**: 查找含有指定关键的URL。
|
- **content_analysis**: 查找含有指定关键的URL。
|
||||||
- **xml_output**: 将输出转换为XML形式。
|
- **xml_output**: 将输出转换为XML形式。
|
||||||
- **log_summary**: 生成日志汇总。
|
- **log_summary**: 生成日志汇总。
|
||||||
@ -77,9 +77,9 @@ httpry就会监听指定的网络接口,并且实时的显示捕获到的HTTP
|
|||||||
$ cd httpry/scripts
|
$ cd httpry/scripts
|
||||||
$ perl parse_log.pl -d ./plugins <httpry-output-file>
|
$ perl parse_log.pl -d ./plugins <httpry-output-file>
|
||||||
|
|
||||||
你可能在使用插件的时候遇到警告。比如,如果你没有安装带有DBI接口的MySQL数据库那么使用db_dump插件时可能会失败。如果一个插件初始化失败的话,那么这个插件不能使用。所以你可以忽略那些警告。
|
你可能在使用插件的时候遇到警告。比如,如果你没有安装带有DBI接口的MySQL数据库,那么使用db\_dump插件时可能会失败。如果一个插件初始化失败的话,那么只是这个插件不能使用,所以你可以忽略那些警告。
|
||||||
|
|
||||||
当parse_log.pl完成后,你将在httpry/scripts 目录下看到数个分析结果。例如,log_summary.txt 与如下内容类似。
|
当parse\_log.pl完成后,你将在httpry/scripts 目录下看到数个分析结果。例如,log\_summary.txt 与如下内容类似。
|
||||||
|
|
||||||
![](https://farm4.staticflickr.com/3845/14799162189_b85abdf21d_z.jpg)
|
![](https://farm4.staticflickr.com/3845/14799162189_b85abdf21d_z.jpg)
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ via: http://xmodulo.com/2014/08/sniff-http-traffic-command-line-linux.html
|
|||||||
|
|
||||||
作者:[Dan Nanni][a]
|
作者:[Dan Nanni][a]
|
||||||
译者:[DoubleC](https://github.com/DoubleC)
|
译者:[DoubleC](https://github.com/DoubleC)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||||
|
|
Loading…
Reference in New Issue
Block a user