Linux抓包命令tcpdump以及常见抓包使用方法
一个学友问下怎么没有抓包命令的教程,感谢热心反馈,特地这里简单补充下内容以便学友了解。
系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。
1,安装tcpdump
一些系统默认没有安装,我们需要yum安装下这个命令:
yum install tcpdump -y
2,tcpdump使用。
一些使用我们可以tcpdump –help看下帮助,比如:
[[email protected] ~]# 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 代表抓取完整包。
使用比较简单,可以自行执行测试学习。