Как получить доступные открытые порты для конкретного ip?
когда я даю ip-адрес клиента, я должен знать доступные открытые порты клиента. например, когда мы даем ip-адрес клиента, он будет сканировать доступные порты клиента.
Что я уже пробовал:
использование системы;
использование системы.Коллекции.Общий;
использование System. Linq;
используя системы.Текст;
используя системы.Нет.Розетки;
использование системы.Нарезание резьбы;
использование System.Net;
пространство имен SimplePortScan
{
PortScanner открытый класс
{
частный IP-адрес _target;
public int Port { get; private set; }
public bool IsOpen { get; private set; }
общественные PortScanner(целевой IP-адрес, порт инт )
{
_target = цель;
Порт = Порт;
}
public void ScanPort()
{
используя (объект TcpClient объект TcpClient = новый объект TcpClient())
{
пробовать
{
объект TcpClient.Connect (_target, порт);
}
поймать (исключения socketexception)
{
Isopen значение = ложь;
}
если (isopen значение)
{
использование (NetworkStream ClientStream = TcpClient.Метод getstream())
{
Isopen значение = ИСТИНА;
}
}
}
}
}
}
Richard MacCutchan
Есть ли там где-то вопрос?
Sergey Alexandrovich Kryukov
Главная проблема, которую я вижу: вы никогда не отключаете клиента.
—СА
[no name]
Проще использовать NMAP и анализировать возвращаемое значение...
Philippe Mori
Вы, должно быть, очень ленивы, чтобы не форматировать свой код... Мы также будем ленивы, чтобы ответить вам.