Как определить открытые порты? Как проверить открыт ли порт на компьютере бесплатной программой. Хм, непонятки вышли

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

Порт 80 предназначен для протокола HTTP для соединения с Интернетом, а почтовый протокол POP3 использует порт 110. Если 80 закрыт, соответственно, осуществлять передачу данных по Сети невозможно. Следовательно, отправка и получение почты запрещены с закрытым портом 100.

Для системных программ назначаются порты под номерами от 0 до 1023. Пользовательские программы используют для соединения номера от 1024 до 49151. Порты от 49152 до 65535 называются динамическими, используются для временных соединений клиент - сервер.

Порты находятся в следующих состояниях:

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

Способ 1: онлайн-сервисы

Это очень простой способ проверить, открыт ли порт на используемом компьютере.

По умолчанию предлагается выбрать часто используемые порты и проверить их. Это:

  • 25565 для игры "Майнкрафт";
  • 8621 обычно используемый программой Ace Stream для трансляций ТВ;
  • 80 для протокола HTTP;
  • 7777;
  • 27016;
  • 8080 для соединения с сервером.

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

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

Способ 2: CurrPorts

Проверить, открыт ли порт, можно с помощью стороннего программного обеспечения CurrPorts.


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

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

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

Способ 3: netstat

Один из быстрых способов проверить, открыт ли порт на компьютере или сервере, - из командной строки с помощью утилиты netstat.


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

Используя некоторые параметры, можно отфильтровать вывод информации на экран.

  1. Отображение таблицы маршрутизации осуществляется в виде netstat -r (к имени команды добавляют параметры -r или --route).
  2. Вывод таблицы интерфейсов осуществляется в виде netstat -i или netstat --interfaces.
  3. Для вывода сетевой статистики необходимо добавить -s.
  4. Детализированный вывод осуществляется с помощью параметра -v.
  5. Для отображения таймера добавляется параметр -t;
  6. Непрерывный ввод задается с помощью -c.
  7. Чтобы вывести адрес и номера портов в числовом формате без имен, подается netstat -n.
  8. Отображение подключения по протоколу, а задается как "-p имя_протокола".

Способ 4: telnet

Другой эффективный способ проверить, открыт ли порт, - использовать telnet.


Как правило, утилита доступна в большинстве систем. Чтобы проверить доступность адресов используются:

Telnet IP_адрес

Есть возможность включить режим отладки и вывести подробную информацию во время работы. Для этого добавляется параметр -d, задается адрес и номер порта. Например:

Sudo telnet -d localhost 22

Чтобы проверить, открыт ли порт по IP:

Telnet адрес_IP номер_порта

Протестировать сайт, собрать запросы, увидеть все переданные данные можно командой:

Telnet адрес_сайта ru 80 GET /

Таким образом, возвращается страница, заголовки, которые отображает браузер.

Способ 5: tcping

Как проверить, открыт ли порт на компьютере? Можно воспользоваться командой tcping. Она доступна только для серверов "Виндовс". Перед использованием утилиту необходимо загрузить.

Проведение диагностики доступности порта производится в виде:

Tcping [-tdsvf46] [-i interval] [-n times] [-w interval] [-b n] [-r times][-j depth] [--tee filename] [-f] destination

Обозначение некоторых опций:

  • 4 - использование IPv4;
  • 6 - использование IPv6;
  • n - количество отправляемых пингов (по умолчанию 4);
  • i - интервал между отправкой пингов (по умолчанию 1);
  • w - интервал между ответами (по умолчанию 2);
  • d - отображать дату и время запроса;
  • f - принудительная отправка минимум 1 байта;
  • g - остановка после заданного количества неудачных пингов;
  • v - печать версии и выход;
  • --tee _filename_ - дублирование результата в текстовый файл;
  • --append - если используется --tee, вместо перезаписи содержимого файла, новая информация добавляется к существующей;
  • port - номер порта;
  • h - использование режима http;
  • u - отображать адрес URL на каждой строке;
  • post - использовать POST вместо GET в режиме http;
  • head - использовать HEAD вместо GET;
  • сокращенный вызов режима http.

Способ 6: nmap

Как проверить, открыт ли порт на роутере?


Это легко сделать с помощью утилиты nmap. Установить занятость некоторого порта IP-адреса можно так:

Nmap -sP IP_адрес/номер_порта

Общий синтаксис команды:

Nmap [типы сканирования] [опции] {спецификации}

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

Чтобы узнать используемый софт:

Nmap -sV сайт

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

Просканировать диапазон адресов можно так:

Nmap -sP x-y

где x - адрес, с которого начинается диапазон, y - которым заканчивается.

Утилита имеет графическую оболочку Zenap. Кроме того, что она выполняет все функции nmap, умеет строить карту сети.

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

Чтобы понять, как работает пара компьютеров, установивших связь друг с другом по протоколу TCP/IP, нужно знать, что для их взаимодействия устанавливается канал связи (Session), по которому они будут передавать друг другу информацию. Чтобы отправляющий данные компьютер был уверен, что они поступают к соответствующей программе на нужном компьютере, и принимающий компьютер понял, что полученные данные пришли именно с нужного компьютера и для нужной программы, связь устанавливается по схеме сервер-клиент на заранее оговоренном канале связи. Этот канал связи называется «Порт».

Программа на -сервере настроена таким образом, что в режиме запроса от клиентской программы. Другими словами она «слушает» заранее оговоренный порт (канал связи). Клиентская настроена на отправку запросов исключительно по заранее оговоренному порту. Для удобства они нумеруются от 0 до 65535.

Существуют общепринятые , которые закреплены за часто используемыми и популярными программами, например, почтовые программы The Bat и Outlook Express используют порт 110. Вообще, этот порт зарезервирован за всеми программами, соединяющимися с почтовыми серверами. Так, для браузеров зарезервирован свой порт – 80. Он предназначен для просмотра - со всех браузеров.

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

Для этого с помощью команды «Выполнить», которая доступна после активации кнопки «Пуск», ввести консольную команду netstat. Чтобы проверить открытый порт самостоятельно и заодно просмотреть

Когда приложение или служба на компьютере работает с сетью, то открывается логический порт, резервируя номер, с помощью которого происходит передача информации к удалённым серверам или клиентам. По протоколу TCP/IP берётся число от 0 до 65535. А смысл этих действий в том, что оно уникально для каждого приложения и однозначно определяет, «кому» принадлежат полученные данные.

Но далеко не всегда выбранный номер оказывается доступным - он может быть занят или открыт другой программой. А иногда появляется необходимость ввести эту «цифру» вручную. Чтобы не перебирать всё подряд, пользователь может быстро проверить порты на открытость, после выбрав любой свободный. Но увы, далеко не каждый имеет представление о том, как это можно сделать. Расскажем о наиболее простых и лёгких методах проверки:

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

Чтобы решить проблему, совсем необязательно прибегать к ухищрениям или сторонним приложениям. Можно воспользоваться возможностями системы, которые тоже позволяют узнать ответ на вопрос: открыт ли порт?

Для этого понадобится запустить командную строку. Сделать это можно как с помощью окна «Выполнить», так и через поиск. В версии Windows 7 и ниже нажимаем «Пуск», в 8.1 - кнопку Start. Вводим и находим cmd , это и есть командная строка. Запускать её нужно через правую кнопку мыши, от имени администратора. После чего можно ввести одну из двух команд:

  1. netstat -a - показывает открытые (listening, активные - established, ожидание - time_wait) и закрытые порты;
  2. netstat -aon | more - список доступных.

Второй вариант удобен тем, что с его помощью можно узнать, какая программа привязана к тому или иному порту. Для этого смотрим в колонке PID - там указана цифра, являющаяся идентификатором процесса. Запускаем диспетчер задач или отправляемся на вкладку «Подробности» (для Windows 8 и 8.1) и ищем номер в «ИД процесса». Если название приложения незнакомо или кажется подозрительным, то щёлкаем по нему правой кнопкой мыши и выбираем «Открыть расположение».

Проверка порта на доступность с помощью онлайн-сервисов

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

Порт закрыт

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

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

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

Порт открыт

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

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

Как ещё можно проверить, открыт ли порт

Если первый и второй метод по каким-либо причинам не подходит, то можно подойти к проблеме иначе: существует огромное количество различных полезных программ, которые платно или бесплатно предоставят исчерпывающую информацию по имеющимся на компьютере портам. Вместе с тем в интернете можно найти и довольно простые как в плане использования, так и по выдаваемой информации утилиты. Примером таких приложений могут служить Free Port Scanner и CurrPorts - обе они бесплатны.

А как закрыть?

Разобравшись с тем, как проверить открыт ли порт, пользователя может заинтересовать и другой вопрос: если он всё-таки активен, то как закрыть его при необходимости? На самом деле это не столь сложно.

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

Видео

Из этого видео вы узнаете, как проверить открытые порты и определить, кто их использует.

Не получили ответ на свой вопрос? Предложите авторам тему.

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

Что такое порт и тип программ Сервер – Клиент?

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

Если говорить о вредоносных программах то ситуация выглядит вот так. Имеются две программы «Программа — Сервер » и «Программа – Клиент » Принцип работы подобных вещей такой:

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

Программа – Клиент : Запускается самим создателям или просто пользователем с целью управления удаленным компьютером!

Человек используя «Клиент » отправляет нужные ему команды, которые понимает сервер. Сервер в свою очередь принимает команды и выполняет соответствующие действия на удалённом компьютере.

Подобные вредоносные вещи, о которых идёт речь в данный момент имеют названия «BackDoor» Один из типов вредоносного программного обеспечения.

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

Как происходит подключения?
Что бы «Клиент» имел возможность подключиться к «Серверу» и получить доступ к удалённому компьютеру «Сервер» открывает какой-то «ПОРТ» и ждёт подключения от клиента. Порт может быть открыт любой, но в диапазоне «От 0 до 65535» таковы ограничения протокола «TCP/IP»

В момент запуска «Сервера» происходит следующие: Программа – сервер открывает некий порт, например «3123» когда от клиента приходит запрос на порт «3123», сервер понимает, что это ему и обрабатывает полученные данные.

К слову: Клиент, всегда должен точно знать, на каком порту весит сервер.

Так как существуют и легальные программы, которые используют определённые порты, например почтовые клиенты, всегда забирают себе 25 порт для отправки почты и 110 для приёма. Существует множество других популярных программ и по этой причины для всех популярных вещей зарезервирован диапазон «От 0 до 1023»

Поэтому вредоносные программы редко использую номера портов из диапазона «От 0 до 1023». Если Вы заметили, что, например порт 3123 открыт, и Вы не способствовали его открытию, стоит убедиться, что порт используется легальной программой, в противном же случае стоит найти и завершить программу, которая открыла данный порт…

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

Как я сказал выше, мы будем узнавать открытые порты средствами «Windows» не используя сторонние программы и тем более online сервисы. Для работы нам понадобится только командная строка.

Запускаем «cmd.exe» получаем список открытых портов, а так же «PID» процессов, которые используют порты. Для этого используем команду «netstat» с параметрами «-a -o» и для удобства сохраняем результат выполнения команды в файл «*.txt» на диск «С:\»

Конечный вариант команды такой:

Default

netstat -a -o > C:\Port.txt

netstat - a - o > C : \ Port . txt

После нажатия клавиши «Enter» нужно будет немного подождать, не долго.

После выполнения команды на диске «С» появится файл «Port.txt» В этом файле мы можем узнать открытые порты и «PID» процессов, которыми заняты порты.

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

Для получения имени процесса по его «PID» используем команду «tasklist» и смотрим, что за гадость открыла на нашем компьютере данный порт.

Для справки: Можно было изначально использовать команду «netstat» с параметрами «-a -b» в этом случаи мы сразу получили бы имена процессов.

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

Default

tasklist > C:\ PID.txt

tasklist > C : \ PID . txt

в итоге получаем файл «PID.txt» и зная что порт «3123» открыла программа с «PID — 3264» находим его и смотрим имя процесса.

Как видим имя программы «123.exe» не стал фантазировать, решил просто назвать «123» и все))

Сбор информации о файле и портах :

После получения списка открытых портов, можно узнать о них больше информации. Просто воспользуйтесь поиском «google.ru» и смотрите, что пишут о том или ином порте, а затем уже делайте выводы.

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

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

В заключении.
Мы узнали — Как узнать открытые порты , на компьютере используя команду «netstat » Вы можете получить больше информации в самой справке по данной команде.

Как я уже говорил выше, можно было просто использовать параметры команды «-a -b» и не париться с получением имени процесса командой «tasklist» Сделал я так специально, что бы вкратце продемонстрировать для общего понимания работу команды «tasklist»

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



Понравилась статья? Поделиться с друзьями: