1、tcpdump

TcpDump是Linux中强大的网络数据采集分析工具之一。用简单的话来定义tcpdump根据使用者的定义对网络上的数据包进行截获的包分析工具。


2、tcpdump的总的输出格式为:

系统时间 来源主机 端口 > 目标主机.端口 数据包参数


3、命令

1)默认启动

tcpdump

普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

 

监视指定网络接口的数据包

2)tcpdump -i eth1

如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。 

 

监视指定主机的数据包

3)打印所有进入或离开sundown的数据包.

tcpdump host sundown

也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包

tcpdump host 210.27.48.1


4)截获主机192.127.8.1 和主机192.127.8.2 或192.127.48.3的通信

tcpdump host 192.127.8.1 and \ (192.127.8.2 or 192.127.48.3 \)


5)打印ace与任何其他主机之间通信的IP数据包, 但不包括与helios之间的数据包.

tcpdump ip host ace and not helios


6)如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:

tcpdump ip host 210.27.48.1 and ! 210.27.48.2


7)截获主机hostname发送的所有数据

tcpdump -i eth0 src host hostname


8)监视所有送到主机hostname的数据包

tcpdump -i eth0 dst host hostname


监视指定主机和端口的数据包

9)对本机的udp 123端口进行监视

tcpdump udp port 123


监视指定网络的数据包

10)打印网络地址为ucb-ether的所有数据包

tcpdump net ucb-ether