Проверка открытого UDP-порта в C++

Как я могу проверить, открыт ли удаленный порт UDP, используя собственный C++? Поскольку UDP не требует соединения, вызов connect()бесполезен. Я не могу попробовать связать его, так как он не является локальным. nmapтакже не может указывать. (однако netstatможет узнать, но я думаю, что он смотрит на внутреннюю информацию об открытых портах/файлах). Есть ли способ его обнаружить? Если я перейду на уровень ниже на сетевом уровне, возможно ли отправить ICMP-сообщение с помощью С++, чтобы проверить статус недостижимости порта? Я имею в виду, даст ли это достаточно информации о статусе порта?

Платформа — Linux.

5
задан tshepang 12 June 2018 в 21:00
поделиться