常用 tcp 端口
FTP | SSH | Telnet | web | SQLServer | Oracle | MySQL |
20/21 | 22 | 23 | 80 | 1433 | 1521 | 3306 |
常用 udp 端口
DNS | DHCP | SNMP |
53 | 67/68 | 161/162 |
常用参数
-i 指定从哪个接口抓包
-w 将抓包信息保存到文件中
-r 从抓取的包中读取抓包内容
-n 不转换主机名,看到的是 IP ,而不是主机名
-nn 不转换主机名和协议名
-c 指定抓包的数量
-e 打印二层信息,查看vlan,vxlan等常用
-p 忽略端口的混杂模式,如果端口是混杂模式,只抓取端口ip的报文,别的报文不抓取
-vv 展示抓包详情
-vvv 展示更详细的抓包内容
-l Make stdout line buffered. Useful if you want to see the data while capturing it. E.g.,
host 抓取指定 IP
port 80 抓取所有80端口的报文
tcp port 80 抓取 tcp 80 端口的报文
udp port 80 抓取 udp 80 端口的报文
示例
抓取所有接口上所有的报文直接打印到屏幕
tcpdump -i any
抓取 virbr1 接口上所有的报文直接打印到屏幕
tcpdump -i virbr1
抓取 virbr1 接口上所有 80 端口的报文直接打印到屏幕( tcp 和 udp )
tcpdump -i virbr1 port 80
抓取 virbr1 接口上所有 tcp 80 的报文直接打印到屏幕
tcpdump -i virbr1 tcp port 80
抓取 virbr1 接口上所有 udp 80 的报文直接打印到屏幕
tcpdump -i virbr1 udp port 80
抓取 virbr1 接口上所有 tcp 80 的报文并另存到 /tmp/ 目录下
tcpdump -i virbr1 tcp port 80 -w /tmp/http.cap
抓取主机上所有与 8.8.8.8 通信的报文
tcpdump -i any host 8.8.8.8
抓取主机上所有与 8.8.8.8 tcp 80 端口通信的报文
tcpdump -i any tcp port 80 and host 8.8.8.8
不进行ip地址到主机名的转换
tcpdump -i any host 8.8.8.8 -n
抓取icmp报文
tcpdump -i eth0 -en icmp