在centos7上使用tcpdump抓包

NetWork 718℃

1、安装tcpdump

yum install -y tcpdump
#使用tcpdump命令如果报错:
tcpdump: Couldn't find user 'tcpdump'
#解决方法:
chattr -i /etc/shadow /etc/group /etc/passwd
rpm -e
yum install -y tcpdump
chattr +i /etc/shadow /etc/group /etc/passwd

2、抓包实例

#从本机的ens192网卡,并将dns名称转化成ip形式,抓取icmp包
tcpdump -i ens192 -n icmp
-i 指定抓取的网卡
-n 将dns名称转化成ip形式
icmp 指定抓取icmp协议包
#从本机的ens192网卡,显示ip,抓取icmp协议ping包,抓取来自192.168.0.126主机的ping包
tcpdump -i ens192 -n icmp and src 192.168.0.126
#从本机的ens192网卡,显示ip,抓10个包,协议为tcp,抓取到本机的22端口
tcpdump -i ens192 -n -c 10 tcp dst port 22
#从本机的ens192网卡,显示ip,抓10个包,抓取(本机)192.168.0.229和(主机0.139或0.194)之间的包
tcpdump -i ens192 -n -c 10 host 192.168.0.229 and \(192.168.0.139 or 192.168.0.194\)
#从本机的ens192网卡,显示ip,抓10个包,抓取与本机通讯的ip0.126的主机的所有数据包
tcpdump -i ens192 -n -c 10 host 192.168.0.126
#从本机的ens192网卡,显示ip,抓10个包,抓取访问本机的22端口,并且只抓取来自0.126主机的包
tcpdump -i ens192 -n -c 10 port 22 and host 192.168.0.126
#从本机的ens192网卡,显示ip,抓10个包,并数据包信息保存成kahn.cap文件
tcpdump -i ens192 -n -c 100 -w /root/kahn.cap
#从本机的ens192网卡,显示ip,抓10个包,只抓取TCP协议的22端口的数据包
tcpdump -i ens192 -n -c 10 tcp port 22
#从本机的ens192网卡,显示ip,抓10个包,抓取访问本机的HTTP的get类型的请求
tcpdump -i ens192 -n -c 10 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
#从本机的ens192网卡,显示ip,抓10个包,抓取访问本机的HTTP的POST类型的请求
tcpdump -i ens192 -n -c 10 -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
#从本机的ens192网卡,显示ip,抓10个包,只抓udp协议的3721端口的数据包
tcpdump -i ens192 -n -c 10 udp port 3721
#从本机的ens192网卡,显示ip,抓3个包,只抓tcp的包
tcpdump -i ens192 -n -c 3 tcp
#从本机的ens192网卡,显示ip,抓1000个包,抓取所有包,最后保存成文件kahn.cap
tcpdump -i ens192 -n -c 1000 > kahn.cap

转载请注明:零五宝典 » 在centos7上使用tcpdump抓包