Как узнать какие порты открыты на моем девайсе, программным методом C#
Ответ
Способы проверки портов попытками коннекта могут быть ненадежными или занимать слишком много времени, особенно при проверке нескольких портов. К тому же, приложения могут слушать только определенные ip-адреса, и не слушать при этом 127.0.0.1, что приведет к негативному результату при попытке подключения.
В C# есть стандартный способ получения списка активных TCP Listners
System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
.GetActiveTcpListeners();
Работает достаточно быстро, результат можно отфильтровать по нужному порту / ip.
var isPortBusy = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
.GetActiveTcpListeners().Any(l => l.Port == 80);
Комментариев нет:
Отправить комментарий