
Сканер портов? ЛЕГКО!
Horrific (smirnandr@mail.ru)
Спецвыпуск Хакер, номер #004, стр. 004-084-2
addrport.sin_family := PF_INET - указываю протокол PF_INET.
addrport.sin_addr.s_addr := inet_addr(PChar(Edit1.Text))- устанавливаю адрес жертвы, введенный в Edit1.
index:=SpinEdit1.Value - запоминаю порт, с которого нужно начать сканирование.
Дальше идет цикл. Я его распишу на русском, а ты разберешься методом сравнения с кодом:
Пока текущий < конечный порт делать
Начать цикл
установить текущий порт
Если коннект прошел удачно, то
В RichEdit1 добавляю строку: "Port такой-то открыт"
Следующий порт сделать текущим
Конец цикла
После этого я вывожу сообщение RichEdit1.Lines.Add('Готово') в RichEdit, что сканирование закончено.
В самом конце я закрываю порт с помощью closesocket.
Перед запуском перейди в начало исходного кода и добавь слово "winsock" в раздел "uses". Такие вещи мы тоже уже делали в других статьях этого номера, поэтому у тебя не должно возникнуть никаких проблем. Жми "F9", и твой сканер портов взлетит в бой.
Больше не буду напрягать твои мозги, ты и так нахватал слишком много инфы :). Дополнительную информацию о сокетах ищи на страницах журнала VR Online. Там все очень хорошо расписано, и если ты чего-то не понял, то там догонишь.
Удачных тебе сканов!!!
Выражение "сканер портов" на страницах Х появляется достаточно часто. Но не все знают, что представляет собой даже самый простейший сканер. На меня упала честь показать тебе простейший вариант нюхача портов. Сейчас мы напишем его с тобой на Delphi. Вообще, этот номер просто заполнен такими вещами, и ты наверно уже ощутил это на себе.