Проверка открытых портов онлайн. Сканирование открытых портов по ip

Что такое сканирование портов? Какие существую методы сканирования. Какие угрозы несет?

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

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

Согласно руководству по этичному хаккингу (Ethical Hacking and Countermeasures EC-Council) различаются следующие типы сканирования:

  • сетевое сканирование — определение находящихся в сети узлов;
  • сканирование портов — выявление открытых портов и функционирующих сервисов;
  • сканирование безопасности системы — выявление известных уязвимостей системы.

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

Цели сканирования портов

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

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

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

Выявляем структуру сети. Самый простой способ сканирования — ICMP scanning. Принцип работы основан на протоколе ICMP, и такой тип сканирования позволяет выяснить «живые» узлы в сети и построить схему сети с перечнем ее узлов. Суть метода заключается в отправке ICMP-запросов узлам сети, если компьютер или иное устройство, работающее со стеком протоколов TCP/IP, активно, то будет отправлен ответ. Это так называемый ping sweep или ICMP sweep. Существует огромное количество средств, позволяющих выполнить подобное сканирование.


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

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

Это могло бы выглядеть так:

  • Пилот: Шереметьево-Руление, Аэрофлот 502, разрешите предварительный.
  • Диспетчер: Аэрофлот 502, 25 правая1 по РД2 10, магистральной, РД5 предварительный разрешаю.
  • Пилот: Аэрофлот 502, 25 правая, по РД 10, магистральной, РД5 предварительный разрешили.

Что тут происходит? Пилот обратился к диспетчеру с запросом о разрешении руления и его маршруте. Диспетчер разрешил руление и определил маршрут следования.

Пилот подтвердил маршрут следования и разрешение диспетчера. Все, можно двигаться — маршрут получен.

Очень похожее происходит и в TCP-взаимодействии. Здесь используется схема three-way-handshake или «трехэтапного» согласования, встречается также термин «трехэтапное квитирование», которое позволяет синхронизировать передающий и получающий узлы и установить сессию, что, в сущности, идентично примеру с радиопереговорами.


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

Full Connect Scan

Некоторые методики сканирования портов. Самый эффективный и несложный способ сканирования — Full Connect Scan (Full Open Scan). Его принципы как раз показаны на рисунке 3. Происходит попытка выполнить трехэтапное согласование (three-way-handshake) с интересующими исследователя узлами. Если искомый порт открыт, то мы получаем от него сообщение SYN+ACK, после этого посылаем узлу RST (сброс сессии), если закрыт, то нам приходит RST от проверяемого узла. Надо отметить, что такой способ сканирования легко идентифицируется, стало быть, противостоять ему несложно.

Stealth Scan

Другой способ сканирования сети называется Stealth Scan (Half-open Scan). В этом случае атакующий старается обойти защиту брандмауэра и замаскироваться под обычный сетевой трафик с тем, чтобы избежать фиксации события сканирования в логах системы. Здесь речь не идет о согласовании, исследователь просто отправляет SYN-пакет на интересующий порт требуемого сервера. Если в ответ приходит SYN+ACK, то порт открыт, если RST, то порт закрыт.

Такой способ сканирования более изощренный, однако современные системы предотвращения вторжений должны уметь ему противостоять.

Xmas Scan

Не менее известные методы сканирования — Xmas Scan и Null Scan, однако мы не будем их рассматривать ввиду того, что защита от них реализована в рамках современных операционных систем Microsoft, поэтому они не будут представлять для нас большого интереса. Особенность этих типов сканирования — стелс режим работы, то есть без установки сессии. Впрочем, посмотреть детали можно в курсе Ethical Hacking или в книге «Network Security Test Lab». Эти типы сканирования эффективны только для операционных систем, где TCP-стек работает на основе RFC 793. Все современные операционные системы от Windows Vista и старше не подвержены этому риску.

Idle Scan

Пожалуй, наиболее интересным способом сканирования является Idle Scan. Основная идея заключается в том, что злоумышленник может просканировать жертву, не показывая ей своего IP-адреса, то есть с точки зрения сканируемого узла злоумышленник с ней как бы и не общается. Используется «подставной» узел, который и может быть определен системами противодействия вторжениям в качестве источника атаки. Это весьма разумная методика, так называемый спуфинг, когда адрес отправителя подменяется на адрес другого устройства. Надо сказать, что «подставным» узлом или «зомби» может стать компьютер, который обладает определенными уязвимостями. Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий всегда может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP.

Это сканирование использует поле Identification в IP-заголовке (IPID). Значение IPID увеличивается на единицу в каждом следующем пакете, который отправляет узел. В сущности, это и есть уязвимость, поскольку появляется возможность предсказать, какое количество пакетов было передано между двумя пакетами, которые были получены. Современные операционные системы используют случайное значение для поля IPID, однако, как уже было упомянуто выше, всегда можно найти решение. Для современных Unix и Windows систем от Windows Vista и старше эта проблема уже потеряла свою актуальность.

Рассмотрим рисунок 4 и 5. На первом шаге (1) атакующий обращается к подставному устройству со стандартным SYN-пакетом. Устройство отвечает пакетом SYN ACK (2) или SYN RST, что более вероятно, однако из заголовка пакета атакующему становится виден IPID. Его-то и надо запомнить (3). Далее атакующий обращается к интересующему его серверу (4), при этом подменяет свой IP-адрес на адрес подставного узла, то есть маскируется, используя спуфинг (подмену адресов). В ответ на этот запрос сервер, если порт открыт, посылает SYN/ACK на подставной адрес (5). Мы ведь выполнили подмену. Не зная, что делать с этим пакетом, подставной компьютер в ответ пошлет RST (сброс сессии), при этом увеличит значение своего IPID. В нашем случае он станет равным 30132 (6). Если порт закрыт, то сервер пошлет сброс сессии (RST) — смотрите рисунок 5 (5).


Idle-сканирование (порт на сервере открыт)

Idle-сканирование (порт на сервере закрыт)

IPID подставного узла остался неизменным, в нашем случае 30131, поскольку «зомби» никому больше ничего не отправлял. Теперь останется еще раз обратиться к «зомби», как мы это уже делали выше, выявить его IPID, сравнить его с имеющимся у нас значением. Если IPID увеличился на 2, то порт открыт.

Еще один важный момент, который хотелось бы отметить, — операционные системы имеют свою специфику при работе со стеком TCP/IP. Используя эти особенности при анализе пакетов, полученных при сканировании, вполне возможно выяснить, с какой ОС мы имеем дело, на этих принципах построены методики сканирования Banner Grabbing. Задача — выявить информацию о вычислительной системе и ее уязвимостях, что позволит атакующему использовать эти знания для своих последующих деструктивных действий. Любой современный сканер предоставит атакующему эту информацию.

Операционные системы, как правило, должны быть обновлены, однако это не всегда так, и атакующий может найти «помощников», кроме того, в качестве «зомби» может быть использован сетевой принтер или другое сетевое устройство, которое работает с базовой функциональностью стека TCP/IP

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

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

Online Port Scan

Use this tool to scan individual ports to determine if the device is listening on that port. Scanning TCP ports only (UDP scanning available soon by free registration). Over 12,052,607,959 ports scanned for our guests.

Host name or IPv4 address:
Scan this list of port numbers:
Scan a range of ports:
(less than 500 ports please)
Beginning port number
Ending port number
FTP/file server open/vulnerable (port 21) TELNET service open/vulnerable(port 23)
SMTP relay vulnerable (port 25) POP3/mail server vulnerable (port 110)
HTTP/web server vulnerable (port 80) Scan for Windows file sharing susceptibility (port 445)
Scan for NETBIOS susceptibility (port 139) Scan for firewall remote login (port 8080)
Microsoft Remote Desktop vulnerable (port 3389) VNC Remote Desktop vulnerable (port 5900)
VPN (PPTP) service open/vulnerable (port 1723) Microsoft SQL Server open/vulnerable (port 1433)
Oracle database service open/vulnerable (port 1521) MySQL database open/vulnerable (port 3306)

A full list of port number assignments are maintained by T1 Shopper.

Like breeze blowing through the windows on a house, ports are just hardware locations used for passing data in and out. Like the breeze blowing in and out of the window, computers send information out (and receive data in) though these windows, or ports. (Not to confuse you but computers have internal ports (for connecting disk drives, monitors, keyboards, etc) as well as external ports (for connecting modems, printers, mouse devices, and other peripheral devices). But I"m not going to geek out about internal or external ports, let"s just keep it simple here. How about an example?

  • I"m using port 80 (yes, I"m a web server computer) for sending this web page to your web browser. I"m do this by reading the web page off my disk then send it flying out of my port 80, over the merry Internet, all the way to your blazing fast computer. Your computer will receive it through a "receiving port" (which will not be port 80) and finally your web browser will read the HTML code and display it as the nice-looking web page you"re reading right now.

But why port 80? Why do web servers use port 80? Nothing special about that number - people just got together and willy-nilly decided that port 80 would be the default port on which a web server would send out its content. Don"t believe me? Ok, try this out: Go to your favorite web site, let"s say but instead of typing it in like you usually would, add a ":80" after the ".com" part, like this: . Magic! You"ll get the same web page even if you specify the port number!

So what"s the advantage of having port numbers like this? Well, with publicly-agreed on port numbering, entering a port number becomes optional! Yes, it"s faster - we don"t have to type our fingers silly entering the port number every time. Instead of we can just type and our computers know (because of the http prefix) that we are requesting a web page and so it uses port 80 by default, without us having to type it. Aren"t computers fun!

Ok, let"s really geek out! Port numbers have been divided into three ranges: the Well Known Ports (0 through 1023), the Registered Ports (1024 through 49151), and the Dynamic and/or Private Ports (these are very highest ports 49152 through 65535 and usually used for receiving data, as in our example above). And who keeps track of all these default port numbers, port lists and protocols? The Internet Assigned Numbers Authority. IANA not only coordinates this but also all the worldwide domain names and IP address assignments. They"re busy. If you are a true geek, you"ll enjoy the dry reading at RFC793 which gives the full technical description of ports.

Some viruses attack specific ports on your computer as part of their design such as the old SASSER virus which used TCP port 445. To test if you might be vulnerable to the SASSER virus, use the above port scan tool to scan port 445. If the portscan says it can get through port 445 on whatever firewall you hopefully have, and your computer"s port 445 is also open/active, then you may be susceptible to the SASSER virus.

For a complete security/virus scan T1 Shopper suggests visiting the following tools:

  • Symantec Security Check
  • ShieldsUp!

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

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



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

Примечание: если вы запускаете сканер портов для 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 систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.

И дома, и на работе мы постоянно сталкиваемся с компьютерными сетями. Простой Wi-Fi роутер и подключенный к нему лаптоп – уже локальная сеть. В офисах в общую сеть часто оказываются объединенными множество устройств – роутеры, компьютеры (настольные и ноутбуки), планшеты и смартфоны, принтеры, сканеры, сетевые накопители и так далее. Пользуясь общим сетевым подключением, мы часто даже не догадываемся о том, какие еще устройства имеются в нашей локальной сети.

Для того чтобы определить, какие компьютеры (или иное оборудование) используют общую с нами сеть, служат IP-сканеры. IP-адрес (айпи-адрес, сокращение от англ. Internet Protocol Address) - уникальный сетевой адрес узла в компьютерной сети, построенной по протоколу IP. … в случае работы в локальной сети требуется уникальность адреса в пределах сети - Википедия. Ниже мы рассмотрим несколько бесплатных программ – IP-сканеров: Free IP Scanner, Free Port Scanner, 10-Страйк: Сканирование Сети, Advanced IP Scanner, Angry IP Scanner .

Free IP Scanner.

Free IP Scanner 2.1 – программа для быстрого сканирования IP-адресов и портов. Предназначена для управления и мониторинга сетей, как системными администраторами, так и обычными пользователями. В Free IP Scanner 2.1 использована системы многопоточного сканирования, что позволяет очень быстро обнаруживать сотни компьютеров, подключенных к сети. Для каждого из обнаруженных компьютеров определяется MAC-адрес, NetBIOS и открытые порты.

К несомненным плюсам Free IP Scanner можно отнести:

  • быстроту сканирования IP-адресов и портов;
  • простой, понятный интерфейс;
  • широкие возможности для настройки сканирования.

На современных компьютерах Free IP Scanner 2.1 работает быстро и стабильно, однако запуск этого приложения на старых ПК может значительно замедлить их работу.

Free Port Scanner.

Free Port Scanner 3.1.5 – бесплатная программа, позволяющая быстро просканировать выбранные порты в определенном диапазоне IP-адресов.

Для начала сканирования требуется указать IP-адрес и порты, которые будут проверяться (по умолчанию задан IP-адрес 192.168.0.1 и порты 21-23, 25, 53, 80, 110, 135, 137-139, 443, 445, 1080, 1433 ,3128, 3306, 8080). Процесс сканирования протекает достаточно быстро, в нижней части окна программы будет отображена подробная информация о каждом из указанных портов:

  • IP-адрес;
  • номер порта;
  • имя порта;
  • статус порта;
  • описание.

К сожалению, иногда работа программы Free Port Scanner 3.1.5 на компьютере под управлением операционной системы Windows 7 приводила к зависанию ПК, приходилось запускать Диспетчер задач (комбинация CTRL + Alt + Delete) для остановки Free Port Scanner.

10-Страйк: Сканирование Сети.

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


Сканирование сети осуществляется многопоточно, что дает возможность достаточно быстро обнаружить все устройства, подключенные к локальной сети. Поддерживается множество протоколов, в частности, ICMP-пинг, поиск открытых TCP-портов, NetBios, SNMP, UPnP.

Кроме обнаружения сетевых устройств, с помощью 10-Страйк: Сканирование Сети можно также:

Advanced IP Scanner.

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


К достоинствам Advanced IP Scanner можно отнести:

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

Результаты сканирования, полученные программой Advanced IP Scanner, можно сохранить в виде фала форматов HTML или CSV.

Angry IP Scanner.

Angry IP Scanner – бесплатная программа с открытым исходным кодом для сканирования IP-адресов и портов. Это приложение работает на компьютерах под управлением операционной системы Windows, Linux, Mac OS X.


Angry IP Scanner пингует все IP-адреса и определяет их статус. По каждому IP-адресу собирается данные о MAC-адресе, хосте, открытых портах. Кроме того, отображается и информация из NetBIOS (имя компьютера и рабочей группы, пользователь). Для ускорения сканирования применена многопоточная технология. Результаты сканирования можно экспортировать в файлы форматов CSV, TXT, XML.

Функциональные возможности Angry IP Scanner можно расширять с помощью плагинов.

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