Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Пишем сканер открытых портов своими руками. |

29.12.2006, 11:19
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
Пишем сканер открытых портов своими руками.
Всем привет. Давненько я статьи не писал. Сегодня мы разберем, как сканировать свою машину на открытые порты.
Вам потребуется: Visual Basic 6.0, прямые руки.
Так открывай Visual Basic (VB) или он у тебя открыт.
Далее добавляем на форму компонент Winsock. Добавили? Идем дальше. Добавляем четыре TextBox’a на форму, а так же кнопку (command), и StatusBar – в нем будет отображаться, что данная программа делает на определенном этапе. Вот уже визуально программа готова. Выглядит примерно так:
Дальше нажимаем на форму два раза (УДАЛЯЕМ ВСЕ С ПРОГРАММНОГО КОДА) и вставляем этот код, кстати я его пояснил максимально:
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
|
|
|

29.12.2006, 17:38
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
гениально
PS:
Код:
perl -MIO::Socket -e "for(1..65535){if($sock=IO::Socket->new(PeerAddr=>"localhost",PeerPort=>$_)){print $_.' '}}"
Последний раз редактировалось KSURi; 31.12.2006 в 21:26..
|
|
|

31.12.2006, 19:21
|
|
Участник форума
Регистрация: 23.11.2006
Сообщений: 226
Провел на форуме: 1045663
Репутация:
864
|
|
Мда. К мега превад 1337 сканеру ксуря +1) Перл рулед.
|
|
|

31.12.2006, 19:58
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Боян в принципе.. ну ладно, в честь нг пару плюсиков дам.
KSURi, ыыы )
Код:
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);
}
}
Последний раз редактировалось _Great_; 31.12.2006 в 20:03..
|
|
|

31.12.2006, 21:32
|
|
Участник форума
Регистрация: 23.11.2006
Сообщений: 226
Провел на форуме: 1045663
Репутация:
864
|
|
Сообщение от _Great_
Боян в принципе.. ну ладно, в честь нг пару плюсиков дам.
KSURi, ыыы )
Код:
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);
}
}
ждем сканера портов на кубасике, питоне и аштэмел
|
|
|

01.01.2007, 17:00
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
Еще могу на php выложить 
|
|
|

13.01.2007, 12:49
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
пошел делать сканер портов на Photoshop
=))
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

13.01.2007, 16:34
|
|
Познающий
Регистрация: 05.10.2006
Сообщений: 56
Провел на форуме: 227465
Репутация:
42
|
|
Сообщение от _Great_
Боян в принципе.. ну ладно, в честь нг пару плюсиков дам.
KSURi, ыыы )
Код:
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);
}
}
быстрее будет, если использовать неблокирующие сокеты и потом "собрать" все select'ом
|
|
|

13.01.2007, 16:49
|
|
Познавший АНТИЧАТ
Регистрация: 25.08.2006
Сообщений: 1,524
Провел на форуме: 3405508
Репутация:
1745
|
|
Perl + Shell => рулиТТТ! БЫСТРО НАМНОГО ЧЕМ ЭТОТ! +) за старание
|
|
|

18.09.2009, 19:06
|
|
Новичок
Регистрация: 12.08.2009
Сообщений: 4
Провел на форуме: 8030
Репутация:
-1
|
|
Народ помогите, делаю все вот так:
Сообщение от Ad
Всем привет. Давненько я статьи не писал. Сегодня мы разберем, как сканировать свою машину на открытые порты.
Вам потребуется: Visual Basic 6.0, прямые руки.
Так открывай Visual Basic (VB) или он у тебя открыт.
Далее добавляем на форму компонент Winsock. Добавили? Идем дальше. Добавляем четыре TextBox’a на форму, а так же кнопку (command), и StatusBar – в нем будет отображаться, что данная программа делает на определенном этапе. Вот уже визуально программа готова. Выглядит примерно так:
Дальше нажимаем на форму два раза (УДАЛЯЕМ ВСЕ С ПРОГРАММНОГО КОДА) и вставляем этот код, кстати я его пояснил максимально:
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
- а оно мне ошибку выдает при попытке создать exe-шник типа "Sub или Function не определены". Как их определить то?
P.S. Сильно не ругайтесь так как в програмировании полный ноль
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|