Ubuntu系统中安装使用tcpdump来统计HTTP请求

  Ubuntu系统中安装使用tcpdump来统计HTTP请求

安装

  tcpdump的安装还是比较讨厌的...

  1.网上下载获得libpcap和tcpdump

  http://www.tcpdump.org/

  2.安装c编译所需包:

  代码如下:

  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请求

  这里所说的统计http请求,是指统计QPS(每秒请求数),统计前十条被访问最多的url。一般做这样的统计时,我们经常会使用网站访问日志来统计。当我们来到一个陌生的服务器环境,需要立即统计当前前十条被访问最多的url,来初步确定是否存在攻击行为,使用tcpdump则简单得多,因为我们不需要关心网站日志在哪,不需要考虑网站日志有没有开启之类的问题,直接用tcpdump捕捉当前的http包,再进一步过滤,就会得出我们想要的统计。此功能已集成到EZHTTP,下面是效果图:



  下面介绍其统计方法。

  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 ("%sn",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

(0)

相关推荐

  • 如何在Ubuntu系统中安装Wine

    基于其友好的工作界面和安全的账户管理方式,Ubuntu系统被越来越多的用户接受并投入使用,占据了操作系统市场的一席之地.但是伴随而来的兼容性问题却阻碍了系统普及的脚步,许多程序仅支持微软Windows ...

  • ubuntu系统中安装editplus的方法

    在ubuntu下我们用命令安装就行了 sudo apt-get install wine 然后在命令控制端输入以下命令来获取EditPlus的最新安装文件,放到你要安装的目录里。原文中下载的是epp2 ...

  • Ubuntu系统中安装vim与中文帮助文档

    在Windows下面玩的Vim,搬到Ubuntu上面之后感觉Vi用着特别别扭(尤其是剪切板上面的东西无法paste在Vi中...)于是乎...打算把Vi改装成Vim,这样也许就会好多了.废话不多说,开 ...

  • 在Ubuntu系统中安装Chrome浏览器的教程

    添加PPA从Google Linux Repository(http://www.google.com/linuxrepositories/)下载安装Key,或把下面的代码复制进终端,回车,需要管理员 ...

  • Ubuntu系统如何安装软件

    大多数人认为的Linux系统安装软件都比较麻烦,Linux系统的软件也非常少,其实不然,Ubuntu发行版的Linux安装软件非常简单,软件应用也非常多,今天小编就给大家分享Ubuntu系统中如何安装 ...

  • ubuntu系统中删除/卸载自行安装的字体的方法

    ubuntu系统不同于windows系统,windows字体我们都会删除,下面分享删除ubuntu系统中我们自己安装的自己的方法,需要的朋友可以进来学习一下,删除多余的字体可以减少占用电脑内存,提高系 ...

  • 在Ubuntu系统中文件进行加密传输

    随着互联网的普及,很多公司在各地的分公司都经常需要通过互联网共享或传输一些重要的数据或文件。在网络安全问题日益突出的今天,如何保证Ubuntu系统的数据在传输过程中的安全性呢?本文为大家讲解在Ubun ...

  • Ubuntu系统中Flash视频播放方法

    Ubuntu系统可用的Flash播放器很多,这里我们介绍最为常用的两种Flash播放软件,即官方的Adobe Flash Player和开源的Swfdec,助大家玩转Flash视频。本文介绍基于Ubu ...

  • ubuntu系统无法安装wps怎么办?

    ubuntu系统无法安装wps怎么办? 1.安装32位库,安装新立德软件包管理器:打开终端后输入命令: sudo apt-get install synaptic 2.打开新立德软件包管理器,选择路径 ...