Как проверить удаленный порт UDP - PullRequest
1 голос
/ 13 февраля 2012

Я ищу простой способ узнать, открыт ли удаленный порт UDP на сервере

Ответы [ 3 ]

8 голосов
/ 13 февраля 2012

ВНИМАНИЕ, что несколько брандмауэров / сетевые настройки / IDS и т. Д. Могут повлиять на результат ... следующий метод НЕ надежен на 100%, но это единственный метод, возможный с UDP IMHO (так как UDP без установления соединения).

Вы можете использовать UdpClient, установить тайм-аут приема на базовом сокете , установить соединение на этот удаленный сервер / порт, Send небольшое сообщение (byte[]!) и вызов Receive.

ЕСЛИ порт закрытполучить исключение, говорящее о том, что соединение было принудительно закрыто (SocketException с ErrorCode 10054 = WSAECONNRESET) ... что означает, что порт НЕ открыт.

В противном случае вы либо получите ответ, либо тайм-аутисключение - оба должны интерпретироваться как «порт UDP открыт».

2 голосов
/ 13 февраля 2012

Вы не можете.Это так, потому что UDP не использует соединение.Вы должны решить это на прикладном уровне.

0 голосов
/ 04 ноября 2015
  1. как на клиенте, так и на сервере, установите nc: yum install nc (для сентосов)
  2. на сервере прослушивает порт UDP: nc -ul 6111
  3. на клиенте nc -u <server> 6111
  4. наберите что-нибудь на клиенте и нажмите Enter - вы должны увидеть этот текст на Сервер
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...