Сам процесс называется скани́рованием портов или (в случае, когда осуществляется проверка многих хостов) сканированием сети́ . Сканирование портов может являться первым шагом в процессе взлома или предупреждения взлома, помогая определить потенциальные цели атаки. С помощью соответствующего инструментария путём отправления пакетов данных и анализа ответов могут быть исследованы работающие на машине службы (Web-сервер , FTP-сервер , mail-сервер , и т. д.), установлены номера их версий и используемая операционная система .

Энциклопедичный YouTube

    1 / 5

    Сканирование сети при помощи Nmap

    Nmap для начинающих - Урок 1 | Timcore

    Пишем простой и быстрый сканер IP адресов и открытых портов на Ruby (с использованием потоков)

    Advanced IP Scanner 2.3 - как легко просканировать сеть и узнать IP, Mac-адреса всех устройств.

    Как Проверить Открыт ли Порт средствами Windows

    Субтитры

Протокол TCP/IP

Некоторые сканеры портов ищут только наиболее часто используемые, или наиболее уязвимые порты определённого хоста или набора хостов.

Результат сканирования порта обычно подпадает под одну из трёх категорий:

  • Открыт , или соединение принято (англ. open ): хост послал ответ, подтверждающий, что хост «слушает» - принимает соединения на данный порт.
  • Закрыт , запрещено [ ] , не слушает (closed ): хост послал ответ, показывающий, что соединения на данный порт будут отвергнуты.
  • Заблокирован , отфильтрован (filtered , firewalled ): от хоста не поступило ответа.

Уязвимости, связанные с открытыми портами, подразделяются на:

  1. проблемы с безопасностью и стабильностью, связанные с функционированием программ, предоставляющих сервисы ,
  2. проблемы с безопасностью и стабильностью, связанные с операционной системой, работающей на хосте.

Закрытые порты могут представлять опасность только по второму пункту. Заблокированные порты, на настоящее время, реальной опасности не представляют.

Техническая сторона

Технологии сканирования портов исходят из предположения, что хост поддерживает «Протокол управления пересылкой» (ICMP), определённый в RFC 792 . Хотя это в большинстве случаев так, тем не менее, хост может посылать в ответ странные пакеты, или даже генерировать ложные положительные срабатывания, когда используемый стек TCP/IP не соответствует RFC или был подвергнут изменениям.

Типы сканирований

Проверка онлайна

В ряде случаев, прежде чем начать собственно сканирование, является полезной проверка наличия работающей системы на целевом IP-адресе. Эта задача может быть решена путём посылки Echo-сообщений протокола ICMP с помощью утилиты ping c последовательным перебором всех адресов сети или отправкой Echo-сообщения по широковещательному адресу.
Анализируя трафик и отслеживая Echo-сообщения, посылаемые за короткий промежуток времени всем узлам, можно выявить попытки сканирования. Вместо Echo-сообщений могут применяться TCP -сегменты с code bit RST , ответы на несуществующие DNS -запросы. Если сканер получит в ответ ICMP Destination Unreachable пакет с кодом 1 (host unreachable), то значит, тестируемый узел выключен или не подключен к сети.

Следует иметь в виду, что (на практике) неполучение ответа на запросы не гарантирует несуществование хоста, поскольку многие системные администраторы ради «безопасности» идут на нарушение сетевых стандартов.

SYN-сканирование

Данный тип сканирования является наиболее популярным. Вместо использования сетевых функций операционной системы, сканер портов сам генерирует IP пакеты, и отслеживает ответы на них. Эту технику часто называют сканированием с использованием полуоткрытых соединений, поскольку полное соединение TCP/IP никогда не открывается. Сканер портов генерирует пакет SYN. Если порт на целевом хосте открыт, с него придёт пакет SYN-ACK. Хост сканера отвечает пакетом RST, закрывая тем самым соединение до того, как процесс установления соединения завершился.

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

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

TCP-сканирование

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

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

UDP-сканирование

Сканирование с помощью пакетов UDP также возможно, хотя имеет ряд особенностей. Для UDP отсутствует понятие соединения, и нет эквивалента TCP-пакету SYN. Тем не менее, если послать UDP-пакет на закрытый порт, система ответит сообщением ICMP «порт недоступен». Отсутствие такого сообщения истолковывается как сигнал того, что порт открыт. Однако, если порт блокируется брандмауэром , метод неверно покажет, что порт открыт. Если заблокированы ICMP-сообщения о недоступности порта, все порты будут казаться открытыми. Также, может быть установлено ограничение на частоту использования ICMP-пакетов, что также влияет на результаты, даваемые методом.

Альтернативным подходом является отправка UDP-пакетов, специфичных для приложения, в расчёте на получения ответа с уровня приложения. Например, отправка запроса DNS на порт 53 приведёт к ответу, если по запрашиваемому адресу имеется DNS-сервер. Проблема в данном случае состоит в наличии соответствующего «пробного» пакета для каждого из портов. В некоторых случаях, сервис может присутствовать, но быть сконфигурирован таким образом, чтобы не отвечать на известные «пробные» пакеты.

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

ACK-сканирование

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

FIN-сканирование

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

Сканирование с использованием FIN-пакетов позволяет обойти подобные средства защиты. Согласно RFC 793 , на прибывший FIN-пакет на закрытый порт сервер должен ответить пакетом RST. FIN-пакеты на открытые порты должны игнорироваться сервером. По этому различию становится возможным отличить закрытый порт от открытого.

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

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

Если вы размещаете свои веб-приложения на администрируемом сервере или шаред хостинге, тогда Вам не о чем беспокоиться. Однако для виртуального или выделенного сервера вы должны предусматривать все возможности для безопасности своего сервера.
Иметь ненужные порты открытыми - плохая идея, из которой злоумышленник может извлечь выгоду множеством способов.



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

Примечание: если вы запускаете сканер портов для DNS Вашего сайта, а он находится за такими прокси, как CloudFlare или SUCURI, то он может не выдать точную информацию. Используйте настоящий IP адрес сервера.

Сканер портов от MX ToolBox

MX Toolbox пытается проверить 15 наиболее часто используемых портов с таймаутом в 3 секунды и выдает результаты, какие из них открыты, а какие нет.

Онлайн сканер портов

Этот инструмент - персональный проект Javier Yanez, позволяющий бесплатно просканировать порты для IPv4 и IPv6 адресов.

Сканер портов от T1 Shopper

Сканирует один или диапазон портов , прослушиваемых сервером с указанным IP. Это удобно, если вы только хотите просканировать выбранные порты.

Сканер портов от Hacker Target

Выполняет быстрое сканирование шести наиболее распространенных портов (FTP, SSH, SMTP, HTTP, HTTPS, RDP) сканером портов NMAP.

Сканер портов от DNS Tools

Быстро сканирует некоторые распространенные порты, такие как FTP, SMTP, DNS, Finger, POP3, SFTP, RPC, IRC, IMAP, VNC и т. д.

Регулярно в форумах, и не только в них, поднимается вопрос - «Меня сканируют! Что мне делать?» Причиной возникновения данного вопроса являются модули детектирования атак, которые разработчики персональных файрволов встраивают в свои продукты. Насколько вообще опасно данное явление, чего пытается достичь атакующий, и была ли собственно атака? Для того, чтобы понять это, попробуем сначала разобраться - что такое порты, что такое сканирование этих портов и каким образом выполняется проникновение в систему через сеть.

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

Для начала - что такое порт. Порт - это поле в tcp- или udp-пакете, идентифицирующее приложение-получателя (и отправителя, в пакете этих полей два) пакета.

Формат пакета данных TCP-протокола:

Формат пакета данных UDP протокола:

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

А была ли атака? Еще один часто задаваемый вопрос звучит примерно так: «Почему, когда я подключаюсь к FTP-серверу, файрвол начинает жаловаться на сканирование со стороны FTP-сервера?» Типичный пример ложного срабатывания. Рассмотрим, как работает FTP-протокол. В FTP-протоколе используется не одно соединение, а два - одно из них управляющее, второе непосредственно передает данные. Первое (управляющее) открывает клиент - он подключается на порт 21 сервера. Второе подключение зависит от режима работы клиента. Если клиент в активном режиме, то он передает серверу номер порта, на который сервер должен подключиться, чтобы открыть соединение для передачи данных. В пассивном сервер говорит клиенту, на какой порт клиент должен подключаться, чтобы открыть соединение для передачи данных.

Как следует из этого описания, в активном режиме FTP-сервер открывает подключение к клиенту. Файрвол, а многие из них известные параноики, вполне может реагировать на это, как на попытку атаки.

Подведём итоги : сетевая атака в большинстве случаев представляет собой атаку на какой-либо доступный из сети сервис на вашем компьютере. Если такого сервиса у Вас нет - можно не беспокоиться, что кто-то Вас «взломает». В этом случае опасаться следует других угроз - вирусы, malware (нежелательные программы), и другие внутренние воздействия. Рекомендации по предотвращению - стандартны и описаны много раз. Установите антивирус, регулярно его обновляйте, регулярно устанавливайте обновления операционной системы, не запускайте неизвестные Вам программы и так далее. Но даже и в этом случае наличие персонального файрвола на компьютере может помочь Вам в случае, когда антивирус или обновления операционной системы ещё не в состоянии блокировать новые угрозы. Просто всегда внимательно читайте, что именно предлагает Вам сделать та или иная программа, и старайтесь понять, а нужно ли, чтобы это действие действительно было выполнено.

Хотим отметить, что по умолчанию в настройках Windows систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.

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

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

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

Способ 1: Portscan

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


Помимо проверки портов, сайт предлагает измерить пинг. Обратите внимание на то, что ведется сканирование только тех портов, которые указаны на сайте. Помимо браузерной версии пользователям предлагается бесплатное приложение для сканирования, а также расширение для браузера.

Способ 2: Hide my name

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

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


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

Способ 3: Тест IP

Еще один русскоязычный ресурс, предназначенный для проверки портов вашего компьютера. На сайте функция обозначается как сканер безопасности.

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


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

Если вам нужно не только обнаружить открытые порта, но и узнать, для чего они предназначены, лучше всего воспользоваться ресурсом Portscan. На сайте информация представлена в доступном виде, и будет понятна не только системным администраторам.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png