1、安装tcpdump
使用yum安装:在CentOS 7及更高版本中,可以使用yum
命令来安装tcpdump,打开终端并输入以下命令:
sudo yum install y tcpdump
这个命令会从默认的YUM仓库下载并安装tcpdump及其依赖项。
使用dnf安装:对于较新的CentOS版本(如CentOS 8),也可以使用dnf
命令来安装tcpdump:
sudo dnf install y tcpdump
2、基本用法
列出所有网络接口:使用D
选项可以列出系统中所有可用的网络接口,这对于指定抓包的网络接口非常有用。
tcpdump D
抓取ICMP包:从指定的网络接口抓取ICMP协议的数据包,并将DNS名称转换为IP形式显示。
tcpdump i ens192 n icmp
3、高级用法
抓取特定主机和端口的数据包:可以从指定的网络接口抓取特定主机和端口的数据包,例如抓取来自192.168.0.126主机的ping包。
tcpdump i ens192 n icmp and src 192.168.0.126
抓取特定数量的数据包:可以设置抓取数据包的数量,例如抓取10个TCP协议且目标端口为22的数据包。
tcpdump i ens192 n c 10 tcp dst port 22
保存抓取的数据包:可以将抓取的数据包保存到文件中,方便后续分析。
tcpdump i ens192 n c 100 w /root/kahn.cap
4、过滤表达式
按主机过滤:可以指定源或目标主机进行过滤,抓取与本机通信的所有数据包。
tcpdump host 192.168.0.229
按端口过滤:可以指定源或目标端口进行过滤,抓取访问本机的HTTP GET请求。
tcpdump i ens192 n c 10 s 0 A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
按协议过滤:可以指定协议进行过滤,抓取UDP协议的3721端口的数据包。
tcpdump i ens192 n c 10 udp port 3721
5、结合其他工具
与Wireshark结合:tcpdump抓取的数据包可以通过Wireshark进行详细分析,将抓取的数据包保存为pcapng格式文件,然后使用Wireshark打开分析。
tcpdump i ens33 w 518.pcapng
与Snort结合:tcpdump抓取的数据包可以作为Snort的输入,进行入侵检测和防御。
通过以上步骤,用户可以在CentOS系统上高效地进行网络抓包操作,并对数据包进行分析和处理,tcpdump提供了丰富的选项和灵活的过滤表达式,能够满足各种网络监控和故障排查的需求。