Всем привет. Давненько я статьи не писал. Сегодня мы разберем, как сканировать свою машину на открытые порты. Вам потребуется: 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
гениально PS: Code: perl -MIO::Socket -e "for(1..65535){if($sock=IO::Socket->new(PeerAddr=>"localhost",PeerPort=>$_)){print $_.' '}}"
Боян в принципе.. ну ладно, в честь нг пару плюсиков дам. 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); } }
Народ помогите, делаю все вот так: - а оно мне ошибку выдает при попытке создать exe-шник типа "Sub или Function не определены". Как их определить то? P.S. Сильно не ругайтесь так как в програмировании полный ноль
Мой Ip на haker-pro в списке запрещённых администрацией форума. На других ресурсах аналогичного нет? Сори за оффтоп.
Нах тогда лезть? Перед друзьями что ли покрасоваться? Научиться "прогромированию" ты по этому примеру не сможешь, а если нужен хороший сканер то гугли, есть множество сканеров с широким функционалом.