Тест открытых портов: как проверить на удаленном компьютере

Что такое порт компьютера

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

Проверить доступность порта

Характеристики двери:

  1. Иногда порты путают с разъемами на материнской плате (формально они есть, но речь идет о подключении физических устройств).
  2. Общее количество портов составляет 65535. Они имеют определенное назначение, например, 20-21 «по умолчанию» используется для FTP-соединений, а 110 — для почтового протокола POP3.
  3. Комбинация IP-адреса и порта обычно называется дескриптором сокета или файла, с помощью которого программа передает данные.

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

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

Статус Дверь закрыта

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

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

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

Статус Дверь открыта

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

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

Как проверить, открытые порты с помощью утилиты ss?

Утилита ss — это современная альтернатива команде netstat. В отличие от netstat, который берет информацию из каталога / proc, утилита ss напрямую взаимодействует со специальной подсистемой ядра Linux, поэтому она быстрее и точнее, если вы хотите выполнить сканирование портов, это не имеет значения. Его варианты такие же:

Видны только процессы, запущенные на 80-м порту:

$ ss -tulpn | grep 80

Как проверить, открытые порты с помощью утилиты netstat?

Утилита netstat позволяет вам видеть открытые порты в системе, а также текущие открытые сетевые соединения. Для просмотра более подробной информации воспользуйтесь опциями:

  • -lo -listening — показывает только прослушивающие порты;
  • -po -program — показать название программы и ее PID;
  • -to -tcp — показать порты TCP
  • -u или -udp показать порты UDP;
  • -no -numeric показать IP-адреса в числовой форме.

Порты Linux, открытые в ожидании подключения, относятся к типу LISTEN, а IP-адрес, на котором служба ожидает подключения, отображается перед портом. Это может быть конкретный IP-адрес или * / 0.0.0.0, что означает любой доступный адрес:

$ netstat -tulpn

F.A.Q.

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

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

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

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

Порты обозначены номерами от 0 до 65 535 включительно. Вы не можете открыть никакие другие двери, поэтому проверьте и эту. Это ограничения протокола TCP / IP.

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

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

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

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

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

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

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

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

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

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

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

Как проверить, открыт ли порт на  удаленной системе Unix с помощью команды telnet?

Команда telnet используется для взаимодействия с другим хостом по протоколу TELNET. Общий синтаксис для telnet:

$ telnet Имя хоста или IP Номер порта

проверьте, открыт ли порт 22 по telnet, если он открыт, мы увидим следующий ответ

если закрыть мы увидим ответ

Какие порты бывают?

Порты — это виртуальные пути, по которым информация передается с компьютера на компьютер. Всего на выбор 65536 портов..

Порты от 0 до 1023: самые известные номера портов. Самые популярные сервисы, работающие на портах: база данных MS SQL (1433), почтовые сервисы POP3 (110), IMAP (143), SMTP (25), веб-сервисы HTML (80).

Порты с 1024 по 49151 — зарезервированные порты; это означает, что они могут быть зарезервированы для определенных программных протоколов.

Порты с 49152 по 65536 являются динамическими или частными портами; это означает, что их может использовать кто угодно.

Что такое проброс портов? (Port Forwarding)

Переадресация портов — это особая функция маршрутизатора, которая позволяет отправлять пакеты данных извне (из Интернета) на устройства или компьютеры в локальной сети (LAN). По умолчанию все порты на маршрутизаторе закрыты, чтобы предотвратить взлом компьютеров в локальной сети. Но когда вы используете сервис для подключения через порт на вашем роутере, вам нужно его открыть. Например: Yahoo! Messenger требуется один из следующих открытых портов: 5061, 443, 80.

Как проверить, открыт ли порт для подключения

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

Порт открыт

Есть три основных способа проверить открытые двери:

  1. Специализированные онлайн-сервисы.
  2. Прикладные приложения, работающие на компьютере.
  3. Утилиты встроенные в операционную систему.

Выбор решения зависит от поставленных задач. Итак, если вам нужно открыть доступ к своему компьютеру извне, вы можете воспользоваться услугами 2ip.ru или portscan.ru. Для локальной работы удобнее использовать такие приложения, как Portforward Network Utilities или стандартную утилиту TELNET. Он поставляется в «стандартной» сборке Windows и доступен для запуска в консоли CMD.

Перечень открытых портов на локальном компьютере

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

Командная строка

Проверить занятые порты просто:

  1. Вы должны нажать комбинацию клавиш <win+r>.</win+r>
  2. Введите команду CMD и нажмите кнопку Enter.
  3. Введите команду netstat –a и снова нажмите Enter.

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

Telnet порт

Если вы хотите изучить список «чужих» программ, лучше всего загрузить его в файл с помощью команды netstat –a> name.txt. По умолчанию список сохраняется в каталоге пользователя, под учетной записью которого была запущена утилита (например, C: Users User ). При желании перед запуском утилиты вы можете получить доступ к корню диска с помощью команды cd c:.

Test-NetConnection в скриптах мониторинга

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

Get-Content c: Distr server.txt | где {-NOT (Test-Netconnection $ _ -Port 25 -InformationLevel Quiet)} | Таблица форматов — автоматический размер

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

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

  • RPC — TCP / 135
  • LDAP — TCP / 389
  • LDAP — TCP / 3268
  • DNS — TCP / 53
  • Kerberos — TCP / 88
  • PMI — TCP / 445

$ Doors = «135», «389», «636», «3268», «53», «88», «445», «3269», «80», «443»
$ AllDCs = Get-ADDomainController -Filter * | Выберите имя хоста объекта, IPv4-адрес, isGlobalCatalog, сайт, лес, операционную систему
ForEach ($ DC в $ AllDC)
{
Foreach ($ P в $ Doors){
$ check = Test-NetConnection $ DC -Port $ P -WarningAction SilentlyContinue
Если ($ check.tcpTestSucceeded -eq $ true)
{Write-Host $ DC.name $ P -ForegroundColor Green -Separator » => «}
разное
{Write-Host $ DC.name $ P -Separator «=>» -ForegroundColor Red}
}

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

powershell: test-netconnection проверяет порты на контроллерах домена

Оцените статью
Блог про загрузочные диски