首页 > 代码库 > Linux命令——tcpdump

Linux命令——tcpdump

简介

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

实用命令实例

1. 默认启动

tcpdump

直接启动tcpdump将监视第一个网络接口上所有流过的数据包

2. 监听指定网络接口数据包

tcpdump -i ens32

3. 监视指定主机的数据包

指定IP,例如截获所有 59.78.139.215 的主机收到的和发出的所有的数据包

tcpdump -i ens32 59.78.139.215

打印主机 59.78.139.215 与主机 59.78.139.216 或者与主机 59.78.139.217 间通信的数据包

tcpdump -i ens32 host 59.78.139.215 and \(59.78.139.216 or 59.78.139.217\)

打印主机 59.78.139.215 与任何其他主机之间通信的IP数据包, 但不包括与主机 59.78.139.216 之间的数据包

tcpdump -i ens32 host 59.78.139.215 and not 59.78.139.216

截获主机 59.78.139.215 发送的所有数据

tcpdump -i ens32 src 59.78.139.215

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

tcpdump -i ens32 dst 59.78.139.215

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

如果想要获取主机 59.78.139.215 接收或发出的telnet包,使用如下命令

tcpdump -i ens32 tcp port 23 and host 59.78.139.215

对本机的udp 123 端口进行监视 123 为ntp的服务端口

 tcpdump -i ens32 udp port 123

 

 

Linux命令——tcpdump