Диагностика и логи

Оглавление

Как открыть порт на компьютере

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

Проброс портов в Windows

В операционных системах семейства Windows 10 по умолчанию включен брандмауэр, который блокирует все посторонние подключения к компьютеру. Поэтому, чтобы клиенты из Интернета могли подключиться к Вашему серверу, надо прописать правила для его порта в настройках фаервола. Чтобы это сделать, нажмите комбинацию клавиш Win+R и введите в строчку открыть команду firewall.cpl.

Нажмите кнопку ОК. После этого откроется окно «Брандмауэр Защитника Windows».

В этом окне справа меню, в котором надо найти и кликнуть ссылку «Дополнительные параметры». Появится ещё одно окно:

Создаём правило, выбрав вариант Для порта. Переходим «Далее».

Теперь выбираем протокол — TCP или UDP, а так же порт, открыть который необходимо. Кликаем на «Далее».

Теперь надо поставить галочку «Разрешить подключение». Нажимаем на «Далее».

На этом этапе оставляем галочки на всех профилях. Кликаем на «Далее».

Последний шаг — это дать название правилу и нажать на кнопку «Готово». Ну вот и всё, правило создано и будет в общем списке правил.

Как открыть порт в Linux

Ещё одно популярное сегодня семейство операционных систем — это Linux. Среди них такие популярные ОС, как Ubuntu, Gentoo, Fedora, Debian. Обычно пакетный фильтр или брандмауэр уже включен по умолчанию и как правило это iptables. Пользоваться им достаточно просто. Сначала смотрим список имеющихся правил командой:

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

Например, чтобы открыть TCP порт 3128 для прокси правило будет выглядеть так:

После того, как Вы нажмёте клавишу «Enter», правило будет добавлено в список и применено. Отредактировать список правил обычно можно в файле /etc/iptables.

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

Определения порта программы стандартными средствами Windows

Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки — tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса — PID, затем в netstat находим номер порта этого процесса.

Поиск идентификатора процесса PID

1. Открываем командную строку: сочетание клавиш <Win +R> и вводим команду CMD.

2. Запускаем tasklist и находим PID процесса.

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

Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.

Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.

Поиск порта процесса

Для получения списка используемых портов воспользуемся утилитой командной строки netstat.

B netstat были использованы слtдующие аргументы:

-a — показывает все сокеты, используемые процессами-o — показывает PID процесса-n — показывает адреса в числовом формате

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

Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr «PID_number», где PID_number — идентификатор искомого процесса.

В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.

Как открыть порт в windows 7 и windows 8

Как попасть в настройки брандмауэра 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». Нажимаем кнопку ОК. После этого брандмауэр станет неактивен и Ваша операционная система будет полностью открыта угрозам из внешней сети. Поэтому я рекомендую отключать брандмауэр либо только кратковременно, для диагностики проблем с доступностью порта из-вне, либо если Вы переходите на другой, сторонний пакетный фильтр (фаервол). Постоянная работа в сети Интернет с отключенным брандмауэром (фаерволом) крайне нежелательна.

Комментарии (9)

Добрый день. Сделал все по инструкции. Создал правила, а порт 443 так и не работает. Пробую сделать соединение на telnet lkipgost.nalog.ru 443 и не проходит ни чего. Гдже может быть проблема? Windows 10

Доброго времени суток! Прошу помощи. В программе uTorrent постоянно висит на загрузках «Подключение к пирам 0.0%». Значок состояния красный, пишет «Невозможно соединиться. Сетевой трафик ограничивается бранмауэром/маршрутизатором. Чтобы разрешить соединение, нужно открыть порт». По инструкции сделал правило для брандмауэра, открыл порт 33033, в программе торрента указал именно этот порт. Ничего не изменилось, торренты так и висят в подключении к пирам. При проверке на 2ip.ru/check-port/ порт 33033 определяется как закрытый

Добрый день. Сделал все по инструкции. Создал правила, а порт 443 так и не работает. Пробую сделать соединение на telnet lkipgost.nalog.ru 443 и не проходит ни чего. Гдже может быть проблема? Windows 10

Перешел админом на новую работу и сразу же столкнулся с тем, что не открываются порты на windows 10, почему это происходит? Не работает отправка сообщений через SMTP службу, Outlook не могу настроить, работа стоит. Проблема может быть в службах виндовс?

Службы винды тут не особо-то и причем, проблема в том, что у вас 25 порт в windows скорее всего закрыт, как его открыть сейчас подскажу, хотя могут быть и подводные камни. Попробуйте зайти в настройки почтовика и установите для отправки port 587/TCP,UDP — SUBMISSION (Message Submission for Mail)— используется (SMTP). И параллельно уточните у своего провайдера – предоставляют ли они доступ к серверу SMTP.

Здравствуйте!Как мне открыть порт 27015?(для своего сервера в кс 1.6)

Добрый день! Подскажите, у меня возникла потребность в 80-ом – использую вебсервер, после перехода на десятку, нет возможности работать, во время запуска не смог сработать Apche, ссылаясь на занятось 80. При попытке освободить – происходит сбой сброса порта, как быть? Как определить, чем занят, чтобы можно было удалить, это могут быть вирусы или они не влияют на работу?

Здравствуйте. Вы знаете, это довольно распространенная проблема, но у всех она разная. Давайте начнем с простого. Дело в том, что в виндовс 10 предустановлены программные продукты, которые в своей работе используют именно 80-й port, вот перечень, Вам необходимо, зайти их все отключить, а после попробовать запустить web-сервер, итак:

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

Кроме того, бывали случаи, когда «http.sys» — использует IPv4, это драйвер ОС, прекрасно себя чувствует и на IPv6, переведите его и проблема может исчезнуть.

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

Как правильно назначать правила

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

Назначение правил требует прав администратора

Для создания правила под определенный туннель нужно:

  1. Войти в брандмауэр защитника Виндовс.
  2. Открыть раздел «Дополнительные системы безопасности».
  3. Активировать пункт «Управление групповыми политиками».
  4. Войти во вкладку «Правила для входящих подключений».
  5. Тапнуть на «Действия».
  6. Выбрать вариант «Создать правило».
  7. Выбрать раздел «Настраиваемая» и нажать на «Далее».
  8. Затем следует отметить все нужные программы в пункте «Программы».

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

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

Далее для раздела «Мастер создания правила для нового входящего подключения» требуется задать конкретизирующие детали, то есть следует:

  1. Войти во вкладку «Тип правила».
  2. Выбрать пункт «Для порта» и выставить индикатор выбора в желаемой ячейке.
  3. Подтвердить команду нажатием на «Далее».
  4. В новом окне выбрать тип протокола (управление передачей «TCP» или пользовательские датаграммы «UDP»).

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

Обратите внимание! В Сети можно найти неофициальный список всех портов с протоколами TCP и UDP и информацией о зарезервированном приложении. При невозможности определения требуемого протокола есть возможность самостоятельно создать новые правила для входящей информации

Одно из них будет для протокола TCP, другое для UDP

При невозможности определения требуемого протокола есть возможность самостоятельно создать новые правила для входящей информации. Одно из них будет для протокола TCP, другое для UDP.

Для самостоятельного создания правила нужно:

  1. Выбрать вкладку «Определенные локальные порты».
  2. Выставить индикатор выбора в нужной ячейке.
  3. Ввести номер тоннеля (если нужно открыть несколько каналов, номера пишут через запятую).
  4. Нажать на «Далее».
  5. Войти в пункт «Разрешить подключение» и настроить индикатор выбора.
  6. Активировать команду нажатием на «Далее».

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

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

  • доменный. ПК подключен к домену. В этом случае ОС Виндовс может проверять и распознавать все возможные риски;
  • частный. ПК работает через частную сеть. Доверие к такой сети зависит от самого пользователя;
  • публичный. Компьютер подключен по вай-фай в местах общего пользования, к примеру, в ресторане, на вокзалах и т. д. Здесь все неоднозначно.

В последнем окошке следует присвоить правилу имя и предоставить более развернутое описание. Далее нажать на «Готово».

Как пользоваться ping и traceroute

Ping — это утилита, с помощью которой можно проверить доступность сервера с компьютера. Опрашиваемому узлу отправляются эхо-запросы (ICMP-пакеты Echo Request). Если до узла дошёл запрос, в ответ он должен отправить ICMP-пакет с принятыми данными и эхо-ответ (Echo Reply). Подробнее в статье Команда Ping.

Traceroute — это утилита, с помощью которой можно отследить путь запроса к серверу, а также проблемы, связанные с доступностью удалённого сервера. Утилита отправляет запрос узлу и последовательно опрашивает все маршрутизаторы на пути. Подробнее о работе утилиты и её установке читайте в статье Утилиты Traceroute и Tracert.

Если у вас кириллический домен

Кириллические домены необходимо вводить в формате Punycode. Для перевода домена в Punycode воспользуйтесь сервисом Whois. Введите имя вашего домена и нажмите Punycode-конвертация.

Готово, мы рассмотрели, как пользоваться командой ping и как запустить tracert.

Результатом работы каждой из этих команд будет несколько строк в окне терминала. Результат команды ping покажет количество переданных и потерянных пакетов при обмене с узлом, а также время приёма и передачи. Результатом traceroute будет трассировка маршрута к узлу.

Вы можете скопировать полученный результат или прислать скриншот с результатом исполнения .

Как в Windows узнать, какая программа прослушивает порт

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

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

Для поиска службы, можно добавить к приведённой команде опцию -b, которая означает показать исполнимый файл, прослушивающий порт:

netstat -anb

Также имеется альтернативный способ определения исполнимого файла, привязанного к порту. Для него откройте Командную строку Windows. Для этого нажмите сочетание клавиш Win+x, там выберите Windows PowerShell (Администратор). В открывшемся окне введите:

cmd

чтобы перейти в обычную командную строку.

Там запустите команду вида:

for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m

Эта команда найдёт службы, которые прослушивают 80 порт. Чтобы найти информацию о другом порте, замените в команде цифру 80 на интересующий вас порт.

Пример вывода в моём случае:

C:\Windows\system32>echo 0.0.0.0:80 LISTENING   &
0.0.0.0:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

C:\Windows\system32>echo :80 LISTENING   &
:80 LISTENING
httpd.exe                     3576 Services                   0    16 764 КБ

Запись 0.0.0.0:80 означает, порт 80 для любых IPv4 адресов прослушивает служба httpd.exe (веб-сервер Apache). А запись :80 — означает, что порт 80 для любых IPv6 адресов прослушивает та же самая служба httpd.exe (веб-сервер Apache). Мы ещё вернёмся к более подробному анализу данных далее в этой статье.

Менять порт в длинной команде не всегда удобно, поэтому рекомендую создать текстовый файл с именем port.bat, в этот файл скопируйте:

@ECHO OFF
for /f "tokens=1,2,3,4,5*" %%i in ('netstat -aon ^| findstr ":%1" ^| findstr /i listening') do echo %%j %%l & @tasklist | findstr %%m

Сохраните и закройте этот файл.

Теперь в Windows PowerShell или в командной строке Windows с помощью команды cd перейдите в папку, куда вы сохранили файл. Например, я его сохранил в папку C:\Users\Alex\Documents\, тогда для перехода туда я выполняю:

cd C:\Users\Alex\Documents\

Теперь запустите файл командой вида:

.\port.bat 

Где замените на интересующий вас порт, например, меня интересует порт 80, тогда:

.\port.bat 80

Вновь получаю аналогичный результат.

Если у вас множество портов прослушивает процесс svchost.exe, то чтобы разобраться, какие именно это службы, смотрите статью «Почему svchost.exe прослушивает много портов? Как узнать, какие именно программы открыли порты».

Как открыть порт в 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». Нажимаем кнопку ОК. После этого брандмауэр станет неактивен и Ваша операционная система будет полностью открыта угрозам из внешней сети.

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

Постоянная работа в сети Интернет с отключенным брандмауэром (фаерволом) крайне нежелательна.

Как открыть порты на windows 7

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

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

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

  1. Заходим в меню «Пуск», переходим в «Панель управления».
  2. Переходим в меню «Брандмауэр Windows», в панели этой папки – «Дополнительные параметры».
  3. После этих действий, Брандмауэр открывается в специальном режиме, под названием «повышенная безопасность». Далее выбираем «Правила для входящих…».
  4. Создаем правило. Для этого кликаем по соответствующей ссылке.
  5. Чтобы правило смогло «открыть порт», выбираем правило типа «Для порта», которое сможет управлять портами TCP|UDP.
  6. Потом выбираем протокол, диапазон портов: все или определённые.
  7. Нужно открыть порт – выбираем пункт «Разрешить подключение», нажимаем далее и выбираем профиль, для которого будет открыт порт и, соответственно, работать правило.

  8. Придумываем имя для нашего правила и кликаем «Готово».

Алгоритм, который отвечает на вопрос – как открыть порты на Windows 7, как видите, не очень сложный. Главное, проверять тщательно введенные данные.

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

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

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

Источник

Пример анализа открытых портов

Я начну с анализа открытых портов на Linux. Просто потому, что мне так проще, а затем мы постепенно перейдём изучить открытые порты на Windows.

Пример информации об открытых портах, полученных командой:

sudo ss -lntup

Пример прослушиваемых портов на Linux:

Netid State   Recv-Q   Send-Q         Local Address:Port     Peer Address:Port                                                                                  
udp   UNCONN  0        0           10.0.2.15%enp0s3:68            0.0.0.0:*      users:(("NetworkManager",pid=318,fd=17))                                       
udp   UNCONN  0        0                  127.0.0.1:5300          0.0.0.0:*      users:(("tor",pid=359,fd=7))                                                   
tcp   LISTEN  0        128                127.0.0.1:9040          0.0.0.0:*      users:(("tor",pid=359,fd=8))                                                   
tcp   LISTEN  0        128                127.0.0.1:8118          0.0.0.0:*      users:(("privoxy",pid=362,fd=3))                                               
tcp   LISTEN  0        128                127.0.0.1:9050          0.0.0.0:*      users:(("tor",pid=359,fd=6))                                                   
tcp   LISTEN  0        128                127.0.0.1:9475          0.0.0.0:*      users:(("httpd",pid=553,fd=5),("httpd",pid=552,fd=5),("httpd",pid=551,fd=5),("httpd",pid=550,fd=5),("httpd",pid=549,fd=5),("httpd",pid=360,fd=5))
tcp   LISTEN  0        128                        *:80                  *:*      users:(("httpd",pid=553,fd=4),("httpd",pid=552,fd=4),("httpd",pid=551,fd=4),("httpd",pid=550,fd=4),("httpd",pid=549,fd=4),("httpd",pid=360,fd=4))
tcp   LISTEN  0        128                        *:22                  *:*      users:(("systemd",pid=1,fd=55))                                                
tcp   LISTEN  0        128                        *:443                 *:*      users:(("httpd",pid=553,fd=7),("httpd",pid=552,fd=7),("httpd",pid=551,fd=7),("httpd",pid=550,fd=7),("httpd",pid=549,fd=7),("httpd",pid=360,fd=7))
tcp   LISTEN  0        80                         *:3306                *:*      users:(("mysqld",pid=427,fd=21))            

В выводимых данных имеются следующие поля:

  • Netid — протокол udp или tcp
  • State — состояние, для протоколов TCP здесь будет LISTEN (поскольку мы явно указали в опциях показать только прослушиваемые порты), а для протоколов UDP здесь будет UNCONN, то есть состояние неизвестно, но, на самом деле, это тоже прослушиваемые порты, которые позволяют подключаться из вне
  • Recv-Q — получено
  • Send-Q — отправлено
  • Local Address:Port — локальный адрес и порт, к которому привязана служба, то есть IP адрес и порт, которые прослушиваются
  • Peer Address:Port — удалённый адрес и порт, к которым выполнено соединение.

Допустим запись 127.0.0.1:9050 для локального адреса и порта означает, что прослушивается порт 9050. Причём он прослушивается только для IP адреса 127.0.0.1. Адрес 127.0.0.1 относится к так называемым Loopback, то есть это замыкающийся на себя, закольцованный адрес. Сетевой интерфейс с этим адресом называется петлевым. Пакеты, которые отправляются с компьютера на этот адрес, приходят на этот же самый компьютер (точнее говоря, они никуда даже не уходят). Доступ к этому адресу может иметь только служба, работающая на этом же самом компьютере

Отсюда важное следствие: хотя порт 9050 прослушивается, никто другой не может к нему подключиться из любой сети. Это же относится и к адресам из диапазона ::1/128 — это такие же адреса, но уже для IPv6, тамошний аналог 127.0.0.1 это ::1 (тоже часто можно видеть в выводимой информации).

Если прослушиваются какие-либо адреса из локальных

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 127.0.0.0/8

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