本文目录导读:

使用 tcpdump 过滤指定端口非常简单,最常用的参数是 port。
基本语法
# 抓取 80 端口(HTTP)的所有流量 tcpdump port 80 # 抓取 22 端口(SSH)的流量 tcpdump port 22
常见场景详解
只抓取源端口或目的端口
如果你只想抓取从某个端口发出的包,或者发往某个端口的包,加上 src 或 dst:
# 抓取源端口是 80 的包(从服务器发出的响应) tcpdump src port 80 # 抓取目的端口是 80 的包(发往服务器的请求) tcpdump dst port 80
抓取多个端口
使用 or 或 组合:
# 同时抓取 80 和 443 端口 tcpdump port 80 or port 443 # 或者简写为: tcpdump port 80 or 443 # 抓取常见服务端口范围 tcpdump port 22 or port 443 or port 3306
抓取端口范围
使用 portrange(注意不是 ports):
# 抓取 8000 到 8100 之间的所有端口 tcpdump portrange 8000-8100
常用增强选项
单独用 port 可能信息太多,建议加上以下选项:
# -i eth0 指定网卡(避免抓错接口) # -n 不解析域名(更快、更清晰) # -nn 不解析端口名称(显示数字而不是"http") # -v 显示更多详细信息 # 示例:抓取 eth0 网卡上的 80 端口,显示数字端口 sudo tcpdump -i eth0 -nn port 80 # 只显示前 10 个包,然后退出 sudo tcpdump -c 10 -nn port 443
结合 IP 过滤
更精确地过滤,可以同时指定 IP 和端口:
# 抓取源 IP 为 192.168.1.100,目标端口 443 的包 tcpdump src host 192.168.1.100 and dst port 443 # 抓取从客户端的随机端口发往服务器 3306 的包 tcpdump host 10.0.0.5 and dst port 3306
实战示例:排查 HTTP 问题
# 实时查看发往本机 80 端口的 HTTP 请求内容 sudo tcpdump -i any -nn -A dst port 80 # -A 以 ASCII 格式显示包内容(可以看到 HTTP 头部) # -i any 监听所有网卡
注意事项
- 大多数情况下需要
sudo或 root 权限。 - 端口过滤是基于传输层(TCP/UDP)的,
port匹配的是 TCP 和 UDP 两种协议,如果需要只抓 TCP,可以加tcp:tcpdump tcp port 443
- 如果需要更复杂的过滤(比如基于数据包内容),可以结合
tcpdump的表达式语法,或改用 Wireshark(图形化)或 tshark(命令行版 Wireshark)。
tcpdump port <端口号> 是最常用的写法,配合 src/dst 和 -nn 选项就能满足大多数日常抓包需求。
标签: tcpdump端口过滤
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播