Форум » » Использование символа UDP - разные порты » Ответить

Использование символа UDP - разные порты

CEA: Добрый день! Есть контроллеры оконечного оборудования, которые отвечают о своем состоянии в произвольном порядке, если на широковещательный адрес и порт 9002 послать специальные пакет. Ответы отлично видно в сетевом мониторе Wireshark. Отвечают они с разных, довольно случайный портов - 49212, 49303 и т.д. В Crestron пока не получается получить ответ. Возможно, он слушает только порт 9002, которые задается в символе. Что-то можно придумать, как считаете?

Ответов - 6

Вячеслав: Порт в символе UDP/IP Communication является портом назначения (т.е. портом управляемого устройства на которое вы отправляете широковещательные запросы). Исходящий порт для такого соединения назначается контроллером динамически. По идее устройство получив широковещательный пакет, должно ответить на тот адрес и порт с которого этот запрос пришел. Т.е. ответить контроллеру. И точно так же для ответа оно использует динамически выбранный порт (поэтому они разные каждый раз). Это общее правило для IP соединений. А что в WireSharke видно, на какой адрес и порт отвечают устройства? Или адрес правильный (контроллера crestron), но сокет крестрона не ловит ответы? По идее запрос от крестрона например 192.168.0.100:5555->192.168.0.255:9002 должен в ответку получить 192.168.0.200:49212->192.168.0.100:5555 Адреса для примера само собой приведены. Подразумеваем адрес крестрона 192.168.0.100, адрес одного из устройств 192.168.0.200, широковещательный адрес для этой подсети 192.168.0.255, порт на котором устройства слушают запрос статуса 9002.

DmitriiP: Поправочка:порт символа UDP на контроллерах крестрона не динамический если вы указали порт 9002 и адресс 192.168.0.255 то: TX$ -> на 192.168.0.255:9002 RX$ <- c 192.168.0.255:9002 или напрямую на адресс проца 192.168.0.100:9002

Вячеслав: DmitriiP пишет: Поправочка:порт символа UDP на контроллерах крестрона не динамический Проверил, действительно так. Хотя, решение странное. Если надо поднимать несколько UDP подключений с одинаковыми устройствами (порт назначения одинаков), то в этом варианте не понятно как символы UDP между собой разберутся с FB который в таком случае получат все символы одновременно от каждого из управляемого устройства (если в протоколе ID нет). P.S. На Pro2 проверил с помощью hercules, ходят данные в обе стороны, хоть по юникасту, хоть по бродкасту и в перемешку тоже.


Игорь K.: Вопрос: а есть ли какие спецификации (communication standards&protocols) где порты IP присваиваются динамически? Не слышал про такое. Возможно, такие дела помогут при попытках сокрытия чего-либо.

Вячеслав: Возможно некий документ и есть, просто по другому и быть не может иначе будет конфликт приложений. Но скорее это аксиома, которая просто очевидна. Как то раз на обучении по CCNA Cisco даже преподаватель удивился, когда его поправили и сказали, что исходящий порт назначается динамически. Большинство присутствующих это позабавило. Другой разговор, что диапазон из которого выбирается исходящий порт может быть назначен/ограничен производителем. Ну и конечно порты до 1024 зарезервированы для стандартных приложений и не могут быть использованы в качестве исходящих при динамическом выборе. Сие легко проверить взглянув WireShark, каждая новая WEB страничка к примеру будет создавать новый исходящий порт, при этом порт назначения у каждого соединения 80 (для стандартного http) Для удобства использовать фильтр tcp.dstport ==80 Если бы исходящий порт был бы статичен, не говоря уж про равенство порту назначения, то браузер бы просто не знал в какой странице отображать ответ веб сервера. P.S. Кто то знает как на Crestron процессоре посмотреть открытые порты для соединений и TCP серверов. Был уверен что когда то просто вводил привычную команду netstat. Сейчас PRO2 ругнулся, что ничего про такую не знает.

Chikalov: Advanced Port Scanner. Интересные начинаются с 41000 порта. Для серверов порт указывается в проекте.



полная версия страницы