Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Порт сканер


Автор: headzero 4.3.2007, 21:39
Вот имеется код порт сканера:

Код

using System;
using System.Net.Sockets;
using System.Net;

public class SocketConn
{
   public static void Main(string [] args)
   {
      
      IPAddress address = IPAddress.Parse("127.0.0.1");
      
               
      for (int i=1; i < 1024; i++)
      {
         Console.WriteLine("Checking port {0}",i);
         
         try
         {            
            IPEndPoint endPoint = new IPEndPoint(address,i);
            Socket sSocket = new Socket(AddressFamily.InterNetwork,
                                        SocketType.Stream,
                                        ProtocolType.Tcp);
             
            sSocket.Connect(endPoint);
             
            Console.WriteLine("Port {0} is listening",i);
            
         }      
         catch(SocketException ignored)
         {
         if (ignored.ErrorCode != 10061)
            Console.WriteLine(ignored.Message);
         
         }   
         
      }   
   }
}


В принципе понимаю как он работает.Пробовал сканировать разные айпишники. Но єта программа работает силно медленно: в лучшем случаи сканирует 1 порт в секунду. А ведь их больше 60000!!! Подскажите, медленность изза плохой сети или  невозможно быстрее в принципе? Подскажите может ктото знает более эффктивный код.(Если можно с пояснениями). Как вообще отсканировать все окрытые порты на уделенном компьютере в С#? Спасибо.

Автор: kuzyaka 22.4.2009, 22:51
headzero
Посмотри http://forum.vingrad.ru/forum/topic-215859.html.
Там вроде быстрее работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)