Способы проверки доступности tcp-портов
Содержание:
- Как открыть порты на компьютере
- Как открыть порт в Windows 7 и Windows 8
- Где может пригодиться?
- Ошибка конфигурации
- Открытые порты Ubuntu
- Что означает 0.0.0.0 в netstat. различные виды нотаций в netstat и ss
- IP and Port Scanner FAQs
- Как открыть порты на Windows 7, 10
- Какая польза от открытия портов роутера?
Как открыть порты на компьютере
Открытие порта может понадобится почти любому человеку, использующему компьютер с установленной десяткой или любой другой операционной системой. В этой инструкции мы расскажем, как открыть порты на компьютере при помощи встроенного фаервола Windows, через маршрутизатор и изменяя настройки вашего антивирусного программного обеспечения.
Зачем нужно открывать порты?
Существует множество приложений и игр, которые при использовании интернета подключаются через конкретный порт. Десятая версия Виндоус, в целях безопасности, блокирует свободное их использование.
Также подобные подключения невозможны без соответствующей настройки роутера или антивирусной программы, если таковая установлена на вашем ПК.
Пользователю нужно самому разрешить доступ, выставив соответствующие настройки.
Проверка порта
Проверить открыт ли тот или иной порт на ПК, можно воспользовавшись специальными сервисами или командной строкой системы. Чтобы сделать это онлайн, потребуется проделать следующее:
- Перейдите на сайт и выберите вариант«Проверка порта».
- Введите его номер и кликните «Проверить».
Сервис выдаст текущее состояние порта.
Чтобы проверить порт, используя специальную команду вам понадобится:
- Запустить командную строку, используя поиск Windows или отыскав её в стартовом меню системы.
- Вписать в окно программы netstat –a и нажать Enter.
Перед вами отобразится список открытых на данный момент портов.
Открытие порта в фаерволе
Чтобы настроить порты используя встроенный в систему брандмауэр, потребуется установить правила подключений. Осуществить это можно проделав следующие операции:
- Откройте «Панель управления» через поиск в стартовом меню.
- В следующем окне зайдите в «Брандмауэр Защитника Windows.
- Нажмите «Дополнительные параметры».
В большинстве случаев требуется создать 2 правила – одно для входящих и второе для исходящих соединений.
- Выберите ссылку «Правила для входящих подключений» и кликните «Создать правило».
- В следующем окне выберите вариант «Для порта».
- Нажмите «Далее».
- Выберите протокол, через который будет работать приложение, для которого вы открываете порт.
- Отметьте вариант «Определенные локальные порты».
- Впишите номер порта.
- Кликните по кнопке «Далее».
- Выберите профили, к которым будет применяться созданное правило.
- Нажмите «Далее».
- Дайте правилу имя и впишите его описание.
- Кликните «Готово».
Те же самые действия нужно проделать с другим протоколом, если приложение для которого вы открываете порт, использует несколько типов соединения.
- Далее возвращаемся на главную страницу и выбираем вариант «Правила для исходящего подключения» и опять нажимаем «Создать правило». Создаем его таким же образом, как было описано ранее, для входящих подключений.
Настройки маршрутизатора
Открыв доступ в фаерволе, потребуется также изменить настройки маршрутизатора. Для этого нужно осуществить следующие действия:
- Открыть обозреватель и ввести IP адрес вашего роутера.
Обычно это 192.168.1.1 или 192.168.0.1 (точный адрес маршрутизатора можно найти не его панели или в инструкции).
- Введите ваш логин и пароль для доступа. (по умолчанию: Имя-admin; пароль-admin)
- В открывшемся меню отыщите пункт Forwarding и зайдите в раздел PortTriggering.
- В графы TriggerPortи Incoming Portsведите номер порта.
- Кликните Save.
По окончании настройки роутер нужно перезагрузить, после чего порты станут доступны.
Открытие порта в антивирусе
Предоставление доступа в настройках фаервола и маршрутизатора может оказаться недостаточным, так как соединение может блокироваться антивирусным программным обеспечением. Рассмотрим, как можно открыть порт на примере антивируса Касперского. Для этого потребуется проделать следующие действия:
- Зайдите в настройки приложения, нажав на кнопку с изображением шестеренки.
- Выберите раздел «Дополнительно» и перейдите на вкладку «Сеть».
- Далее кликните «Выбрать».
- В появившемся списке выберите «Добавить».
- Впишите описание правила и укажите номер порта.
- Кликните «Добавить».
После этого желательно перезагрузить систему. Дополнительно можно добавить приложение, для которого вы настраиваете порт, в исключения, чтобы антивирус его не блокировал. Процедура доступа к определенному порту не является особо сложной операцией. Действуя в соответствии с данной инструкцией, вы сможете осуществить задуманное без особых проблем.
Как открыть порт в Windows 7 и Windows 8
О том, как открыть порт на роутерах различных моделей я написал уже немало статей. Но в х почти к каждой из таких инструкций я сталкиваюсь с такой ситуацией, что пользователь открывает порт на роутере, но при проверке его из-вне — оказывается что он закрыт.
В это многие упираются и не знают что делать дальше. Одной из частых причин является система безопасности компьютера. Дело тут в том, что открыть порт на роутере часто оказывается половиной дела — нужно ещё открыть его и в правилах брандмауэра (фаервола) на компьютере.
1 практически идентична, соответственно как и процедура создания правил проброса портов.
Как попасть в настройки брандмауэра Windows
Настройка встроенного брандмауэра находится в «Панели управления», раздел «Система и безопасность».
В Windows 8 и 8.1 можно воспользоваться элементом рабочего стола — Поиск. Нужно начать вводить слово «Брандмауэр» и система выдаст ссылку в результатах.
Ещё один быстрый и удобный способ быстро попасть в настройки Брандмауэра — нажать комбинацию клавиш Win+R:
В строке открыть пишем firewall.cpl, нажимаем кнопку ОК.
Как открыть порт в брандмауэре Windows
Вам откроется раздел настройки Брандмауэра в режиме повышенной безопасности. В поле слева кликаем на раздел «Правила для входящих соединений»:
Откроется список всех правил для входящих соединений. Теперь надо создать правило. Для этого справа, в окне «Действия», кликаем на ссылку «Создать правило».
Откроется Мастер создания правила для нового входящего подключения:
Выбираем тип правила — «Для порта». Нажимаем кнопку Далее.
Теперь нужно выбрать тип протокола и указать порт. «Тип протокола» для игр, как правило, «Протокол TCP». В некоторых случаях, например для файлообменных программ или игр, нужно ещё открыть и порт UDP.
Поэтому, если нужно открыть и TCP-порт и UDP-порт в Windows — Вам придется создавать два правила. В поле Определенные порты нужно указать номер нужного порта. Например, для Minecraft нужно открывать порт 25565 и TCP и UDP.
Нажимаем кнопку Далее.
Ставим галку «Разрешить подключение». Нажимаем кнопку Далее.
Здесь ничего не меняем. Нажимаем кнопку Далее.
В поле Имя прописываем название для создаваемого правила — например DC++ или Minecraft. Нажимаем кнопку Готово.
Правило создано и порт в брандмауэре Windows 7 и Windows 8 открыт. Проверить доступность порта из-вне можно с помощью программы PFPortChecker.
Только теперь не для порта — а «Для программы». Нажимаем кнопку Далее.
Выбираем пункт «Путь программы» и нажимаем кнопку Обзор. В открывшемся окне нужно выбрать программы, к которой нужен доступ из внешней сети — например, UTorrent, DC++ или Minecraft. Нажимаем кнопку Далее.
Ставим галочку «Разрешить подключение». Нажимаем кнопку Далее.
В этом окне ничего не меняя, нажимаем кнопку Далее.
В поле имя вводим название правила — например, dc++, utorrnet или minecraft и нажимаем кнопку Готово.
Правило для программы создано.
Если и это не помогло — можно попробовать для чистоты эксперимента вообще отключить встроенных в систему фаервол.
Как отключить Брандмауэр Windows 7, Windows 8 и Windows 8.1
Для того, чтобы отключить встроенный в систему фаервол нужно в настройках Брандмауэра выбрать пункт «Включение и отключение брандмауэра Windows»:
Вам откроется вот такое окно «Настройки параметров для каждого типа сети»:
Для всех типов сетей ставим галку «Отключить брандмауэр Windows». Нажимаем кнопку ОК. После этого брандмауэр станет неактивен и Ваша операционная система будет полностью открыта угрозам из внешней сети.
Поэтому я рекомендую отключать брандмауэр либо только кратковременно, для диагностики проблем с доступностью порта из-вне, либо если Вы переходите на другой, сторонний пакетный фильтр (фаервол).
Постоянная работа в сети Интернет с отключенным брандмауэром (фаерволом) крайне нежелательна.
Где может пригодиться?
Узнать свой порт может каждый, но не каждый пользователь способен понять истинное его назначение и применение. К примеру, решили вы поиграть в игру по сети с другом, но не получается никак присоединиться к ней. Единственной причиной такого провала служит закрытый порт. Или не проходит регистрация на сервере с автономной передачей данных, здесь причина тоже заключается в недоступности порта третьим лицам. Открывать IP стоит обязательно, так как это избавит вас от проблем. Есть ли проблемы и опасности в таком случае? Их не будет, если у вас установлен современный антивирусник. А чтобы иметь возможность совершить это действие, необходимо знать свой первоначальный IP.
Ошибка конфигурации
Наиболее типичная и опасная ситуация. Как это бывает. Разработчику надо быстро проверить гипотезу, он поднимает временный сервер с mysql/redis/mongodb/elastic. Пароль, конечно, сложный, он везде его использует. Открывает сервис в мир — ему удобно со своего ПК гуём коннектиться без этих ваших VPN. А синтаксис iptables вспоминать лень, все равно сервер временный. Еще пару дней разработки — получилось отлично, можно показывать заказчику. Заказчику нравится, переделывать некогда, запускаем в ПРОД!
Пример намеренно утрированный с целью пройтись по всем граблям:
- Ничего нет более постоянного, чем временное — не люблю эту фразу, но по субъективным ощущениям, 20-40% таких временных серверов остаются надолго.
- Сложный универсальный пароль, который используется во многих сервисах — зло. Потому что, один из сервисов, где использовался этот пароль, мог быть взломан. Так или иначе базы взломанных сервисов стекаются в одну, которая используется для *.
Стоит добавить, что redis, mongodb и elastic после установки вообще доступны без аутентификации, и часто пополняют коллекцию открытых баз. - Может показаться, что за пару дней никто не насканит ваш 3306 порт. Это заблуждение! Masscan — отличный сканер, и может сканировать со скоростью 10М портов в секунду. А в интернете всего 4 миллиарда IPv4. Соответственно, все 3306-ые порты в интернете находятся за 7 минут. Карл!!! Семь минут!
«Да кому это надо?» — возразите вы. Вот и я удивляюсь, глядя в статистику дропнутых пакетов. Откуда за сутки 40 тысяч попыток скана с 3-х тысяч уникальных IP? Сейчас сканят все кому не лень, от мамкиных хакеров до правительств. Проверить очень просто — возьмите любую VPS’ку за $3-5 у любого** лоукостера, включите логирование дропнутых пакетов и загляните в лог через сутки.
Открытые порты Ubuntu
Существуют не только порты, к которым программы подключаются удалённо, но и локальные порты, используемые программами для общения между собой. В качестве локальных также могут использоваться удалённые.
В Linux существует несколько утилит, которые можно использовать, чтобы посмотреть открытые порты. Одни из них полноценные сетевые сканеры, другие — локальные утилиты, отображающие всю доступную информацию. Рассмотрим основные из них.
netstat
Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:
Опция -l сообщает, что нужно посмотреть прослушиваемые порты, -p показывает имя программы, -t и -u — отображают TCP и UDP порты, а -n показывает ip адреса в числовом виде. Дальше нужно выбрать только те строки, где встречается слово LISTEN, чтобы найти только прослушиваемые порты.
Здесь в первом столбце отображается протокол, затем два столбца — это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес — 127.0.0.1, то это значит, что сервис доступен только на этом компьютере, а значение 0.0.0.0 или :: означает любой адрес, к таким сервисам могут подключаться из сети. В нашем примере это Apache и systemd-resolvd.
lsof
Утилита lsof тоже предназначена для просмотра открытых соединений. Основная ее функция — просмотр открытых файлов, но с её помощью можно посмотреть открытые порты Ubuntu. Используйте такие параметры:
Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.
Представление информации немного отличается, но в общем и целом мы видим всё ту же информацию. Кроме неё, здесь ещё отображается имя пользователя, от которого запущен процесс. Вы можете не ограничиваться фильтрами и посмотреть все доступные соединения:
ss
Команда ss — это улучшенная версия netstat. Точно так, как для замены ifconfig была придумана утилита ip, ss разработали для замены netstat. Команда будет выглядеть следующим образом:
Все данные здесь выводятся почти так же, как и в netstat, поэтому вы легко во всём разберётесь. В дополнение к выше перечисленным командам: возможно, вам нужно будет посмотреть на правила брандмауэра iptables, чтобы понять, какие порты закрыты с его помощью:
В нашем примере нет никаких ограничений. Политика по умолчанию — ACCEPT. На промышленных серверах может применяться политика DENY, а нужные порты будут разрешены с помощью правил.
nmap
Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:
Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:
Также можно выполнить комплексное сканирование всех уязвимостей
Важно отметить, что команда не находит все уязвимости, а проверяет только самые простые. Для активации этого режима используется опция -A:
Как пользоваться nmap, читайте в отдельной статье.
Что означает 0.0.0.0 в netstat. различные виды нотаций в netstat и ss
0.0.0.0 — это самый первый IP адрес. Но он относится к IP специального назначения (как например 127.0.0.1) и выполняет разные функции.
Обозначение 0.0.0.0 может иметь разное значение в зависимости от того, где используется. Когда говорят о прослушиваемых портах, это обозначение в Linux символизирует заполнитель, то есть означает «любой IP адрес».
Чем это отличается от * (звёздочки) или от записи :::, которые также встречаются в выводе рассматриваемых программ? В программе ss IPv6 адрес 0:0:0:0:0:0:0:0 (который является аналогом IPv4 адреса 0.0.0.0) обозначается звёздочкой (*).
В программе netstat также используется запись 0.0.0.0:* которая также обозначает «любой IPv4 адрес с любого порта».
Но в netstat для обозначения «любой IPv6 адрес с любого порта» используется :::*.
Помните об этих различиях, чтобы не запутаться. А также помните о том, что если показано, что прослушивается протокол tcp6 (IPv6), то одновременно может прослушиваться порт и на tcp (IPv4) — при этом данные в выводимой информации отсутствуют!
В Windows в качестве Локального адреса, когда прослушивается любой IP адрес на определённом порту, используется запись вида 0.0.0.0:80 (в этом примере прослушивается любой IP адрес, доступный в системе, на 80 порту). Для IPv6 адресов в этом случае используется запись вида :80.
В качестве внешнего адреса, когда доступно подключения с любого IP и с любого порта, для TCP протокола пишется 0.0.0.0:0, а для UDP протокола в этих же условиях пишется *:*. Что тоже не особо логично и сбивает с толку. Точнее говоря, объяснение есть и оно вытекает из разницы протоколов TCP и UDP. Но это объяснение скорее философское и в практическом плане ничего не даёт.
Если информация относится к IPv6, то для TCP когда имеется ввиду любой адрес на любом порту, используется запись вида :0. А для UDP используются одинаковые нотации как для IP, так и для IPv6, то есть *:*
Нужно помнить, что некоторые из этих обозначений пересекаются с нотациями из Linux, где они имеют своё собственное значение.
Чтобы чуть облегчить жизнь, я составил такую табличку, которую можно использовать в качестве шпаргалки:
Определённый локальный IPv4 адрес на определённом порту |
Любой локальный IPv4 адрес на определённом порту |
Определённый локальный IPv6 адрес на определённом порту |
Любой локальный IPv6 адрес на определённом порту |
Любой внешний IPv4 адрес на любом порту |
Любой внешний IPv6 адрес на любом порту |
|
---|---|---|---|---|---|---|
Netstat (Windows) |
127.0.0.1:9050 |
0.0.0.0:80 |
:80 |
:443 |
Для TCP: 0.0.0.0:0 Для UDP: *:* |
Для TCP: :0 Для UDP: *:* |
Netstat (Linux) |
2a02:f680:1:1100::3d:80 |
:::443 |
0.0.0.0:* |
:::* |
||
ss (Linux) |
:80 |
*:443 |
0.0.0.0:* |
*:* ИЛИ :* |
IP and Port Scanner FAQs
What are the 3 types of network scanning?
There are three types of network scanning:
- IP scanning looks for all IP addresses that are currently in use.
- Port scanning tests each port on each device to see whether it has an active daemon looking for communications with that port number on it – this is called an open port.
- Vulnerability scanning performs a series of break-in attempts using known hacker strategies to discover whether there are weaknesses in the network’s settings.
Is IP scanning illegal?
IP scanning is not illegal. In fact, it is a necessary function of any communication system. Public and private IP addresses have different scopes and so slightly different uses for IP scanning. On a private network, IP scanning is an important part of the work performed by IP address management software and enables systems to reclaim abandoned IP addresses. On the internet, IP scanning is relatively meaningless; probing the availability of a device with a specific IP address or checking the route to an individual IP address is more common.
How do I scan for open ports?
You can use the command line utility netstat to scan your own computer for open ports. Run netstat -ano. In the output of this command, open ports are marked as “Listening.” In order to check for open ports on all of the other computers on your network, you will need to use a recursive script that combines a search for all active IP addresses with a test on each possible port number. This can be a time-consuming process. It is better to use a pre-written facility for port scanning for an entire network. There are two perspectives that you can use. One is to test the ports from an external location — there are a number of free online services that will do this. The second perspective is to reach out to other computers from within your network. That can be performed by a number of available network testing tools.
Related Post: Best Network Traffic Generators for WAN and LAN Stress Testing
Как открыть порты на Windows 7, 10
Для разрешения передачи данных по Сети требуется открытый канал. Его можно открыть в брандмауэре конкретного ПК. Когда доступ к Сети идет через роутер, то придется открыть возможность передачи, выставив желаемую переадресацию.
Операционная система всех версий Виндовс выпускается с предустановленной программой защиты. Открыть раздел приложения, который нужен, можно несколькими способами. Наиболее востребованы две версии.
Открытие портов на Windows
Первый способ:
- Открыть «Панель задач».
- Нажать на «Пуск».
- Открыть основное меню Виндовс.
- Найти и активировать вкладку «Служебные».
- Выбрать пункт «Панель управления».
- Войти во вкладку «Брандмауэр защитника Windows».
К сведению! Можно ввести «брандмауэр защитника Windows» в поисковик. Искомый инструмент будет показан в пункте «Лучшее соответствие». Остается только его активировать, нажав на «Открыть».
Как открыть порты в брандмауэре Windows 7, 8, 10 вторым способом:
- Выбрать раздел «Панель задач».
- Выбрать вкладку «Отображать скрытые значки».
- Активировать вкладку «Безопасность Windows».
- Из открывшегося окошка выбрать вкладку «Брандмауэр и безопасность сети».
- Из следующего окна выбрать пункт «Дополнительные параметры».
- Войти в раздел «Правила для входящих подключений».
- Активировать пункт «Создать правило».
- Выбрать раздел «Для порта», если канал определен.
- Выбрать вкладку «Разрешить подключение».
- Подтвердить команду нажатием на «Далее».
- Проставить отметки напротив желаемых каналов.
- Прописать имя программы (например, «CS 1.6»).
- Тапнуть на «Готово».
Таким образом будет создано стандартное правило, и оно высветится в списке других. Методика актуальна для версий Виндовс, начиная с 7.
Обратите внимание! Любой из этих способов позволит открыть раздел «Монитор брандмауэра защитника Windows в режиме повышенной безопасности». Именно он регулирует защитные возможности компьютерной техники
Какая польза от открытия портов роутера?
Если вы собираетесь настроить сервер для чего-то в своей локальной сети, где им необходимо получить к нему доступ из Интернета, вам необходимо открыть порты. Например, для следующих целей необходимо открыть порты:
- Настройте FTP-сервер для удаленного доступа к вашим файлам.
- Настройте VPN-сервер для безопасного доступа к локальной сети.
- Настройте SSH-сервер на своем компьютере, чтобы управлять им удаленно.
- Настройте почтовый сервер или веб-сервер.
- Если вы собираетесь использовать частное облако Nextcloud для синхронизации файлов или папок.
- Если вы собираетесь играть онлайн, в играх необходимо сделать переадресацию портов, потому что мы сами выступаем в роли сервера.
- Если вы собираетесь загружать через eMule, необходимо открыть порты, чтобы другие узлы могли подключиться к вам.
- Если вы собираетесь загружать через BitTorrent, необходимо открыть один или несколько портов, чтобы другие узлы могли соединиться с вами, чтобы вы могли быстрее загружать и выгружать.
- Любое другое использование, которое требует подключения из Интернета к вашей внутренней локальной сети (ПК, сервер, консоль и т. Д.).
Наконец, если вы собираетесь использовать игры на своей консоли, рекомендуется открыть DMZ для консолей, потому что они обычно используют много разных портов для каждой игры, которую мы используем.
Все домашние маршрутизаторы используют NAT для одновременного выхода в Интернет с несколькими устройствами, используя один и тот же общедоступный IP-адрес. Когда компьютер в локальной сети (внутренней сети) пытается получить доступ к Интернету, NAT отвечает за перевод адресов и использование портов TCP / UDP без каких-либо действий, это полностью автоматически и прозрачно для пользователя.
Однако, если связь начинается через Интернет (WAN, внешняя сеть) с локальной сетью, необходимо открыть порт, чтобы правильно перенаправить пакеты к месту назначения. Как вы могли заметить, компьютеры локальной сети используют частную адресацию, которая не маршрутизируется через Интернет. Чтобы сделать их доступными извне, нам нужно будет «открыть порт» в NAT, чтобы все пакеты, которые достигают общедоступного IP-адреса и определенного порта, были правильно перенаправлены их получателю.
Прежде чем мы начнем объяснять, как проверять открытые порты на вашем маршрутизаторе, давайте начнем с объяснения классов IP, которые мы имеем в домашней сети. Чтобы выполнить сканирование портов, чтобы проверить открытые порты на вашем маршрутизаторе, вы должны сделать это в отношении определенного типа IP, в частности публичного IP, который предоставляет нам наш оператор.