tcpdump:dump the traffic on a network
根据使用者的定义对网络上的数据报进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来分析。它支持针对网络层,协议,主机,网络或端口过滤,并提供and,or,not等逻辑语句来帮助你去掉无用的信息。
使用命令实例
默认启动
tcpdump
普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包
监视指定网络接口的数据包
tcpdump -i eh1
如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。
监视指定主机的数据包
打印所有进入或离开的xiaohu的数据包
tcpdump host xiaohu
也可以指定IP地址,例如截获所有的210.27.48.1的主机收到和发出去的所有的数据包
tcpdump host 210.27.48.1
打印helios 与 hot 或者与 ace 之间通信的数据包
tcpdump host helios and \(hot or ace\)
截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信
tcpdump 210.27.48.1 and \(2190.27.48.2 or 210.27.48.3)
打印ace与任何其他主机之间通信的IP数据包,但是不包括heilos之间的数据包
tcpdump ip host ace and not heilos
截获主机hostname发送的所有数据
tcpdump -i eth0 src host hostname
监听所有送到主机hostname的数据包
tcpdump -i eth0 dst host hostname
监听指定主机和端口的数据包
如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令
tcpdump tcp port 23 and host 210.27.48.1