RTI DDS Src HostId на IP-адрес

Я использую RTI DDS Spy для отладки приложения DDS. Я заметил странные сообщения в инструменте Spy, которые, как мне кажется, исходят не от моего приложения.

Вопрос в том, как мне взять Src HostId и выяснить IP-адрес отправителя? (Wireshark не вариант.)


person kmort    schedule 20.05.2013    source источник


Ответы (1)


Поля в Src HostId обычно являются шестнадцатеричной версией исходного IP-адреса. Например, возьмите следующий вывод Spy:

source_timestamp   Info  Src HostId  topic               type              
-----------------  ----  ----------  ------------------  ------------------  
1369074721.938245  R +N  C0A80103    CellTopic           life::CellType    
1369074721.937270  W +N  C0A80103    CellTopic           life::CellType    
1369074721.938615  D +N  C0A80103    CellTopic           life::CellType    
1369074721.938726  D +N  C0A80103    CellTopic           life::CellType    

Глядя на четыре байта в третьем столбце C0 A8 01 03, переводя их из шестнадцатеричного в десятичный один за другим, получается 192.168.1.3 (поскольку C0 равно 192 в десятичном виде, A8 равно 168 и, очевидно, 01 равно 1, а 03 равно 3).

Кстати, для более подробной информации о Src HostId, также ознакомьтесь с справкой по использованию rtiddsspy -hOutput:

Src HostId         :   Contains the sourceId part of the Global Unique 
                       IDentifier (GUID) of the writer that sent the sample.
                       This value is formatted as an IP address because this
                       is the default setting for NDDS. Consequently this
                       column will match the IP address of the sender
                       of the message provided that: (1) the application is
                       running on an IP network, (2) it has not disabled the
                       UDPv4 transport and (3) it has not explicitly 
                       overridden the 'appId'
person Reinier Torenbeek    schedule 20.05.2013
comment
Потрясающий. Я должен был это понять. Я продолжал думать, что это выглядело так знакомо, но не видел связи. И вот, я убедился, что это было не мое сообщение. Это кто-то позаимствовал мой домен. - person kmort; 20.05.2013
comment
О, это распространенная проблема. Всегда приятно неожиданно обнаружить, что другие люди возятся с вашим доменом — или наоборот :-). Вы можете довольно легко избежать таких коллизий, выбрав номера портов по-другому, если вам это действительно нужно. - person Reinier Torenbeek; 20.05.2013