美文网首页随笔-生活工作点滴工作生活
Linux 命令行下嗅探 HTTP 流量的工具:httpry

Linux 命令行下嗅探 HTTP 流量的工具:httpry

作者: pandali1992 | 来源:发表于2019-07-04 18:16 被阅读0次

为了更好的服务我们的客户,我们需要采集用户常用的几个视频站点,然后针对这些站点进行优化。经过一番查找,我们决定先试用httpry来简单的收集一下我们的用户的浏览记录。

1.参考文档

参考文档

2.安装


基于Debian系统(Ubuntu 或 LinuxMint),基础仓库中没有httpry安装包需要通过源码安装:

$ 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

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

最后make install的时候会报错,原因是目录不存在,执行以下命令

mkdir -p /usr/man/man1

mkdir -p /usr/local/man/man1

make install

至此,httpry就可以正常使用了,文件列表如下图所示

3.使用httpry

最简单的使用

httpry -i 网卡名称 例如 (httpry -i eth0)

使用httpry -h可以查看帮助命令

-b 文件将HTTP数据包写入二进制转储文件

-d 以守护进程运行

-f 格式指定输出格式字符串

-F 清除

-h 打印此帮助信息

-i 设备在此接口上侦听

-L threshold为速率统计指定一个RPS阈值

-m 方法指定要分析的请求方法(get,post,head,put等)

-n count设置要分析的HTTP数据包数

-o 文件写入输出到文件

-p 禁用混杂模式

-P 在后台程序模式下运行时使用自定义PID文件名

-q 抑制非临界输出

-r 文件从输入文件读取数据包

-s 以每秒HTTP请求数模式运行

-t 秒指定速率统计的显示间隔

-u 用户设置进程所有者

此外,如果下载了源码的同学,还可以使用perl脚本对数据进行简单的分析

目录是在httpry源码目录下面有一个scripts目录(前提是你已经生成了日志记录)

./httpry/scripts/perl ./httpry/scripts/parse_log.pl -d ./httpry/scripts/plugins <httpry-output-file>

你可能在使用插件的时候遇到警告。比如,如果你没有安装带有DBI接口的MySQL数据库,那么使用db_dump插件时可能会失败。如果一个插件初始化失败的话,那么只是这个插件不能使用,所以你可以忽略那些警告。

执行完毕后,会在执行命令的目录下面生成 7 (插件失败的话对应缺少一个文件)个文件,

common_log.txt 查找含有指定关键的URL

find_proxies.txt 探测web代理

hostnames.txt 显示唯一主机名列表

log_summary.txt 生成日志汇总

search_terms.txt 查找及统计在搜索服务里面的搜索词

xml_output.xml 将输出转换为XML形式

db_dump 日志文件数据保存数据库

因为日志内容涉及隐私部分,文件内容需要自行查看

注:

因为文件内容比较多,所有采用shell脚本去执行,然后将结果保存,现将shell脚本贴出,比较傻,请多指教:

#/bin/sh

yesterdayDate=`date -d "1 day ago" +"%Y%m%d"`

todayDate=`date -d "now" +"%Y%m%d"`

pkill httpry

if [ ! -d "/var/log/httpry" ]; then

  mkdir /var/log/httpry

fi

if [ ! -d "/var/log/httpry/log" ]; then

  mkdir /var/log/httpry/log

fi

httpry -i eth0 -o /var/log/httpry/log/${todayDate}output.log -d

if [ ! -d "/var/log/httpry/${yesterdayDate}" ]; then

  mkdir /var/log/httpry/${yesterdayDate}

fi

cd /var/log/httpry/${yesterdayDate}

if [ -f "/var/log/httpry/log/${yesterdayDate}output.log" ]; then

  perl /home/httpry/scripts/parse_log.pl -d /home/httpry/scripts/plugins /var/log/httpry/log/${yesterdayDate}output.log

fi

相关文章

网友评论

    本文标题:Linux 命令行下嗅探 HTTP 流量的工具:httpry

    本文链接:https://www.haomeiwen.com/subject/ldorhctx.html