tcpdump 是一个常用的网络数据包分析工具,用于在命令行中捕获、分析和显示网络通信的细节。它可以帮助网络管理员、开发者、系统管理员以及安全专家分析网络流量,排查网络故障,甚至进行网络攻击的检测。它支持多种协议分析,可以过滤和显示特定类型的网络数据包。
tcpdump yum源安装(cenots为例):
yum install -y tcpdump
常用参数:
-i 指定接口抓包,例tcpdump -i eth0
-n 选项:禁止域名解析,但默认情况下会解析常见服务的端口名称(如 ssh 显示为 .ssh)。
显示端口号数字:使用 -nn 选项,tcpdump 会显示端口号的数字格式,而不是服务名称。(显示原始的 IP 地址和端口)
-v 显示更详细的包信息。
-c count:捕获 count 个数据包后停止。
-w file:将捕获的包写入指定的文件。
-X:以十六进制和 ASCII 格式显示每个数据包的内容(每行显示 16 字节)。
-XX:以十六进制和 ASCII 格式显示每个数据包的内容,但每行显示更多的字节(通常是 32 字节)。
-A 选项的作用是以ASCII格式打印数据包的内容。
常用操作:
指定协议抓取icmp包–proto过滤器,proto后面可以跟上协议号或协议名称,支持 icmp, igmp, igrp, pim, ah, esp, carp, vrrp, udp和 tcp。
tcpdump -i <接口名> -vnn proto \\icmp
指定ip抓包:
tcpdump -i <接口名> -vnn host <x.x.x.x>
指定端口抓包:
tcpdump -i <接口名> -vnn port <xx>
指定ip和端口抓包:
tcpdump -i <接口名> -vnn host <x.x.x.x> and port <xx>
tcpdump更详细的其实可以忽略,我们可以使用tcpdump在Linux上抓包并保存到文件,将.pcap 文件传输到 Windows 系统,在Windows上使用 Wireshark 分析抓取的包。
wireshark根据包内容筛选:
查找包含特定 string 的数据帧: frame contains “xxx”
查找包含特定16进制的数据帧: tcp contains 92:00:00
扫码访问小程序中的本文
