Wireshark SSH 远程抓包配置指南(以 UniFi Dream Router 为例)

在本地 Wireshark 上直接捕获远程主机(如路由器、服务器)的流量,是网络调试中非常实用的技巧。本文以 UniFi Dream Router 7 为远程目标,完整演示从生成密钥到 Wireshark 开始抓包的整个配置流程。


一、准备工作

  • 远程主机(本例为 UDR7)已开启 SSH 服务,且本地电脑能与它网络互通。

  • 本地电脑安装 Wireshark(建议 4.0 以上版本)。

  • 远程主机已安装 tcpdump(UDR7 默认自带,若没有可自行安装)。


二、生成兼容 Wireshark 的 SSH 密钥对

Wireshark 的 SSH 远程捕获功能对私钥格式有特定要求,需要 传统 PEM 格式 (以 -----BEGIN RSA PRIVATE KEY----- 开头)。

在 Windows PowerShell 中执行:

sql 复制代码
powershell

ssh-keygen -t rsa -b 4096 -m PEM -f C:\Users\你的用户名\.ssh\wireshark_rsa

参数说明

  • -t rsa -b 4096:生成 4096 位的 RSA 密钥。

  • -m PEM关键参数,强制输出 Wireshark 可识别的格式。

  • -f:指定保存路径和文件名。

执行后,系统会询问是否设置密码短语(passphrase)。建议直接按两次回车(留空),避免 Wireshark 加载时出现交互问题。

生成完成后,在 C:\Users\你的用户名\.ssh\ 目录下会得到两个文件:

  • wireshark_rsa ------ 私钥(供 Wireshark 使用)

  • wireshark_rsa.pub ------ 公钥(需部署到远程主机)


三、将公钥部署到远程主机

3.1 常规 OpenSSH 服务器

若远程主机使用 OpenSSH,将公钥内容追加到 ~/.ssh/authorized_keys 即可:

sql 复制代码
powershell

type C:\Users\你的用户名\.ssh\wireshark_rsa.pub | ssh root@远程IP "cat >> ~/.ssh/authorized_keys"

然后设置正确权限(可在登录后执行):

php 复制代码
bash

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3.2 适配 Dropbear(如 Ubiquiti 设备)

UniFi 系列路由器使用 Dropbear SSH 服务,其授权密钥文件路径为 /etc/dropbear/authorized_keys。手动添加方法如下:

  1. SSH 登录到路由器(用密码):

    php 复制代码
    bash
    
    ssh root@192.168.1.1
  2. 创建目录并追加公钥:

    php 复制代码
    bash
    
    mkdir -p /etc/dropbear
    echo "公钥内容(即 wireshark_rsa.pub 文件中的全部字符)" >> /etc/dropbear/authorized_keys

四、验证免密登录是否生效

在本地 PowerShell 中测试:

php 复制代码
powershell

ssh -i C:\Users\你的用户名\.ssh\wireshark_rsa root@远程IP "echo 连接成功"

如果输出 连接成功,表示密钥认证已配置正确。


五、在 Wireshark 中配置远程捕获

  1. 打开 Wireshark,点击菜单栏 捕获(Capture)选项(Options)

  2. 在接口列表中找到 SSH remote capture ,点击其左侧的 ⚙️ 齿轮图标 进入设置。

  3. 填写以下信息:

    • 主机 (Host) :远程 IP 地址(如 192.168.1.1

    • 端口 (Port)22(若 SSH 端口非标准则相应修改)

    • 用户名 (Username)root(或您的登录用户名)

    • 认证方式 :选择 Public Key

    • 私钥文件 :点击浏览,选择 C:\Users\你的用户名\.ssh\wireshark_rsa不带 .pub 后缀

    • 密码短语 (Passphrase):留空(因为生成时未设置)

  4. 切换到顶部的 捕获 (Capture) 选项卡,在 远程接口 (Remote interface) 输入框中填写要抓包的网卡名称。若不确定,可先在远程主机执行 ip a 查看,常见接口如 br0(桥接)、eth0 等。

  5. 点击 确认 保存配置。


六、开始抓包

返回 Wireshark 主界面,双击刚配置好的 SSH remote capture 接口,或选中它并点击左上角的蓝色鲨鱼鳍按钮,即可开始实时捕获远程主机的网络流量。

抓包过程中,您可以在 Wireshark 的过滤栏设置显示过滤器(如 host 192.168.1.100),以聚焦于特定流量。


七、关键注意事项

  • 私钥格式 :务必确保文件首行为 -----BEGIN RSA PRIVATE KEY-----,否则 Wireshark 无法加载。

  • 路径与权限 :远程主机上 .ssh 目录权限应为 700authorized_keys600;Dropbear 场景则需关注 /etc/dropbear/authorized_keys 权限。

  • 抓包接口选择 :远程主机的接口名可能不同于本地,请提前确认(ip atcpdump -D)。

  • 网络连通性:配置前先用普通 SSH 客户端测试能否正常连接,确保防火墙未阻断 22 端口。


八、结语

通过上述步骤,您可以快速在 Wireshark 中建立与远程主机的 SSH 连接,并直接捕获其网络接口的流量,无需在远程端手动运行 tcpdump 再传输文件,显著提升调试效率。无论是家庭网关、云服务器还是嵌入式设备,这一方法均适用。

希望这份指南能为您的网络分析工作带来便利。如有其他使用场景或扩展需求,也欢迎进一步探索 Wireshark 的强大功能。

相关推荐
我爱cope13 小时前
【计算机网络 | 网络层补充:内部网关协议:RIP 与 OSPF 如何在自治系统内选择路由?】
网络·学习·计算机网络·智能路由器
zbtlink1 天前
上行带宽瓶颈的诊断、SQM 调度与双链路上行实战
网络·智能路由器
暴力求解4 天前
Linux网络---NAT代理服务、内网穿透
linux·网络·智能路由器
Eloudy5 天前
路由器与交换电路的非必须关系
智能路由器
实心儿儿5 天前
Linux —— 数据链路层
linux·网络·智能路由器
Multipath7125 天前
5G CPE vs 5G聚合路由器 该怎么选
网络·5g·安全·智能路由器·实时音视频·信息与通信
我爱cope5 天前
【计算机网络 | 网络层10:OSPF 与 BGP:自治系统内部和互联网之间如何路由?】
网络·学习·计算机网络·智能路由器
上海广测检测科技有限公司6 天前
路由器CRA认证详解:欧盟网络弹性法案对联网设备的安全合规要求
网络·经验分享·安全·智能路由器
robch6 天前
一个网络数据包是怎么从发送方路由到接受方的,整个过程中数据包里的 MAC 地址和 IP 地址是怎么变化的
网络·智能路由器
FW-Linker6 天前
多网聚合和卫星通信哪个更可靠?场景化选型与融合方案全解析
5g·智能路由器