tcpdump怎样过滤指定端口的网络包

联启 网络工具 14

本文目录导读:

tcpdump怎样过滤指定端口的网络包-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 基本语法
  2. 常见场景详解
  3. 常用增强选项
  4. 结合 IP 过滤
  5. 实战示例:排查 HTTP 问题
  6. 注意事项

使用 tcpdump 过滤指定端口非常简单,最常用的参数是 port

基本语法

# 抓取 80 端口(HTTP)的所有流量
tcpdump port 80
# 抓取 22 端口(SSH)的流量
tcpdump port 22

常见场景详解

只抓取源端口目的端口

如果你只想抓取从某个端口发出的包,或者发往某个端口的包,加上 srcdst

# 抓取源端口是 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 匹配的是 TCPUDP 两种协议,如果需要只抓 TCP,可以加 tcp
    tcpdump tcp port 443
  • 如果需要更复杂的过滤(比如基于数据包内容),可以结合 tcpdump 的表达式语法,或改用 Wireshark(图形化)或 tshark(命令行版 Wireshark)。

tcpdump port <端口号> 是最常用的写法,配合 src/dst-nn 选项就能满足大多数日常抓包需求。

标签: tcpdump端口过滤

抱歉,评论功能暂时关闭!