对tcpdump工具在Linux的应用实例
本文主要介绍了Linux tcpdump工具的应用,tcpdump主要用来抓取网络数据包,需要的朋友可以参考一下。首先,看一个更基本的用法:
复制代码代码如下所示:
我是tcpdump
eth0的参数值,表示需要捕获的网络,这是一个必需的参数。
具体参数和意义tcpdump:
我:网络接口指定tcpdump的倾听者
S:指定要监听的数据包的长度
- c:指定监视自动停止捕获后到达指定数字的包的数量。
w:指定要被听到的数据包保存在一个要保存的文件中。
一:指定每个监测包印有ACSII可见字符
n:指定将数据包中的每个域名显示为IP地址。
NN:指定要监视的每个数据包中的域名转换成IP,端口从应用程序名称显示为端口号。
E:指定打印被监控的分组链层信息的信息,包括源MAC和目的mac,以及网络层的协议。
p:将网卡设置为非混合模式,不能与主机或广播一起使用
r:指定从文件中读取数据包。
S:指定监视的每个数据包的TCP绝对序列号是打印的,而不是相对序列号。
tcpdump支持很多关键词。下面是几个例子:
(例1)我192.168.0.250 tcpdump eth0主机-——抓取所有的数据包的主机地址的网口eth0 192.168.0.250。
(例2)tcpdump eth0网我192.168.0.0 / 24————抓住所有数据包的网络地址192.168.0.0 / 24的网口eth0
(例3)tcpdump我eth0端口80 -抓取所有的数据包的端口是80(注意这不是源端口或目标端口)
当然,我们还可以指定源端口或目的端口。
(例4)tcpdump -我是源端口80和端口6100——DST网口eth0,抓源头80端口和目的端口为6100的数据包,在这里我们使用逻辑运算符。
(5)tcpdump eth0 ICMP我抢在网络接口eth0的ICMP数据包
上述例子可以大致反映tcpdump的基本用法。
事实上,tcpdump的主要包括三种类型的关键词。第一类是关于关键字的类型,主要包括主机、网络和端口,如上面的示例(1)(2)(3)、第二类。
它是确定传输方向的关键,主要包括SRC,DST,SRC和DST,SRC和DST,这表明传输的方向,如上面的例子(4)。第三是协议的关键词,包括FDDI、IP、ARP,
RARP,TCP,UDP,IMCP等等,如上面的例子(5)。
除了这三种类型的关键字外,还有其他重要的关键字,如网关、广播、较小、更大和三个逻辑操作。非手术is'not '、'!,和运营商is'and ','。
或操作is'or ',' | | ',这句话可以组合成一个强大的组合条件来满足我们的需要。
用tcpdump计数的HTTP请求
统计的HTTP请求,这里所指的是指统计QPS(每秒请求数)和十个最常访问的网址在第一数据。一般来说,我们经常使用的网站访问日志统计做统计的时候。当我们来到一个陌生的服务器环境,前十最常访问的URL需要立即目前的统计数据,以确定初始攻击,tcpdump的使用是非常简单的,因为我们不需要关心它的Web日志不需要考虑Web日志不开放等问题,直接使用tcpdump捕获HTTP包,然后进一步过滤统计会来结论:我们想要的。这个功能已经被集成到ezhttp,和F下面是效果图:
介绍了以下统计方法。
1,捕获10秒的数据包。
复制代码代码如下所示:
tcpdump eth0 TCP { 20:2我} = 0x4745或TCP { } = 0x504f - 2 W /甲氧苄啶/ tcp.cap S 512 2>1
10睡眠
杀` ps aux grep grep -v grep tcpdump | | | awk {打印2美元的` }
这个命令意味着监控网卡,eth0,捕获TCP和21-22字节字符是GE或PO,它代表了数据匹配GET或POST请求,写 / / tcp.cap TMP文件。
2,此时我们得到了最新的10秒二进制文件包,下一步是通过字符串命令来查找/获取文章的URL和主机。
复制代码代码如下所示:
串/甲氧苄啶/ tcp.cap grep -E得到 / / |后|主持人:| |grep没有组分隔符B主持人:grep 1 --没有组分隔符- 1 - E | / / |后| awk { url = 2美元;getline;主机= 2美元;printf(%s
此命令是本文的关键。它显示所有的可打印字符的二进制文件tcp.cap通过字符串,然后过滤HTTP请求通过grep和awk,并将URL(包括域名+ URI),拼接成一个文件url.txt。
3,我们获得了几乎10秒的URL访问权,下一个统计数据很容易获得,例如:
统计QPS:
复制代码代码如下所示:
((QPS = $(WC—L /甲氧苄啶/ url.txt割D F | 1)/ 10))
在10访问URL之前排除静态文件统计信息:
复制代码代码如下所示:
grep -V -我-。(GIF | JPG JPEG PNG | | | ICO | JS | SWF | CSS) / / url.txt TMP排序uniq C类| | | | NR头N 10