在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
安装 复制代码 代码如下:apt-get install build-essential 3.安装 libpcap的前置: 复制代码 代码如下:apt-get install flex,apt-get install bison 4.安装libpcap。 tcpdump的使用必须有这库。 复制代码 代码如下:tar xvfz libpcap-1.2.1.tar.gz //解压 进入解压之后的文件目录 运行 复制代码 代码如下:./configure //生成makefile文件 make //进行编译 make install //安装 库文件默认安装在目录 /usr/lib,头文件默认安装在 /usr/include 5.安装tcpdump 复制代码 代码如下:tar xvfz tcpdump.4.2.1.tar.gz //解压 进入解压之后的文件目录 运行 复制代码 代码如下:./configure //生成makefile文件 make //进行编译 make install //安装 库文件默认安装在目录 /usr/lib,头文件默认安装在 /usr/include 测试是否成功安装:命令行输入 tcpdump有网络信息显示!! 6.可能遇到的问题: 复制代码 代码如下:#tcpdump #tcpdump: no suitable device found 原因:网络监听需要root权限,切换到root用户下就可以正常使用了。 借助tcpdump统计http请求 下面介绍其统计方法。 复制代码 代码如下:tcpdump -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x504f -w /tmp/tcp.cap -s 512 2>&1 & sleep 10 kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'` 此命令表示监控网卡eth0,捕捉tcp,且21-22字节字符为GE或者PO,表示匹配GET或者POST请求的数据包,并写到/tmp/tcp.cap文件。 2、这时候我们得到最新10秒的二进制数据包文件,我们下一步就是通过strings命令来找出GET/POST的url以及Host。 复制代码 代码如下:strings /tmp/tcp.cap | grep -E "GET /|POST /|Host:" | grep --no-group-separator -B 1 "Host:" | grep --no-group-separator -A 1 -E "GET /|POST /" | awk '{url=$2;getline;host=$2;printf ("%s\n",host""url)}' > url.txt 此命令是本文的关键,通过strings显示二进制文件tcp.cap所有可打印字符,然后通过grep和awk过滤出http请求,并把拼接得到的url(包括域名+uri)写进一个文件url.txt。 3、这时我们拿到了近10秒钟所有的访问url,接下来的统计就容易得出,比如: 统计QPS: 复制代码 代码如下:(( qps=$(wc -l /tmp/url.txt | cut -d' ' -f 1) / 10 )) 排除静态文件统计前10访问url: 复制代码 代码如下:grep -v -i -E "\.(gif|png|jpg|jpeg|ico|js|swf|css)" /tmp/url.txt | sort | uniq -c | sort -nr | head -n 10 |
请发表评论