Программирование на C++ глазами хакера


Работа с сетью с помощью объектов Visual C++ - часть 2


Некоторые считают, что если какая-то серверная программа требует авторизации при соединении, то нельзя будет присоединиться к ее порту. Это ошибочное мнение, потому что авторизация происходит только после соединения с сервером. Именно поэтому есть возможность определить все открытые порты, но только если между нами и сканируемым компьютером не установлен какой-нибудь специальный защитный комплекс (Firewall).

Теперь перейдем к делу. Создайте новый проект MFC Application в Visual C++ и назовите его MFCScan. В мастере измените следующие параметры:

  • в разделе Application Type — установите тип приложения Dialog based (рис. 4.4);
  • в разделе Advanced Features — выделите пункт Windows Sockets.

Теперь можно нажимать кнопку Finish, чтобы Visual C++ сформировал необходимые файлы.

Уже готов шаблон приложения, но еще не хватает объектов, через которые приложение будет работать с сетью. В принципе, можно обойтись и без них, но лучше добавить на тот случай, если вы захотите в будущем расширить возможности сканера. Щелкните правой кнопкой на имени проекта в окне Solution Explorer и выберите в появившемся меню Add/Add Class.... Перед вами откроется окно добавления класса (рис. 4.5). Выберите пункт MFC Class и нажмите кнопку Open.

Рис. 4.4. Окно выбора типа приложения

Рис. 4.5. Окно добавления класса в приложение

Рис. 4.6. Окно настроек класса

Рис. 4.7. Окно свойств

Если вы все сделали правильно, то должно открыться окно, как на рис. 4.6. Здесь вы должны указать будущее имя класса и базовый класс, от которого будет происходить создаваемый. Для этого в списке Base class (Базовый класс) найдите имя CSocket, а в поле Class name (Имя создаваемого класса) введите CClientSocket.

Теперь в проект добавилось два новых файла: ClientSocket.cpp и ClientSocket.h. С их помощью можно управлять соединением, но пока только посмотрите на них.

Откройте файл ClientSocket.cpp и в окне Properties нажмите кнопку Overrides. Вокне свойств появятся методы и события (рис. 4.7), которые можно переписать, чтобы объект работал так, как необходимо вам. Для этого щелкните по выпадающему списку напротив нужного метода или события и выберите пункт меню <Add> Имя метода. Для данного метода я не буду ничего изменять.




Начало  Назад  Вперед



Книжный магазин