Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> C++ Builder -> Cканер портов


Cканер портов

Перед тем как начать, скажу что данная статья направлена на то, чтобы понять как работают сканеры портов, и понимать как от них возможно защищаться, и не в коем случае не на какие-нибудь другие цели.

Все сканеры портов работают по очень простому принципу: конектимся к порту и если конект состоялся, то значит он открыт, а если нет то закрыт.

Запустили С++ Builder, так запускайте!!! Сперва на новую форму добавляем такие компоненты: два Edit'a, два Label'a, два BitBtn'a, один RichEdit и один TcpClient. Больше никаких компонентов нам и не надо. Дальше в Caption первой кнопочки пишем "Сканировать", а во второй вторую "Закрыть". Для кнопочки "Закрыть" пишем следующий обработчик событий:

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
Close ();// просто закрывает форму
}
//---------------------------------------------------------------------------

Первый Label подписываем "IP адрес:" и размещаем возле первого Edit'a, а второй Label подписываем, как "Порт:". Т.е. в первом Edit'e мы будем вписывать значение IP адреса, а во втором Edit'e будем вписывать нужный порт. Да вот не сказал сканер портов будет ручной. Не забудьте в обоих Edit'ах стереть все в свойстве Text, чтоб всякая фигня не отображалась. RichEdit нам нужен, чтобы туда записывались результаты сканирования. В него тоже в свойстве Lines нужно все затереть. А дальше пишем следующий обработчик событий для кнопки "Сканировать":

void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
TcpClient1->RemoteHost=Edit1->Text;// берем значения хоста с свойства Text компонента Edit1
RichEdit1->Lines->Add(TcpClient1->RemoteHost + ":");//записываем в RichEdit значение сканируемого порта
TcpClient1->RemotePort=Edit2->Text;//берем значение порта с свойства Text компонента Edit2
TcpClient1->Active=true;//устанавливаем в компоненте TcpClient1 свойство Active в значение true т.е. разрешаем конектится
if (TcpClient1->Connected)//если конект прошол удачно
RichEdit1->Lines->Add(TcpClient1->RemotePort + " порт открыт");//то порт открыт
else {//а ели конекта не было
RichEdit1->Lines->Add(TcpClient1->RemotePort + " порт закрыт");//то порт закрыт
}
//---------------------------------------------------------------------------

Да забыл добавим еще одну кнопку и назовем ее "Очистить" и пропишем для нее такой обработчик события:

void __fastcall TForm2::N8Click(TObject *Sender)
{
RichEdit1->Clear(); //просто очищаем результаты сканирования
}
Думаю поняли зачем это надо. Ну в этом сканере можно наворотить еще многое, например, сохранение результатов сканирования, введения диапазона сканирования и так далее но это уже без меня. Но скажу, одно, если сделаете по данному принципу сканер с диапазоном сканирования, то большие диапазоны портов не возможно будет сканировать, а то комп. зависнет, но где то максимум 20 и то лучше сканировать не более 10 тогда точно не зависнет.

Автор: Нестерюк Дмитрий
Источник: www.bib.com.ua

Ссылки по теме
BuilderX - новая среда разработки от Borland
Создание Web-приложений с помощью C++Builder 5
Использование COM-технологии в C++ Builder
FAQ конференции RU.CBUILDER по C++ Builder
FAQ по C++ Builder
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.