tcpdump

tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
               [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
               [ -i interface ] [ -m module ] [ -M secret ]
               [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
               [ -W filecount ]
               [ -E spi@ipaddr algo:secret,...  ]
               [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
               [ expression ]

tcpdump的表达式介绍

表达式[ expression ]是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。 

在表达式中一般如下几种类型的关键字: 

第一种是关于类型的关键字,主要包括hostnetport
例如:host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0指明202.0.0.0是一个网络地址,port 23指明端口号是23。如果没有指定类型,缺省的类型是host 

第二种是确定传输方向的关键字,主要包括srcdstdst or srcdst and src,这些关键字指明了传输的方向。
举例说明,src 210.27.48.2
,指明ip包中源地址是210.27.48.2dst net 202.0.0.0指明目的网络地址是202.0.0.0。如果没有指明方向关键字,缺省是src or dst 

第三种是协议的关键字,主要包括fddiiparprarptcpudp等类型。
fddi指明是在
FDDI (分布式光纤数据接口网络)上的特定的网络协议,实际上它是”ether”的别名,fddiether 具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump 将会监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gatewaybroadcastlessgreater,还有三种逻辑运算,取非运算是 ‘not'或'!‘;与运算是’and’’&&'或运算是’or’’||’。这些关键字可以组合起来构成强大的组合条件来满足人们的需要。

使用括号"()"可以改变表达式的优先级,但需要注意的是括号会被shell解释,所以应该使用反斜线"\"转义为"\(\)",在需要的时候,还需要包围在引号中。

一个基本的表达式格式为

tcpdump [ options ] [ not ] proto dir type

tcpdump的参数介绍

-i interface
指定tcpdump需要监听的网络接口(网卡)。若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo),一旦找到第一个符合条件的接口,搜寻马上结束。可以使用'any'关键字表示所有网络接口。

-n
对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
-nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。

-s len
抓取数据包时默认抓取长度为68字节
-s 0表示可以抓到完整的数据包

-v
在解析和打印时,生成(稍微多一点)详细的输出。例如,打印IP包中的生存时间、标识、总长度和选项。还支持附加的包完整性检查,如验证IP和ICMP头校验和。
当使用-w选项写入文件时,每10秒报告捕获的包的数量。
-vv
:更详细的输出。例如,从NFS应答包打印其他字段,并且完全解码SMB包。
-vvv:产生比-vv更详细的输出。

-X
在解析和打印时,除了打印每个包的头之外,还要以十六进制和ASCII格式打印每个包的数据(不包括链接级头)。这对于分析新协议非常方便。
-XX:在解析和打印时,除了打印每个包的头信息外,还要以十六进制和ASCII格式打印每个包的数据(包括它的链路级头信息)。

-w
将抓取的报文信息输出到指定文件中

示例

抓取80端口的包,输出到test.cap文件中:
tcpdump -i any -s 0 -w /home/test.cap tcp -v port 80

抓取80端口的包,直接输出报文信息:
tcpdump -i any -s 0 -nn -XX -vv port 80

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值