Авторские статьи Пишем сканер открытых портов своими руками.

Discussion in 'Статьи' started by Ad, 29 Dec 2006.

  1. Ad

    Ad Elder - Старейшина

    Joined:
    15 Jul 2006
    Messages:
    35
    Likes Received:
    15
    Reputations:
    4
    Всем привет. Давненько я статьи не писал. Сегодня мы разберем, как сканировать свою машину на открытые порты.
    Вам потребуется: Visual Basic 6.0, прямые руки.
    Так открывай Visual Basic (VB) или он у тебя открыт.
    Далее добавляем на форму компонент Winsock. Добавили? Идем дальше. Добавляем четыре TextBox’a на форму, а так же кнопку (command), и StatusBar – в нем будет отображаться, что данная программа делает на определенном этапе. Вот уже визуально программа готова. Выглядит примерно так:
    [​IMG]
    Дальше нажимаем на форму два раза (УДАЛЯЕМ ВСЕ С ПРОГРАММНОГО КОДА) и вставляем этот код, кстати я его пояснил максимально:
    Private Sub Form_Load()
    End Sub

    Private Sub FoundPorts_Change()
    FoundPorts.SelStart = Len(FoundPorts.Text) ‘длина строки порта
    End Sub

    Private Function AddPort(Port As Integer)
    FoundPorts.Text = FoundPorts.Text & "[Connected] Port " & Port & vbCrLf –‘это выводимый, текуший текст
    End Function

    Private Sub Sock_Connect(Index As Integer)
    AddPort (Sock(Index).RemotePort) – ‘если порт открыт, то эта строка нам показывает, что порт открыт!!!
    Sock(Index).Close ‘ Закрываем сокет
    End Sub

    Private Sub Sock_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) ‘ показываем, что сокет закрыт, но данные должны остаться целыми в интерфейсе
    Sock(Index).Close ‘ закрываем сокет
    End Sub

    Вот и все. Да кстати по Default’у можете поставить LocalHost и тогда программа должна сканировать вашу машину на открытые порты. Да кстати важная деталь у WinSock’a Index должен быть равен нулю!!!
    Всех с наступающим новым годом!
    (c) d1n 2006
     
    1 person likes this.
  2. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    гениально
    PS:
    Code:
    perl -MIO::Socket -e "for(1..65535){if($sock=IO::Socket->new(PeerAddr=>"localhost",PeerPort=>$_)){print $_.' '}}"
    
     
    #2 KSURi, 29 Dec 2006
    Last edited: 31 Dec 2006
    5 people like this.
  3. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Мда. К мега превад 1337 сканеру ксуря +1) Перл рулед.
     
  4. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Боян в принципе.. ну ладно, в честь нг пару плюсиков дам.

    KSURi, ыыы )

    Code:
    main()
    {
    int fd;
    struct sockaddr_in sa;
    int i;
    
    #ifndef _WIN32
    #define closesocket close
    WSADATA w; WSAStartup(0x202, &w);
    #endif
    
    memset(&sa.sin_zero, 0, 8);
    sa.sin_addr.s_addr = inet_addr("127.0.0.1");
    sa.sin_family = AF_INET;
    
    for(i=1;i<65536;i++)
    {
      fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
      sa.sin_port = htons(i);
      if(connect(fd, (struct sockaddr*)&sa, sizeof(sa)) != -1)
        printf("%d\n", i);
      closesocket(i);
    }
    }
     
    #4 _Great_, 31 Dec 2006
    Last edited: 31 Dec 2006
    1 person likes this.
  5. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242

    ждем сканера портов на кубасике, питоне и аштэмел
     
  6. Ad

    Ad Elder - Старейшина

    Joined:
    15 Jul 2006
    Messages:
    35
    Likes Received:
    15
    Reputations:
    4
    Еще могу на php выложить :)
     
  7. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    пошел делать сканер портов на Photoshop
    =))
     
  8. Dude03

    Dude03 Elder - Старейшина

    Joined:
    5 Oct 2006
    Messages:
    49
    Likes Received:
    9
    Reputations:
    7
    быстрее будет, если использовать неблокирующие сокеты и потом "собрать" все select'ом
     
  9. KPOT_f!nd

    KPOT_f!nd положенец общага

    Joined:
    25 Aug 2006
    Messages:
    1,074
    Likes Received:
    502
    Reputations:
    65
    Perl + Shell => рулиТТТ! БЫСТРО НАМНОГО ЧЕМ ЭТОТ! +) за старание
     
    2 people like this.
  10. seledkapod

    seledkapod Member

    Joined:
    12 Aug 2009
    Messages:
    26
    Likes Received:
    17
    Reputations:
    0
    Народ помогите, делаю все вот так:
    - а оно мне ошибку выдает при попытке создать exe-шник типа "Sub или Function не определены". Как их определить то?


    P.S. Сильно не ругайтесь так как в програмировании полный ноль
     
  11. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    1 person likes this.
  12. seledkapod

    seledkapod Member

    Joined:
    12 Aug 2009
    Messages:
    26
    Likes Received:
    17
    Reputations:
    0
    Мой Ip на haker-pro в списке запрещённых администрацией форума. На других ресурсах аналогичного нет? Сори за оффтоп.
     
    1 person likes this.
  13. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Нах тогда лезть? Перед друзьями что ли покрасоваться?
    Научиться "прогромированию" ты по этому примеру не сможешь, а если нужен хороший сканер то гугли, есть множество сканеров с широким функционалом.
     
  14. gisTy

    gisTy Elder - Старейшина

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    омг, ты отвечаешь археологу однодневке?
    странно