• Открытые порты по умолчанию. Проверить открытые порты, за минуту

    Добрый день уважаемые читатели и гости блога, вновь рад вас приветствовать в разделе про безопасность, в прошлый раз мы с вами научились удалять 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).

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

    Как проверить, открыты ли порты? Командная строка

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

    Доступ к ней осуществляется посредством прописывания в строке меню «Выполнить», которое, в свою очередь, вызывается либо из главного меню «Пуск», либо сочетанием Win + R. Для того чтобы проверить, открыт ли порт Windows, интересующий пользователя, для начала можно отобразить полный список портов, где и будет присутствовать искомый. Для этого используется команда netstat -a. После ее выполнения на экране отобразится полный перечень портов с указанием их статуса.

    Использование онлайн-ресурсов

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

    Для таких целей можно использовать достаточно много сайтов, которые проверяют подключение и статус предполагаемого открытого порта. Например, в качестве средства быстрой проверки можно задействовать раздел Port-scanner, расположенный на ресурсе WhatsMyIP.org. Тут в разделе Custom Port Test имеется специальное поле, в которое пользователю нужно ввести интересующий его порт, поле чего нажать кнопку начала проверки (Start Test). Само собой разумеется, этот процесс займет немного времени. По его завершении будет выдан результат.

    Как Telnet в Windows XP

    Наконец, перейдем к проверке на В Windows XP, равно как в любой другой системе, это делается элементарно.

    Как проверить, открыты ли порты, необходимые для доступа к определенным функциям или ресурсам Интернета? Да проще простого. Опять же, в качестве основного инструмента будет использоваться Но на сей раз в ней нужно будет ввести вариант команды Telnet «имя сервера» «номер порта» (например, для проверки соединения через SMTP с портом номер 25 это выглядит как telnet smtp.имя.ru 25, где в качестве имени вводится название домена). Как видим, все просто.

    Проблемы в Windows Vista и выше

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

    В самом простом варианте следует зайти в раздел программ и компонентов, после чего поставить галочку напротив самого клиента Telnet. Если он по каким-то причинам не включается, используем в командной строке следующее: dism /online /Enable-Feature /FeatureName:TelnetClient.

    В случае же, если клиент в списке отсутствует вообще, заходим в (команда regedit в меню «Выполнить»), после чего спускаемся по ветке HKLM/SYSTEM через подпапку CurrentControlSet до директории Windows. В окне справа находим параметр CSDVersion и вместо значения 200 присваиваем ему 0. Далее используется тот же способ, что и для «экспишки».

    Почему некоторые порты недоступны?

    По результатам можно судить о состоянии того или иного порта. Если в данный момент какой-то из них недоступен, но его требуется задействовать, причин на это может быть достаточно много. Чаще всего это связано с последствиями воздействия вирусов. Иногда следует проверить настройки TCP/IP. В некоторых случаях придется удостоверить в правильности настроек маршрутизатора, особенно в случае на роутере. Также следует обратить внимание на настройки брэндмауэра - возможно, именно он блокирует порт. Наконец, не исключается и вариант того, что на самом деле порт находится в открытом состоянии, а время его пинга (отклика) завышено.

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

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

    Сетевые приложения

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

    Чтобы посмотреть перечень, необходимо использовать либо сторонние либо стандартную утилиту операционных систем Windows и Linux: netstat. Запускается она из привычной командной строки. Для начала вызываем командную строку. Этого можно добиться двумя способами. Что касается первого варианта, перейдите в меню «Пуск» к пункту «Выполнить».

    В возникшем окне введите «cmd», после чего нажмите «Enter». Другой метод заключается в том, чтобы запустить необходимую командную строку «своими руками», то есть, перейдя в папку «System32», воспользоваться программой «cmd.exe».

    Netstat

    Чтобы узнать, какие на следующем этапе запускаем утилиту «netstat». С этой целью в командную строку, которую запустили ранее, введите «netstat», после чего нажмите «Enter».

    Те пользователи, которым этой информации недостаточно, могут обратиться к возможностям данной утилиты при помощи запуска ее со специальным ключом -h, другими словам, попробуйте ввести в командную строку «netstat -h». В случае использования ключа «netstat -b» утилита будет показывать открытые порты, а также приложения, которые используют данные порты для собственной работы.

    Есть и еще один полезный ключ «netstat 5». Если его использовать, вы увидите не только открытые порты, но и возможность потокового обновления информации, новые данные будут отображаться каждые 5 секунд. Чтобы прекратить появление информации с указанным ключом, необходимо воспользоваться сочетанием клавиш «Ctrl+C».

    Изучение полученной информации

    Окно командной строки покажет открытые порты. Это будет выглядеть следующим образом: непосредственно разделится на 4 части. Левый столбик будет отображать имя протокола, второй - домен, а после двоеточия сам открытый порт, третья часть - внешний адрес, четвертая - состояние.

    Открытие портов в Windows

    Далее мы рассмотрим, Windows. Выполнить операцию открытия портов на Windows 7 и Vista пользователи могут методом применения стандартных инструментов самой операционной системы без привлечения особого программного обеспечения от сторонних разработчиков.

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

    Указываем пункт «Безопасность», переходим к разделу «Брандмауэр Windows». Выбираем пункт под названием «Дополнительные параметры», который помещает в себе левая часть окна приложения. После этого вводим пароль администратора. Его необходимо вписать в соответствующем поле после появления окна авторизации.

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

    Для этого предусмотрено соответствующее поле «Имя». Вводим номер выбранного порта в соответствующем поле «Порт», нажимаем кнопку «Далее». Указываем нужный может быть TCP либо UDP) в следующем которое посвящено портам и протоколам. Применяем флажок для пункта «Разрешать соединение», перейдя к следующему окну «Действия».

    Завершающий этап

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

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

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