云服务器知识

服务器Linux抓包命令tcpdump以及常见抓包使用方法

  

系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。
1,安装tcpdump
一些系统默认没有安装,我们需要yum安装下这个命令:
yum install  tcpdump -y
2,tcpdump使用。
一些使用我们可以tcpdump –help看下帮助,比如:

[root@Master ~]# tcpdump  --help
tcpdump version 4.1-PRE-CVS_2012_03_26
libpcap version 1.4.0
Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
		[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
		[ -i interface ] [ -M secret ] [ -r file ]
		[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
		[ -y datalinktype ] [ -z command ] [ -Z user ]
		[ expression ]

常用的一些简单用法,一般是抓取对应网卡、端口、对应IP等。
tcpdump  -nn 本地网卡地址以及外部链接地址 ,并采用IP地址、端口表示。 如果不加-nn 则会本机主机名以及外部客户端myblast显示。
tcpdump -i eth1 抓取网卡eth1包链接情况。如果不指定网卡,默认抓取eth0数据包。
tcpdump -i eth1 port 80 抓取eth1网卡80端口链接情况。
tcpdump  -nn  -i eth1 port 80  -c 20 抓取eth1网卡80端口链接情况并长度20。
tcpdump -nn tcp 抓取tcp 链接包。如udp,则将tcp改成udp即可。
tcpdump  -nn  -i eth1 port 80  and host 118.112.163.61  -c 10 抓取抓取eth1网卡80端口和链接地址118.112.163.61链接情况并长度10。
tcpdump  -nn  -s0 -i eth1 port 80  and host 118.112.163.61  -c 10  同上相比,加了参数-s0 代表抓取完整包。