TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供andornot等逻辑语句来帮助你去掉无用的信息。
数据过滤
不带任何参数的TcpDump将搜索系统中所有的网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,而且数据太多不利于分析。所以,我们应当先想好需要哪些数据,TcpDump提供以下参数供我们选择数据:
 
参数
描述
实例
-i  <interface>
只过滤指定的接口上通过的数据
tcpdump -i eth0
-i  <vlan>
只过滤指定的vlan上通过的数据
tcpdump -i external
-e
显示MAC地址
Tcpdump -e
-n
不进行IP地址到主机名的转换。
Tcpdump -n
-X
Display packets in hex and decondes in ASCII
Tcpdump –x
可以看到一些访问的请求信息
-s <value>
显示指定的字节数.默认为76字节
Tcpdump –s 200
-w
将输出内容保存在指二进制文件定中
Tcpdump –w chen
-r
查看指定的二进制文件
tcpdump  -r chen
><filename>
将输出内容保存在指定文件中,非二进制文件
Tcpdump –n >chen
host <ip>
过滤指定的主机.只显示过滤的内容.包括访问与应答。
Tcpdump host 192.168.1.1
<protocol>
过滤指定的协议
ICMP,UDP,ARP,etc.
tcpdump -i exp1 udp
port <port>
过滤指定的端口
tcpdump -i exp1 80
条件1 and 条件2
 
tcpdump -i exp1 host 61.55.138.133 and udp
条件1 or 条件2
 
tcpdump -i exp1 host 61.55.138.133 or udp
条件1 not 条件2
所有满足指定条件1并且除条件2的数据。
tcpdump -i exp1 host 61.55.138.133 not udp
src <ip>
过滤指定的来源地址.只显示访问IP的请求包,不再显示F5返回的包
tcpdump -i exp1 src 61.55.138.133 or udp
dst
过滤指定的目标地址.只显示F5返回的包,不再显示访问IP的请求包。