[英]How to troubleshoot messages sent from local compter to Azure IOT Hub using WireShark?
我正在使用以下代碼段將消息從C#
應用程序發送到IOT Hub
。
public async Task<MessageToTargetStatus> ForwardMessage(byte[] message)
{
var messageToSend = new Microsoft.Azure.Devices.Client.Message(message);
await iotHubClient.GetDeviceClient().SendEventAsync(messageToSend).ConfigureAwait(false);
return MessageToTargetStatus.Success;
}
在Azure IOT Hub
成功接收到消息
現在,我想測試這些消息的安全性,並嘗試在WireShark中驗證這些消息。
我在WireShark
看到許多記錄,但是我無法確定發送到IOT Hub的消息是哪一條。
我該怎么做? 我正在以“ Windows Service”運行的端口1833上使用MQTT
。
我添加了以下過濾器,但是沒有運氣
MQTT我可能需要通過網絡適配器強制發送數據包,使用localhost的Windows將使用環回而不是網絡接口卡。 那么如何在WireShark中做到這一點?
設備資源管理器工具屏幕截圖更新了問題
從Device Explorer
發送單個消息時,我在WireShark
看到許多通信記錄。 我應該過濾哪個協議?
連接字符串 -我正在使用Mqtt_WebSocket_Only
_hubClient = DeviceClient.CreateFromConnectionString(IotHubConnectionString, TransportType.Mqtt_WebSocket_Only);
Azure IoT中心僅支持安全通信,對於MQTT協議,它使用8883端口號。 因此,您需要將捕獲過濾器更改為tcp.port == 8883
。
或使用以下命令找到Azure IoT中心IP地址:
ping [your-hub-name].azure-devices.net
然后使用此過濾器:
ip.addr == [iothub-address]
如果使用AMQP,則其端口為5671。可以在Wireshark中設置過濾器,如下所示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.