Linux系统如何在命令行上嗅探HTTP请求
这款工具名称叫做httpry
闲话少说
一,安装方法
debian/ubuntu系统
1 apt-get install gcc make git libpcap0.8-dev
2 git clone https://github.com/jbittel/httpry.git
3 cd httpry
4 make
5 make install
redhat/centos
可以先以 yum install httpry方式尝试安装,如果源库不存在,再以下列方式安装
yum install gcc make git libpcap-devel
git clone https://github.com/jbittel/httpry.git
cd httpry
make
make install
安装成功后,httpry是直接写入环境/usr/sbin路径下的,所以可以直接运行
二,使用方法
httpry -i : network-interface = eth1(外网卡)/ eth0(内网卡) 默认情况下只监听80端口
不过在大多数情况下,由于大量数据包进进出出,你会看到快速滚动的输出结果。所以,你应该保存已捕获的HTTP数据包以便离线分析。为此,使用“-b”或“-o”选项。“-b”选项让你可以将原始的HTTP数据包保存到二进制文件中,然后可以使用httpry回放HTTP数据包。另一方面,“-o”选项将httpry人类可读的输出结果保存到文本文件中。
想把原始的HTTP数据包保存到二进制文件中:
httpry -i eth1 -b output.dump
回放已保存的HTTP数据包:
httpry -r output.dump
想将httpry的输出结果保存到文本文件中:
httpry -i eth1 -o output.txt
如果你只想监视特定的HTTP方法(比如GET、POST、PUT、HEAD和CONNECT等),可以使用“-m”选项
httpry -i eth1 -m get,head
三,高级玩法
下载了httpry的源代码,也即前面使用git clone https://github.com/jbittel/httpry.git 下载到本地的httpry目录,该源码目录中有一系列有助于分析httpry输出结果的Perl脚本。这些脚本位于httpry/scripts/plugins目录中,可以使用这些perl“插件”文件对访问进行分析
使用perl 这些插件的前提是,先使用httpr “-o”选项运行httpry一段时间获得了输出文件,再使用下面这个命令,运行一次脚本
$ cd httpry/scripts
$ perl parse_log.pl -d ./plugins : 即为 -o 选项运行后输入的文件名
在用parse_log.pl 完成之后,你会在httpry/scripts目录下看到许多分析结果(*.txt/xml)。比如说,log_summary.txt看起来就像下面这样:
还有hostname.txt common.txt
运行一次parse_log.pl后 会生成很多分析文件,可以基于这些文件对网站目前的访问做分析
还有其他用途,大家可以一块摸索 。