tcpdump
是一个常用的网络抓包工具,以下是一些常见的过滤条件示例:
-
基于协议过滤:
tcpdump tcp
:只抓取 TCP 协议的数据包。tcpdump udp
:抓取 UDP 协议的数据包。tcpdump icmp
:抓取 ICMP 协议的数据包。
-
基于端口过滤:
tcpdump port 80
:抓取目标或源端口为 80 的数据包(通常是 HTTP 流量)。tcpdump src port 22
:抓取源端口为 22 的数据包(SSH 端口)。tcpdump dst port 443
:抓取目标端口为 443 的数据包(HTTPS 端口)。
-
基于 IP 地址过滤:
tcpdump host 192.168.1.100
:抓取与主机192.168.1.100
相关的数据包。tcpdump src host 10.0.0.1
:抓取源 IP 为10.0.0.1
的数据包。tcpdump dst host 172.16.0.5
:抓取目标 IP 为172.16.0.5
的数据包。
-
基于网段过滤:
tcpdump net 192.168.0.0/24
:抓取来自或去往192.168.0.0/24
网段的数据包。
-
结合多种条件过滤:
tcpdump 'tcp and port 80 and host 192.168.1.100'
:同时满足 TCP 协议、端口 80 和主机192.168.1.100
的条件。
例如,如果您想查看特定主机与特定端口之间的 TCP 流量,可以使用 tcpdump 'tcp and host 10.10.10.10 and port 5000'
这样的命令。
又如,如果您要监测某个网段内的所有 UDP 流量,可以使用 tcpdump 'udp and net 172.20.0.0/16'
。