tcpdump统计http请求
2016-04-15 10:25
459 查看
下面介绍其统计方法。
1、捕捉10秒的数据包。
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 /tmp/tcp.cap | grep 'Host: ' | cut -d' ' -f2 | sort | uniq -c | sort -n]
此命令是本文的关键,通过strings显示二进制文件tcp.cap所有可打印字符,然后通过grep和awk过滤出http请求,并把拼接得到的url(包括域名+uri)写进一个文件url.txt。
3、这时我们拿到了近10秒钟所有的访问url,接下来的统计就容易得出,比如:
统计QPS: Linux学习,http:// linux.it.net.cn
(( 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
1、捕捉10秒的数据包。
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 /tmp/tcp.cap | grep 'Host: ' | cut -d' ' -f2 | sort | uniq -c | sort -n]
此命令是本文的关键,通过strings显示二进制文件tcp.cap所有可打印字符,然后通过grep和awk过滤出http请求,并把拼接得到的url(包括域名+uri)写进一个文件url.txt。
3、这时我们拿到了近10秒钟所有的访问url,接下来的统计就容易得出,比如:
统计QPS: Linux学习,http:// linux.it.net.cn
(( 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
相关文章推荐
- HTTP请求(GET与POST区别)和响应
- http请求之编码问题
- bzoj1834 [ZJOI2010]network 网络扩容
- 浅谈WebService SOAP、Restful、HTTP(post/get)请求
- javaweb学习总结(四)——Http协议
- 深度卷积网络CNN与图像语义分割
- Linux系统的磁盘内存CPU网络测试工具
- .net http发送put、delete请求报405错误解决办法
- socket连接和http连接的区别
- http报文格式
- 小小图片爬虫
- 网络性能问题
- IE 浏览器证书错误常见问题解答
- Android访问网络,使用HttpURLConnection还是HttpClient?
- IE 浏览器证书错误常见问题解答IE 浏览器证书错误常见问题解答
- Apache HTTP Server 2.4编译安装及其新特性(四)
- 神经网络的收敛问题
- bzoj 2229: [Zjoi2011]最小割 分治&网络流
- Centos7网络配置,vsftpd安装及530报错解决
- 基于ARM的网络视频监控开发+网页按钮控制摄像头方位 ---fwqlzz love is for ever