首页 > 解决方案 > 如何使用 Wireshark 在 SSH 远程服务器中本地捕获 MQTT 数据?

问题描述

我想在家中使用 Wireshark 在基于 SSH Linux 的远程服务器上捕获 MQTT 数据包。我可以通过互联网捕获数据,例如当我使用这个命令行时mosquitto_pub -h test.mosquitto.org -t topic -m "Hello",我可以在 Wireshark 中看到数据包。但是,当我在 localhost 中发布数据时,例如使用此命令,mosquitto_pub -d -h localhost -t hello/world -m "75"我在 Wireshark 中看不到任何数据包。我想在同一个远程服务器中创建一个客户端/服务器。

我使用这个命令打开 Wireshark:

sudo ssh user@x.x.x.x tcpdump -U -s0 -w - | wireshark -k -i -

我只知道 Wireshark 的基本知识,请问我该如何解决?

标签: wiresharkremote-servertcpdump

解决方案


您没有指定tcpdump应该捕获的接口。尝试添加-i lo选项,如下所示:

sudo ssh user@x.x.x.x tcpdump -i lo -U -s0 -w - | wireshark -k -i -

推荐阅读