命令行参数
tcpdump [ -adeflnNOpqStvx ] [ -c数量] [ -F文件名]
[ -i网络接口] [ -r文件名] [ -s snaplen ]
[ -T类型] [ -w文件名] [表达式]
-n:不将网络地址转换为名称
-a:将网络地址和广播地址转换为名称;
-e:在输出行上打印数据链路层的报头信息;
-t:不在输出的每一行上打印时间戳;
-v:输出稍微详细的信息,例如ip分组可以包括ttl和服务类型的信息;
-vv:输出详细的消息信息;
-c:在收到指定的数据包数量时停止tcpdump;
-F:从指定文件读取表达式,忽略其他表达式;
-i:指定要监听的网络接口;
-r:从指定的文件读取软件包。 这些软件包通常由-w选项生成。
-w:将软件包直接写入文件,不进行分析和打印;
-指定-s:数据报的大小。 # # # # -否则wireshark分析的包太小了
公式
tcpdump将其用作过滤消息的条件,如果一条消息满足表
在达式条件下,将捕获此消息。 如果没有给出任何条件,
网络上的所有数据包都将被拦截。
1 .类型关键字
主机:指定主机
net:指定网络地址
port:指定端口号
默认类型为host
2 .方向关键词
src:指定源
dst:指定目的
src or dst
src and dst
默认值为src or dst
3 .协议关键字
包括fddi、ip、arp、rarp、tcp、udp等类型
4 .逻辑运算
非运算为' not '! '
“与”运算为“与”,“”
或者运算为' or '、'|';
样品
拦截135.252.142.150中所有主机接收到的分组和发送的分组
tpdumphost 135.252.142.150-ieth 0
2 .获取除主机135.252.33.186和主机135.252.142.150以外的所有内容
主机通信的ip数据包、命令的使用
tcpdump ip host 210.27.48.1 and! 210.27.48.2
3 .获取由主机135.252.33.186接收或发出的telnet分组
tpdumptcpport 23 host 135.252.142.150
4 .获取主机135.252.142.121端口5060上的所有数据报
tcpdump port 5060 andhost 135.252.142.121
5 .获取主机135.252.142.150上的所有udp数据报
tpdumpudpandhost 135.252.142.150
or:
tpdumpipproto_ udpandhost 135.252.142.150
6 .获取主机和135.252.142.150的源端口为5060,目标端口为
45413个数据报
tcpdump srcport 5060 and dstport 45413 andhost 135.252.142.150
7 .打印所有数据报,包括数据。 也就是说,数据报(SYN、ACk和Fin除外)
tcpdump ' TCP端口80 and
() ) IP[2:2]-) (IP[0]0xf) ) ) ) TCP[12]0xf0)2) )!=0) '
8 .通过网关135.252.33.1打印所有长于576的数据报
t pdump ' gatewaysnupandip [ 2:2 ] 576 '
IP [ 2:2 ]从第:个字节开始的两个字节。
实现
CP dump--------------------------------------------------------------------------------------
------------- -请参阅
如果note:Linux (或unix )上没有安装xwindow,请考虑使用tcpdump;如果不支持此协议,请使用tcpdump捕获数据包