|
Простейший сканер портов |
::..::..:: |
Сегодня я
хочу рассказать о так называемых сканерах
портов. Если
кто-то не в курсе, то эта специальная программа
для определения
открытых портов на удаленной машине.
Как это будет работать?
Программа пытается подключиться к какому-то
порту из заданного
диапазона. Если подключение произошло, то
говорим пользователю что
порт открыт, в противном же случае, говорим что
нет, после переходим
к следующему порту...
Пример:
Для начала нам необходимо бросить на форму
следующие компоненты: 2
Label'а, 2 Edit'а, одну кнопку, компонент
Memo
для вывода информации
о открытых (закрытых) портах, и наконец начинку
нашей программы -
компонент TCPClient, с закладки Internet.
Измените свойство Caption
у Label'ов следующим образом: Label1 - Начальный
порт, Label2 -
Конечный порт. Напротив каждого из Label'ов
расположите Edit'ы...
Надпись на кнопке можете сделать какую хотите...
Итак, осталось
написать лишь сам код программы... Весь код
нашей программы будет
состоять лишь из одного метода (процедуры).
Кликните дважды на
кнопке, перед вами появится окно с исходным
кодом. Вот как она
должна выглядеть:
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
ip:String;
begin
// По умолчанию сканируем себя
ip:='127.0.0.1';
//Запрашиваем адрес компа.
if not InputQuery('Attention','Enter
IP-address',ip) then exit;
//Запускаем цикл
for i:=StrToInt(Edit1.Text) to StrToInt(Edit2.Text)
do
begin
//Устанавливаем порт
TcpClient1.RemotePort:=IntToStr(i);
//Пытаемся его открыть
TcpClient1.Open;
//Если удалось, то сообщаем об этом
if TcpClient1.Connected then
Memo1.Lines.Add(IntToStr(i)+' open');
//Закрываем порт.
TcpClient1.Close;
end;
end;
Вот и готов наш простейший сканер портов!!!
Введите начальный порт,
конечный порт, жмите кнопку, в появившемся окне
набирайте IP-адрес
жертвы и в бой...Разместил
Razer | |
|
| | | | | | |
|