如何使用 Wireshark 在 SSH 远程服务器本地捕获 MQTT 数据?
How to capture MQTT data locally in SSH remote server using Wireshark?
我想在家里使用 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 中看不到任何数据包。我想在同一个远程服务器上创建一个 client/server。
我使用这个命令打开 Wireshark:
sudo ssh user@x.x.x.x tcpdump -U -s0 -w - | wireshark -k -i -
我对Wireshark只懂一点点,请问我是怎么解决的?
您没有指定 tcpdump
应该捕获的接口。尝试添加 -i lo
选项,如:
sudo ssh user@x.x.x.x tcpdump -i lo -U -s0 -w - | wireshark -k -i -
我想在家里使用 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 中看不到任何数据包。我想在同一个远程服务器上创建一个 client/server。
我使用这个命令打开 Wireshark:
sudo ssh user@x.x.x.x tcpdump -U -s0 -w - | wireshark -k -i -
我对Wireshark只懂一点点,请问我是怎么解决的?
您没有指定 tcpdump
应该捕获的接口。尝试添加 -i lo
选项,如:
sudo ssh user@x.x.x.x tcpdump -i lo -U -s0 -w - | wireshark -k -i -