a) 截获所有211.78.3.2的主机收到的和发出的所有的数据包:
#tcpdump host 211.78.3.2 |
b)截获主机211.78.3.2和主机211.78.3.3或211.78.3.4的通信,使用命令:
#tcpdump host 211.78.3.2 and \ (211.78.3.2 or 211.78.3.4 \) |
c)获取主机211.78.3.2除了和主机211.78.3.6之外所有主机通信的ip包,使用命令:
#tcpdump ip host 211.78.3.2 and ! 211.78.3.6 |
d)获取主机211.78.3.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 211.78.3.1 |
(3)查看tcpdump的输出结果
由于tcpdump的捕包功能强大,因而其输出也是非常丰富的,下面我们介绍几种典型的tcpdump命令的输出信息。
a)查看数据链路层头信息
使用如下命令
#tcpdump --e host patterson |
patterson是一台装有linux的主机,其MAC地址是0:58:46:32:EF:AF,S_Server是一台装有SOLARIC的SUN工作站,它的MAC地址是7:43:25:98:6E:AF;上一条命令的输出结果如下所示:
|
分析:23:49:35是显示的时间,102598是ID号,eth0 <表示从网络接口eth0 接受该数据包,eth0 >表示从网络接口设备发送数据包, 7:43:25:98:6e:af是主机S_Server的MAC地址,它表明是从源地址S_Server发来的数据包. 0:58:46:32:ef:af是主机PATTERSON的MAC地址,表示该数据包的目的地址是PATTERSON . ip 是表明该数据包是IP数据包,60 是数据包的长度, S_Server.33357 > patterson.telnet 表明该数据包是从主机S_Server的33357端口发往主机PATTERSON的TELNET(23)端口. ack 22535 表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.
b)ARP包的tcpdump输出信息
使用如下命令
#tcpdump arp |
得到的输出结果是:
|
分析: 23:52:42是时间戳, 203783是ID号, eth0 >表明从主机发出该数据包, arp表明是ARP请求包, who-has route tell patterson表明是主机patterson请求主机ROUTE的MAC地址。0:58:46:32:ef:af是主机patterson的MAC地址。
c)TCP包的输出信息
src > dst: flags data-seqno ack window urgent options |
src > dst:表明从源地址到目的地址,flags是TCP包中的标志信息,S是SYN标志, F(FIN), P (PUSH) , R (RST),"." (没有标记); data-seqno是数据包中的数据的顺序号,ack是下次期望的顺序号,window是接收缓存的窗口大小,urgent表明数据包中是否有紧急指针.Options是选项.
d)UDP包的输出信息
用tcpdump捕获的UDP包的一般输出信息是:
route.port1 > patterson.port2: udp length |
route.port1 > patterson.port2: udp length
UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机patterson的port2端口,类型是UDP,包的长度是length。