Как устранить неполадки сообщений, отправленных с локального компьютера в Azure IOT Hub с помощью WireShark? - PullRequest
0 голосов
/ 28 июня 2018

Я отправляю сообщения из моего 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.

Как я могу это сделать? Я использую MQTT на порту 1833, работающем как «Служба Windows».

Я добавил фильтр следующим образом, но не повезло

enter image description here

MQTT Мне может понадобиться форсировать пакеты через сетевой адаптер, при использовании окон localhost вместо петли сетевой карты будет использоваться loopback. Так как я могу сделать это в WireShark?

Обновлен вопрос со скриншотом Device Explorer

Когда я отправляю одно сообщение с Device Explorer, я вижу много записей связи в WireShark. Какой протокол я должен фильтровать?

enter image description here

Строка подключения - Я использую Mqtt_WebSocket_Only

  _hubClient = DeviceClient.CreateFromConnectionString(IotHubConnectionString, TransportType.Mqtt_WebSocket_Only);

1 Ответ

0 голосов
/ 29 июня 2018

Azure IoT Hub поддерживает только защищенную связь, для протокола MQTT используется номер порта 8883. Поэтому вам нужно изменить фильтр захвата на tcp.port == 8883.

Ссылка: Протокол связи и порты Azure IoT Hub

Или найдите IP-адрес Azure IoT Hub с помощью следующей команды:

ping [your-hub-name].azure-devices.net

Тогда используйте этот фильтр:

ip.addr == [iothub-address]

Если вы используете AMQP, его порт 5671. Вы можете установить фильтр в Wireshark следующим образом:

enter image description here

...