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

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

Вешаем службу отвечающую по нужному порту

Как я и писал выше, пока сервисы не развернуты, то и порты никто не слушает, но нам необходимо произвести проверку, чтобы потом к этому не обращаться. Нам необходимо с помощью специальной утилиты, эмулировать прослушивание нужного нам порта (сокета) , те кто из вас знает такую операционную систему , как Centos 7, то они помнят, в ней была отличная утилита под названием netcat. Она позволяла с помощью определенных команд слушать нужный администратору порт.

netcat - утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. На Windows платформах, она так же присутствует.

Распаковываем архив на сервере, где в будущем будет работать служба. В папке вам будут необходимы файлы nc.exe и nc64.exe. Далее зажимаете Shift и щелкаете правым кликом по папке, из контекстного меню выбираете пункт "Открыть окно команд"

Теперь представим, что я хочу чтобы на сервере работал 80 порт, ну типа IIS сервер . Открываем netcat, для начала посмотрите справку:

  • -d detach from console, background mode
  • -e prog inbound program to exec
  • -g gateway source-routing hop point[s], up to 8
  • -G num source-routing pointer: 4, 8, 12, ...
  • -h this cruft
  • -i secs delay interval for lines sent, ports scanned
  • -l - слушать входящие соединения
  • -L listen harder, re-listen on socket close
  • -n numeric-only IP addresses, no DNS
  • -o file hex dump of traffic
  • -p - какое соединение будет прослушивать
  • -r randomize local and remote ports
  • -s - задать локальный адрес назначения
  • -t answer TELNET negotiation
  • -c send CRLF instead of just LF
  • -u - UDP режим
  • -v verbose
  • -w secs timeout for connects and final net reads
  • -z zero-I/O mode

Нас интересует команда вот такого вида:

netcat-win32-1.12>nc.exe -l -p 80

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

Как проверить открыт ли порт на сервере

Теперь перейдем на другой сервер и попытаемся проверить открытые порты на удаленном сервере. В решении нашей задачи, мы будем использовать утилиту telnet, как ее устанавливать смотрите . Открываем командную строку и вводим такую строку:

telnet 10.242.17.134 80

Как видите я указал нужный мне ip адрес и нужный номер порта

Кстати проверить открытые порты на компьютере, где расположена служба, можно командой:

telnet localhost номер 80

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

Если подключение удачное, то вы вы увидите черный экран, либо без текста, либо с каким-то приветственным сообщением, о том, что вам ответила какая-то служба.

Через внешние утилиты

Проверить открыть ли порт, можно и внешними утилитами, тут главное требование, чтобы у вас был белый ip имеющий доступ в интернет. Представим себе, все туже ситуацию, что вам необходимо протестировать 80 соединение, на котором будет сайт компании. Вы его развернули, но он почему-то не работает. Не так давно, я вам рассказывал про сервис ping.eu (). Одним из пунктов этого инструментария был port check (проверка открытых портов). В поле "ip address or host name" вы пишите ip адрес или dns имя сервиса, что требует проверки, а в соседнем поле, необходимый номер сокета, в моем случае 80, нажимаете "Go". Через секунду, вы получите результат, открыты порты 80 или 443 у сайта или нет. В моем случае статус "open".

Массовая проверка открытых портов в сети и локально

Существуют специальные утилиты, в задачи которых входит сканирование компьютера или сервера, на предмет доступных портов, по которым есть соединение, они называются сканеры портов. Таких программ очень много, я приведу пример в виде XSpider 7.7. Как проверить открыт ли порт в утилите XSpider 7.7. Щелкаем правым кликом по "сканированные хосты" и добавляем хост или диапазон ip адресов.

Прописываете, что именно будет подвергаться проверке.

Нажимаем значок запуска и запускаем процедуру.

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

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

I. ПРОВЕРКА ОТКРЫТЫХ ПОРТОВ НА ЛОКАЛЬНОМ КОМПЬЮТЕРЕ

Способ 1. Для того, чтобы проверить открытые порты на локальном (своем) компьютере, можно воспользоваться «Командной строкой» операционной системы Windows (

Для вызова этой строки необходимо нажать сочетание клавиш Win+R и прописать команду «cmd», после чего нажать «ОК».

В открывшемся окне пропишите специальную команду «netstat -a» и ознакомьтесь со списком открытых портов на Вашем компьютере.

Способ 2. Если Вы подключены к интернету, то проверить, открыт ли порт, можно на сайте

whatsmyip.org/port-scanner/

Данный ресурс сам определит Ваш IP-адрес, а сканировать порты можно через специальное поле «Custom Port Test ».

Введите интересующий Вас порт и нажмите кнопку «Check Port », после чего Вы получите ответ, открыт или закрыт данный порт.

II. ПРОВЕРКА ОТКРЫТЫХ ПОРТОВ НА УДАЛЕННОМ КОМПЬЮТЕРЕ

Теперь рассмотрим, как проверить, открыт ли порт на удаленном компьютере или сервере. Воспользуйтесь все той же «Командной строкой» в системе Windows, но теперь пропишите команду telnet в формате:

telnet IP-адрес порт

Нажмите клавишу «Enter». Если нет записи «Could not open …», то запрашиваемый порт открыт, иначе - закрыт.

Мы вкратце рассмотрели, как проверить, открыт ли порт на компьютере. Если остались, какие либо вопросы, то задайте их в поле для комментариев.

Что означает результат проверки порта?

Статус Порт закрыт

Подключиться к этому порту в данный момент невозможно. Вредоносные программы или злоумышленники не могут воспользоваться данным портом для атаки или получения конфиденциальной информации (Вам поможет материал 4 лучших бесплатных антивируса для Windows 10). Если все неизвестные порты имеют статус "закрыт", то это означает хороший уровень защищенности компьютера от сетевых угроз.

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

Результат "порт закрыт" также можно получить, если порт открыт, но время отклика вашего компьютера в сети (пинг) завышено. Подключится к порту в таких условиях практически не представляется возможным.

Статус Порт открыт

К данному порту можно произвести подключение, он доступен из интернета. Если это то, что требуется — прекрасно.

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

F.A.Q.

Что за порты? Для чего они нужны?

Порты, которые проверяет PortScan.ru, — это не физические, а логические порты на компьютере или сетевом устройстве.
В случае, если программа или служба планирует работать с сетью, она открывает порт с уникальным номером, через который она может работать с удаленными клиентами/серверами. Фактически, сетевая программа резервирует для себя определенное число, которое позволяет понять, что пришедшие данные предназначаются именно этой программе.

На человеческом языке это звучало бы примерно так: "Я, программа-сервер, открываю порт номер 1234. Если по сетевому кабелю придут данные с номером порта 1234 — это мне. "

Какие номера портов может открывать программа?

Порты идентифицируются номерами от 0 до 65535 включительно. Любой другой порт открыть нельзя, соответственно и проверить тоже. Это ограничения TCP/IP протокола.

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

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

Для каких ситуаций возможна проверка открытых портов?

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

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

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

Проброс портов (Port Forwarding, иногда Virtual Servers) — специальная настройка на роутере, позволяющая перенаправить внешние запросы (из интернета) на компьютеры локальной сети. По сути это способ указать, на какой локальный компьютер пересылать данные и запросы подключения, пришедшие на определенный порт.

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

Если ваш компьютер подключен к интернету напрямую (без роутера/маршрутизатора), то выполнять проброс портов не требуется. Все ваши открытые порты должны быть доступны из интернета (естественно, при наличии выделенного IP).

Как узнать, какие порты открыты на компьютере?

Для Windows: Пуск → "cmd" → Запустить от имени администратора → "netstat -bn"
Для Linux: В терминале выполнить команду: "ss -tln"

Как закрыть порт?

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

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

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



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

Примечание: если вы запускаете сканер портов для 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 и т. д.

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

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



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

Примечание: если вы запускаете сканер портов для 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 и т. д.

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

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

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

Инструменты для сканирования портов

Сегодня я хочу рассказать вам про 3 программы для сканирования портов.

1. Nmap

Nmap (“Network Mapper”) - это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Nmap использует сырые IP пакеты новаторским способом, чтобы определить, какие хосты доступны в сети, какие службы (имя и версия приложений) эти хосты предлагают, какие операционные системы (и версии ОС) там запущены, какие типы фильтров пакетов/файерволов используются и дюжины других характеристик.

Nmap поддерживает дюжины продвинутых техник для составления карты сети, заполненной IP фильтрами, файерволами, роутерами и другими преградами. Сюда относятся множество механизмов сканирования портов (как TCP, так и UDP), определение ОС, определение версий, пинг зачисток и другое. Официальный сайт программы: insecure.org .

2. Advanced Port Scanner

Advanced Port Scanner – это быстрая и бесплатная программа для сканирования портов. С его помощью можно быстро найти все открытые порты (TCP и UDP) определить версии программ, работающих на них. Программа содержит много удобных функций для работы с локальными сетями. Возможности программы:

  • быстрое сканирование всех устройств в сети;
  • определение программ, использующих найденные порты;
  • удобный доступ к найденным ресурсам: HTTP, HTTPS, FTP и общим папкам;
  • удаленный доступ к найденным компьютерам через RDP и Radmin;
  • запуск команд для удаленного компьютера;
  • Удаленное включение и выключение компьютеров.

Официальный сайт программы: Advanced Port Scanner .

3. Fpipe

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

Работа fpipe основана на перенаправлении портов. Запускается она, заданием прослушиваемого порта сервера, порта назначения удаленного узла (порт, который требуется для достижения с внутренней стороны брандмауэра) и (дополнительно) номер требуемого локального исходного порта. Официальный сайт программы: Fpipe .

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

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

Статьи по теме: