文章目录

TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具

一般我们使用Tcpdump时都是使用:

tcpdump -i ethx

这样可以查看网卡ethx上的所有数据包传送过程,但你会发现相当的多。你都看不过来。因此我们需要过滤。

下面这条命令就是查看80端口的访问量,进行排序,取前20位

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

但也可以使用过滤某个端口的方法进行查看
如:过滤掉22端口

tcpdump -i eth1  -s 1500 port not 22

过滤22和53

tcpdump -i eth1  -s 1500 port not 22 and port not 53

过滤22并指定来源ip

tcpdump -i eth1 port not 22 and host 1.2.3.4 

参考:
http://www.cyberciti.biz/faq/linux-monitor-all-network-traffic-except-ssh-port-22/
http://www.opendoc.com.cn/linuxtools/system_command.html

文章目录