Как посмотреть открытые порты в windows 7
Перейти к содержимому

Как посмотреть открытые порты в windows 7

  • автор:

Как проверить, открыт ли порт, командой telnet

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

Способы проверки доступности порта

Выделяют следующие способы, по которым можно понять, что порт открыт:

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

В зависимости от того, какая стоит задача, выбирается и способ проверки. Например, необходимо обеспечить внешнюю доступность до личного устройства, в таком случае подойдет проверка через сервисы 2ip.ru или portscan.ru. Если проводятся локальные работы, можно проверить утилитой Telnet через терминал/консоль/командную строку ПК или приложением Portforward Network.

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

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

Как проверить, что порт закрыт? Это достаточно просто. Зажимается сочетание клавиш Win + R, далее вводится команда CMD, нажимается Enter и затем вводится команда netstat -a. Повторно нажимается Enter. В командной строке будет предоставлен список занятых портов и служб, которые ими управляют. Этот способ предоставляет более объективные данные, в отличие от онлайн-сервисов, по которым открытые порты практически не обнаруживаются. Такую иллюзию создает брандмауэр, который блокирует внешние запросы ПО.

При необходимости выгрузки сторонних программ, сделать это можно с помощью команды netstat -a >name.txt (где name.txt — это название выгружаемого файла). Там где запускалась данная утилита и сохраняется файл со списком.

Как посмотреть открытые порты на удаленном ПК

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

Вводится специальная команда под правами админа:

dism /online /Enable-Feature /FeatureName:TelnetClient

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

Команду Telnet используют с разными опциями, которые можно найти при вводе telnet —help или man telnet с подробной расшифровкой для чего каждая предназначена. Самый простой способ — ввести команду telnet и далее хост. В качестве хоста выступает доменное имя или IP-адрес.

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

Таким образом мы рассмотрели все варианты проверки статуса портов. Можете выбрать любой подходящий для вас и успешно продолжать работу

Как проверить, открыт ли порт, командой telnet

Как проверить, открыт ли порт, командой telnet

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

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

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

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

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

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

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

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

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

Открыт ли порт

Существует три основных способа проверки открытых портов:

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

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

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

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

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

Проверить занятые порты легко:

  1. Нужно нажать комбинацию клавиш .
  2. Ввести команду CMD и нажать кнопку Enter.
  3. Ввести команду netstat –a и повторно нажать Enter.

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

Порт телнет

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

VDS Timeweb арендовать

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

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

Запуск утилиты telnet

Активация заключается во вводе специальной команды:

dism /online /Enable-Feature /FeatureName:TelnetClient

Она сработает только при запуске консоли с правами администратора. Схема открытия приложения несколько иная:

  1. Нажать комбинацию клавиш .
  2. Выбрать пункт «Командная строка (администратор)».
  3. В открывшемся окне ввести команду активации telnet.

Команда telnet

Если пользователь предпочитает управлять компьютером через графический интерфейс, нужно запустить панель управления, а в ней утилиту «Удаление программы». В открывшемся окне нужно перейти в раздел «Включение или отключение компонентов Windows», далее в общем списке найти строку «Telnet», поставить в ней галочку и нажать кнопку ОК. Все, служба активирована и готова к использованию (даже в консоли).

клиент Телнет

telnet опции хост порт

Хост – это домен или его IP-адрес, порт – виртуальное дополнение для образования сокета, опции же позволяют менять режим подключения. Их основные варианты:

  1. -4 – использовать адреса стандарта IPV4;
  2. -6 – использовать адреса стандарта IPV6;
  3. -8 – применять 8-битную кодировку типа Unicode;
  4. -E – отключение поддержки Escape-последовательностей;
  5. -a – вход с именем пользователя из переменного окружения User;
  6. -b – использовать локальный сокет;
  7. -d – включить режим отладки;
  8. -p – режим эмуляции rlogin;
  9. -e – задать символ начала Escape-последовательности;
  10. -l – пользователь для авторизации на удаленном сервере.

Простейший вариант проверки открытых портов – это ввод команды без опций:

telnet 10.0.119.127 80

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

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как проверить открытые порты на своём компьютере. Что означают 0.0.0.0, :*, [::], 127.0.0.1. Как понять вывод NETSTAT

Почему важно знать, какие порты открыты на компьютере?

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

Если ваш компьютер заражён вредоносным программным обеспечением, таким как троян, бэкдор (вирусы, которые позволяют злоумышленнику удалённо подключаться к вашему компьютеру и управлять им), то обычно такой бэкдор открывает порт и прослушивает сеть, в ожидании входящего соединения. Хотя могут быть варианты, например, многие бэкдоры подключаются к компьютеру злоумышленника и ожидают команд — в этом случае правильнее говорить не об открытом порте, а об установленном соединении. Это распространённый способ поведения вредоносного ПО, поскольку в данном случае не требуется, чтобы у жертвы был белый IP (что для домашних компьютеров является редкостью). Поэтому важно проверять открытые порты и установленные сетевые соединения. Конечно, установленное соединение означает наличие открытого порта, но с технической точки зрения это всё-таки разные вещи.

Ещё один пример, когда нужно определить, какая именно служба прослушивает порт: вы пытаетесь установить сетевую службу (веб-сервер Apache или СУБД MySQL), а они не запускаются, так как какая-то другая служба уже заняла их порт, который они используют по умолчанию. В этом случае нужно найти эту службу и отключить её или настроить на работу с другим портом.

Но, как и во многих IT задачах (да и вообще во многих профессиональных сферах), получить данные это только самое начало. Главное — это правильно их истолковать и понять.

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

Как проверить открытые порты в Windows

В Windows есть команда netstat, которая отображает статистику протокола и текущих сетевых подключений TCP/IP.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-x] [-t] [интервал]
-a Отображение всех подключений и портов прослушивания. -b Отображение исполняемого файла, участвующего в создании каждого подключения или порта прослушивания. Иногда известные исполняемые файлы содержат множество независимых компонентов. Тогда отображается последовательность компонентов, участвующих в создании подключения или порта прослушивания. В этом случае имя исполняемого файла находится снизу в скобках [], сверху находится вызванный им компонент, и так до тех пор, пока не достигнут TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений. -e Отображение статистики Ethernet. Может применяться вместе с параметром -s. -f Отображение полного имени домена (FQDN) для внешних адресов. -n Отображение адресов и номеров портов в числовом формате. -o Отображение ИД процесса каждого подключения. -p протокол Отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6. Если используется вместе с параметром -s для отображения статистики по протоколам, допустимы следующие значения: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6. -q Отображение всех подключений, портов прослушивания и ограниченных непрослушивающих TCP-портов. Ограниченные непрослушивающие порты могут быть или не быть связанными с активными подключениями -r Отображение содержимого таблицы маршрутов. -s Отображение статистики по протоколам. По умолчанию статистика отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6. Параметр -p позволяет указать подмножество выводимых данных. -t Отображение состояния разгрузки для текущего подключения. -x Отображение подключений, прослушивателей и общих конечных точек NetworkDirect. -y Отображение шаблона подключений TCP для всех подключений. Не может использоваться вместе с другими параметрами. interval Повторное отображение выбранной статистики с паузой между отображениями, заданной интервалом в секундах. Чтобы прекратить повторное отображение статистики, нажмите клавиши CTRL+C. Если этот параметр опущен, netstat напечатает текущую информацию о конфигурации один раз.

Используя команду со следующими ключами, можно посмотреть информацию о всех подключениях и прослушиваемых портах в Windows:

netstat -an

Как с помощью PowerShell проверить открытые порты в Windows

Get-NetTCPConnection — это PowerShell-эквивалент NETSTAT, запуск команды без опций возвращает результат аналогичный netstat (но только по TCP портам и соединениям!).

Get-NetTcpConnection

Чтобы вывести список открытых портов, используйте опцию -State со значением Listen:

Get-NetTcpConnection -State Listen

Командлет Get-NetUDPEndpoint получает текущую статистику для конечной точки UDP. Командлет возвращает свойства конечной точки UDP, например локальные и удалённые порты UDP. Если вы не укажете никаких параметров, командлет получит статистику для всех конечных точек UDP. Get-NetUDPEndpoint запущенный без опций вернёт локальный адрес и локальный порт.

Get-NetUDPEndpoint

А следующая команда покажет открытые на всех сетевых интерфейсах UDP порты:

Get-NetUDPEndpoint | Where-Object

Связанные статьи:

  • Как в PowerShell просмотреть открытые порты. Как узнать, какая программа прослушивает порт
  • Как в PowerShell просмотреть открытые порты UDP
  • Test-NetConnection: сканирование открытых/закрытых портов из PowerShell
  • Использование PortQry для проверки открытых портов TCP/UDP (сканер портов)

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

В этом примере будет получено имя процесса, связанного с каждым открытым портом:

Get-NetTcpConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess,@> | Sort-Object -Property LocalPort | Format-Table

Эта команда покажет все процессы связанные с любой сетевой активностью (открытые порты, а также установленные соединения и другие статусы):

Get-NetTcpConnection | Select-Object LocalAddress,LocalPort,OwningProcess,@> | Sort-Object -Property LocalPort | Format-Table

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

$port='80'; Get-NetTcpConnection -State Listen | Where-Object | Select-Object LocalAddress,LocalPort,OwningProcess,@> | Sort-Object -Property LocalPort | Format-Table

Замените «80» в первой строке на порт, который вас интересует.

Чтобы просмотреть идентификатор процесса-владельца используемого порта UDP, запустите команду:

Get-NetUDPEndpoint | Select-Object LocalAddress,LocalPort,OwningProcess | Sort-Object -Property LocalPort | Format-Table

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

Get-NetUDPEndpoint | Select-Object LocalAddress,LocalPort,OwningProcess,@> | Sort-Object -Property LocalPort | Format-Table


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

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

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

netstat -anb

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

чтобы переключиться на Windows Console Host (обычную командную строку).

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

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 прослушивает много портов? Как узнать, какие именно программы открыли порты».

Как проверить открытые порты в Linux. Как узнать, какая служба прослушивает порт

Для Linux тоже есть команда netstat, но она, вроде как, теперь считается устаревшей и на её замену рекомендуется команда ss. Показываемая информация у ss и netstat очень похожи. Даже основные опции идентичны.

Итак, для вывода открытых портов TCP и UDP протоколов вместе с показом процессов, которые их прослушивают, используется команда:

sudo ss -tulpn

Чтобы вывести список установленных соединений для портов TCP и UDP, используйте команду:

sudo ss -tupn

Больше опций, а также больше способов найти, какие порты прослушиваются, смотрите в статье «4 способа узнать, какие порты прослушиваются в Linux».

Что означает вывод netstat и ss

Далее мы научимся понимать, что именно выводит netstat. Но для полного понимания нам нужно изучить немного теории — совсем кратко. Я расскажу только о том, что нам действительно понадобиться.

TCP и UDP

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

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

Работу протокола TCP можно представить как создание соединения между двумя компьютерами, по этому соединению передаются данные. Внутри этого соединения данные проверяются на предмет повреждения — если какая-то часть повреждена, то она отправляется повторно.

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

LISTENING, ESTABLISHED, CLOSE_WAIT и другие состояния

Как вы можете увидеть в выводе команды netstat для протокола TCP доступны разные варианты состояний.

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

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

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

UDP и LISTENING

Про UDP уже сказано чуть выше, что этот протокол не создаёт соединений в том смысле, как это делает TCP. Поэтому для этого протокола нет никаких состояний соединения — это просто неприменимо к нему. По этой причине в графе Состояние для него никогда не пишется LISTENING. Но значит ли это, что UDP порт не может быть прослушиваемым? Нет! Порт UDP также может быть прослушиваемым и доступным для соединений. В том числе этот порт может использоваться вирусами и злоумышленниками, поэтому эти порты также подлежат исследованию.

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

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

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

sudo ss -tulpn

Пример прослушиваемых портов на 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, в IPv6 аналог для 127.0.0.1 это ::1 (тоже часто можно видеть в выводимой информации).

Смотрите также:

  • Введение в IPv6 адреса: как пользоваться и как исследовать сеть (часть 1)
  • Введение в IPv6 адреса: как пользоваться и как исследовать сеть (часть 2)

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

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

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

Для вывода прослушиваемых портов и уже установленных сетевых подключений используйте следующую команду:

sudo ss -tupn

Звёздочка (*) вместо адреса или порта

Мы можем увидеть записи вроде *:80 или даже *:*

Здесь звёздочка означает любой адрес или любой порт. Например, *:80 в колонке Local Address:Port (Локальный адрес:Порт) означает, что прослушивается 80 порт сразу на всех сетевых интерфейсах, доступных в данной системе. То есть служба ответит на запрос к 80 порту откуда бы он не пришёл: из локальной сети, из глобальной сети (если есть прямое соединение и интерфейс с белым IP) или с закольцованного адреса — это неважно, служба всё равно примет это соединение.

Кстати, служба может прослушивать порт в соответствии со следующими правилами:

  • может прослушиваться конкретный порт для одного IP адреса
  • может прослушиваться конкретный порт для любого IP адреса

То есть порт должен в любом случае быть указан, поэтому для Local Address:Port (Локальный адрес:Порт) допустима запись *:80, но запись вида *:* никогда не встретится в этом столбце.

Для Peer Address:Port (Удалённый адрес:Порт) запись *:* означает, что принимаются соединения от любого IP, отправленные с любого порта.

Кстати, просто для справки: если ваш компьютер подключается к веб сайту, то веб сайты обычно работают на 80 и 443 портах. Следовательно, веб браузер подключается именно к 80 порту (или 443, если это безопасное HTTPS соединение). Но на вашем компьютере открывается новое соединение на каком угодно, но только не на 80 и 443 портах — обычно используются порты с номерами >30000, например, на вашем компьютере может быть открыто исходящее соединение с портом 42063 и оно будет адресовано к 80 порту какого-либо веб сервера.

Прослушиваемые порты IPv4 и IPv6 адресов в Linux

В Linux у программ netstat и ss имеется особенность вывода информации о прослушиваемых портах, когда прослушиваются одновременно IPv4 и IPv6 адреса — выводится информация только об IPv6 адресе! Возможно это связано с какими-то глубинными особенностями реализации ядра Linux, но в Windows, например, есть чёткое разделение и если служба одновременно прослушивает порт на IPv4 и IPv6 адресах, то информация об этой службе выводится два раза — пример этого почти в самом начале статьи, где мы ищем, какая служба прослушивает 80-й порт и в найденной информации нам дважды показана служба httpd.

Что означает 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) обозначается звёздочкой (*). Следовательно, в ss запись 0.0.0.0:* обозначает «любой IPv4 адрес с любого порта». А обозначение *:* символизирует «любой IPv6 адрес с любого порта».

В программе netstat также используется запись 0.0.0.0:* которая также обозначает «любой IPv4 адрес с любого порта».

Но в netstat для обозначения «любой IPv6 адрес с любого порта» используется . *

Помните об этих различиях, чтобы не запутаться. А также помните о том, что если показано, что прослушивается протокол tcp6 (IPv6), то одновременно может прослушиваться порт и на tcp (IPv4) — при этом данные в выводимой информации отсутствуют!

В Windows в качестве Local Address (Локального адреса), когда прослушивается любой 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)

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

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

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

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

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

Как открыть порты в Windows 8?

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

Как открыть доступ к папкам в Windows 7

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

Как открыть командную строку в Windows 8

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *