Программа для сканирования портов и IP-адресов в локальной Сети

Для диагностики корректности работы и безопасности сетевых устройств необходимо применять сканер портов в локальной Сети как на этапе разработки, так и в процессе эксплуатации. Следует заметить, что зачастую такое программное обеспечение используется не только не по назначению, а именно для попыток совершить неправомерные действия, но и весьма дилетантским образом. В этой статье рассматривается как теоретическая, так и практическая база, которую можно использовать в своей профессиональной деятельности. Также приводятся юридические и моральные аспекты, касающиеся нарушения законодательства РФ.

Что такое сканер портов?

Сканер портов – это специализированное программное обеспечение, которое позволяет производить анализ хостов в локально-вычислительной Сети на предмет наличия открытых портов. На сегодня наиболее распространенным набором сетевых протоколов являются TCP/IP, при которых каждая служба на сетевом устройстве характеризуется двумя параметрами: айпи адресом и номером порта, всего их количество составляет 65536 штук.

TCP/IP

Следует заметить, что для стандартных наборов (сервер печати, FTP, HTTP и т. д.) номер порта утверждается администрацией адресного пространства Интернет (т. е. по умолчанию службе HTTP выделяется порт 80, 8080 и т. д.). Результатом работы сканера является вывод о состоянии одного или диапазона портов, которое может принимать три значения:

  1. Открыт. Это означает, что сетевое устройство по этому порту в активном состоянии и может принимать на него соединения без установки каких-либо ограничений.
  2. Закрыт. Состояние, обратное тому, что описано в первом пункте: хост будет отклонять соединения, приходящие на этот порт.
  3. Заблокирован. Это значит, что порт, по которому производится попытка установки связи защищен межсетевым экраном, в таком случае ответ от него просто-напросто не будет получен.

Проверка порта

Важно знать! Если состояние под номером 1 угрожает безопасности и стабильности как работе служб, так и системы, вариант номер 2 – только системы. При этом защита файерволом гарантирует безопасность нужного сервиса, поскольку на сегодня не известны методы, позволяющие «взламывать» заблокированный порт.

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

Для чего необходимо сканировать порты и айпи адреса в локальной Сети

Вариантов, для чего необходимо производить сканирование портов и IP-адресов, может быть всего два:

  • Анализ ЛВС системным администратором на предмет уязвимости, чтобы предупредить попытку взлома или атаки. При этом рассматривается возможность определения служб, работающих на удаленном узле, их доступность, используемой ОС. При сканировании IP-сканером можно определить MAC-адрес устройства, наличие элементов общего доступа и т. д.
  • То же самое, что и в первом случае, только с целью проведения атаки или взлома.

Обратите внимание! В последнее время к вопросу о защите конфиденциальной и персональной информации, а также авторских прав контролирующие органы подходят серьезно, поскольку нынешний век именуется веком цифровой эпохи, в которой виртуальное пространство фактически приравнивается к реальному. Поэтому настоятельно не рекомендуется использовать полученные навыки для осуществления неправомерных действий, поскольку, во-первых, это неэтично, а во-вторых, с вероятностью 99% будет выявлено и пресечено.

Методы сканирования портов

Предлагаем ознакомиться с методами сканирования портов:

Проверка активности хоста

Этот метод настоятельно рекомендуется использовать перед полноценным сканированием, поскольку он позволяет значительно сэкономить время, указывая программному обеспечению адреса только активных устройств. Сделать это можно, последовательно отправляя Echo-пакеты при помощи команды ping на диапазон адресов, либо же на широковещательный адрес. При этом попытки сканирования могут быть отслежены путем анализа данных сообщений. Существует и альтернативный метод с использованием ответов на нереальные запросы от DNS. В таком случае ответ, говорящий о недоступности хоста, индицирует о том, что устройство неактивно. Однако, как упоминалось выше, это не всегда так, поскольку ради обеспечения безопасности зачастую стандарты сетевых протоколов нарушаются.

Проверка активности хоста

Сканирование SYN-пакетами

Основан этот метод на использовании так называемого правила «трехкратного рукопожатия» протокола TCP. Сетевое устройство, на котором используется программа-сканер, отправляет запрос в виде пакета с установленным флагом синхронизации («SYN» – synchronize), после чего опрашиваемый хост должен ответить пакетом уже с двумя флагами – «SYN» и «ACK» (второй означает acknowledges – подтверждение, признание). На последнем шаге от машины с программой-сканером также должен поступить одобряющий ответ, однако вместо этого устанавливается флаг «RST» – reset, что означает сброс, т. е. завершение процесса соединения. Плюс такого подхода заключается в том, что осуществляется полный контроль над размером пакетов, их временной задержкой, а также ответными сообщениями, содержащими исчерпывающую информацию об удаленном устройстве. Вред от SYN-флуда сомнителен, потому что он может оказать значительное влияние только на простые устройства, такие как, к примеру, сетевые принтеры.

Сканирование SYN-пакетами

Сканирование стандартными средствами ОС

Метод схож с предыдущим, также использует три этапа «рукопожатия», только с завершением установки соединения (отправка флага «ACK» в конце). Применяется тогда, когда SYN-сканирование неосуществимо по какой-либо причине. Соответственно, такой подход не обеспечивает хост с программой-сканером должным уровнем информации, поскольку не подразумевает работу с пакетами на низком уровне. Однако самым главным минусом является то, что из-за большого количества установки и разрыва соединений легко заметить и вычислить работу такого сканера в сети.

Сканирование стандартными средствами ОС

Использование UDP

Для сканирования диапазона адресов и портов также можно формировать UDP-пакеты, хотя это и не самое лучшее решение в силу ряда особенностей. Принцип работы заключается в том, что при помощи ICMP-сообщений можно получать прямой ответ от порта «Закрыт», если он недоступен, и «Открыт», если ответа не последовало вовсе. При этом блокировка порта брандмауэром также выдаст состояние как «Открыт», что будет ошибкой. Такая же картина будет наблюдаться, если на опрашиваемом хосте запрещены ICMP-сообщения. Выход из положения может быть достигнут при помощи отправки некоторых стандартных пакетов, так называемых пробников, на которые приложения, работающие на указанном порте, дают заведомо известный ответ. При этом следует помнить, что защитой будет являться настройка этих служб с нетиповой конфигурацией. Также можно вначале отправлять UDP-запрос, и если порт находится в неопределенном состоянии, направлять на него ряд «пробников».

Использование UDP

Использование флага ACK

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

Использование флага ACK

Использование флага FIN

Этот флаг является аббревиатурой от «final» и указывает на закрытие соединения. Его использование обусловлено тем, что многие серверы настроены на определение и распознание последовательных попыток отправки однотипных SYN-пакетов как на открытый, так и закрытый порт, после чего разрывают соединение с хостом. Дело в том, что по стандарту, FIN-пакеты должны игнорироваться и поэтому могут с успехом использоваться на том этапе, когда производится поиск активного порта, т. е. перед проведением SYN-сканирования. Тут следует сказать, что системы семейства Windows 95/98/NT этого стандарта не придерживаются, поэтому для них этот метод будет недейственным.

Использование флага FIN

Другие типы сканирования

Следует сказать, что существует еще два флага: PSH и URG, а также способ, когда поле code bit остается пустым, при применении которых ответом будет флаг RST, если порт закрыт и отсутствие ответа, если открыт. Эти методы также хорошо подходят, чтобы искать активные хосты.

Сканеры открытых портов и айпи адресов

Использование бесплатных программ

Для сканирования Сети на сегодня существует множество бесплатных программ, которые довольно дружелюбны по интерфейсу и предоставляют при этом множество полезных инструментов. Следует заметить, что в основном они все рассчитаны на работу под ОС семейства Windows. Вот некоторые из них:

  1. Advanced IP Scanner v.1.4. Из всех бесплатных программ этот сетевой сканер самый быстрый, при этом он умеет не только находить ПК в режиме «онлайн», но и определять NetBIOS имя, версию ОС и MA- адрес. Также есть набор утилит, позволяющих управлять удаленным хостом.Advanced IP Scanner v.1.4
  2. Advanced LAN Scanner v1.0 BETA. Подобна предыдущей программе, позволяет сканировать Сеть, но включает в себя работу с портами.
  3. Advanced Port Scanner v1.2. Также бесплатная программа, при помощи которой можно просканировать открытые порты удаленного хоста.
  4. IP-Tools v2.50. Это уже не просто обособленная программа, а набор инструментов, включающий в себя 19 утилит, позволяющих осуществлять детальный просмотр и анализ параметров локально-вычислительной Сети.
  5. Angry IP Scanner 2.21. Простая утилита для сканирования IP-адресов и портов.Angry IP Scanner 2.21
  6. SuperScan 4. Довольно гибкий сканер, позволяющий в дополнение к стандартным функциям задавать тип сканирования (устанавливать флаги), о которых было написано ранее.
  7. NMAP (https://nmap.org). Это также целый набор инструментов, который стоит в конце списка только по той причине, что не имеет дружественного интерфейса. При этом он совмещает в себе все известные профессиональные утилиты для работы с Сетью, распространяется для всех платформ, причем как в виде сборок, так и в виде исходного кода (что позволяет писать собственные приложения с его использованием).

Программа для определения IP-адресов в локальной Сети

Выше уже рассматривался целый список программ, который позволяет найти и вывести IP-адреса хостов в Сети, при этом оптимальным является Advanced IP Scanner. Следует заметить, что как Windows, так и Linux в своем распоряжении имеют набор встроенных сетевых утилит, одна из которых называется «ARP – Address Resolution Protocol», или протокол определения адреса. Для того чтобы при помощи ее вывести список IP-адресов в локальной Сети, необходимо открыть командную строку (cmd или bash) и ввести команду arp -a, после чего нажать «Enter». Результатом будет таблица, содержащая NetBIOS имя, IP-адрес, MAC-адрес и способ его получения (динамический или статический).

arp -a

Защита от сканирования портов

Фактически, защититься от сканирования портов невозможно, единственный способ – это отключить компьютер от Сети. Обезопасить соединение реально, используя так называемый белый список для брандмауэра, когда открыты только те порты, которые необходимы для использования. При этом службы, настроенные на них, должны применять нестандартные конфигурации.

Защита от сканирования портов

Ранее уже было сказано о сетевых «ловушках». Здесь следует упомянуть о принципе действия одной из них, которая является весьма эффективной:

  • на сервере настраивается брандмауэр и форвардинг так, чтобы стандартным службам соответствовали нестандартные порты;
  • на стандартные порты устанавливается утилита, которая, со своей стороны, на любой запрос активирует сканер портов для хоста, который пытается их опросить;
  • полученная информация сохраняется в файл, также возможна отправка в ответных пакетах троянских программ, шпионов и т. д.

Моральные и юридические ограничения

С моральной точки зрения, использование специализированного ПО с целью получения доступа к конфиденциальной или персональной информации на чужом компьютере – это неэтично. При этом зачастую такие действия не направлены на извлечение материальной выгоды (что также вряд ли оправдано, поскольку можно применить свои навыки в мирных целях и заработать на этом законно), а ставят перед собой целью реализовать так называемый прессинг (травлю) пользователя Сети при помощи шантажа. Юридический аспект также присутствует, использование и создание приложений для взлома компьютера с персональной информацией расцениваются главой 28 УК РФ (статьи 272, 273, 274) как незаконные действия, за которые можно получить судимость (клеймо на всю жизнь, которое поставит крест на карьерном росте и закроет путь в престижные IT-компании), штраф и реальный срок.

Как видно, для анализа отказоустойчивости и безопасности сетевого оборудования может использоваться как уже разработанная программа для сканирования IP-адресов в локальной Сети, так и собственное разработанное ПО. Следует помнить, что основой безопасности является создание «белых» списков портов с настройкой сложных правил брандмауэра.

Похожие статьи
  • Что такое Wi-Fi Analyzer iOS: как сканировать и анализировать вай-фай сети

    Wi-Fi Analyzer iOS: программа сканирования...

    автоматическое и ручное сканирование сегментов локальной сети... Особенности этого сканера каналов WiFi для iOS: видит все доступные сети в радиусе ... Утилита поддерживает все стандартные порты, при сканировании можно указать те, что требуются пользователю.
  • Как узнать IP-адрес компьютера в локальной сети через...

    При настройке сети администраторам часто нужно посмотреть все IP-адреса в локальной сети и как можно быстро и для большого количества ... С этой целью они в своей работе используют программы, которые называются сетевыми сканерами.
  •  Так выглядит типичный анализатор

    Wifi сканер: программа для нахождения сетей вай фай...

    Wifi сканер — специальная программа, которая определят сети, доступные в данный момент для подключения. Но кроме такого сканирования сетей, анализатор позволяет определить максимально удачное местоположение для роутера. Wi-Fi-анализатор — надежный помощник, способный устранить имеющиеся...