Что такое локальный порт

Что такое локальный порт

Назначение: Windows Server 2008 R2

На этой странице мастера задаются сведения о том, какие протоколы и порты, указываемые в сетевом пакете, удовлетворяют данному правилу брандмауэра.

Чтобы перейти к этой странице мастера

В оснастке консоли MMC «Брандмауэр Windows в режиме повышенной безопасности» щелкните правой кнопкой мыши пункт Правила для входящих подключений или Правила для исходящих подключений и выберите команду Новое правило.

На странице Тип правила выберите Порт или Настраиваемый.

В мастере нажимайте кнопку Далее до тех пор, пока не дойдете до страницы Протокол и порты.

Тип протокола

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

Если указываются протоколы TCP или UDP, то в полях Порт конечной точки 1 и Порт конечной точки 2 можно задать номера портов TCP или UDP.

Список протоколов, их портов и краткое описание см. в разделе библиотеки TechNet Страница свойств правила брандмауэра: Вкладка «Протоколы и порты» (http://go.microsoft.com/fwlink/?linkid=137823).

Номер протокола

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

Локальный порт

Используя протоколы TCP или UDP, можно задать локальный порт, выбрав его в раскрывающемся списке или непосредственно задав порт или список портов. Локальный порт — это порт компьютера, к которому применяется профиль брандмауэра.

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

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

Определенные порты. Доступен для правил входящих и исходящих подключений по протоколам TCP и UDP. При выборе этого параметра разрешается ввод в текстовое поле требуемых номеров портов. Порты разделяются запятыми, диапазон портов указывается через дефис.

Сопоставитель конечных точек RPC. Доступен только для правил входящих подключений по протоколу TCP. При выборе этого параметра локальный компьютер будет получать входящие запросы RPC через порт TCP 135 для сопоставителя конечных точек RPC (RPC-EM). В запросе к RPC-EM указывается сетевая служба и запрашивается номер порта, по которому прослушивается указанная сетевая служба. RPC-EM сообщает номер порта, на который удаленный компьютер должен будет передавать сетевой трафик для данной службы. Этот параметр также позволяет RPC-EM принимать RPC-запросы по HTTP.

Динамические порты RPC. Доступен только для правил входящих подключений по протоколу TCP. При выборе этого параметра локальный компьютер будет получать входящие сетевые пакеты RPC через порты, назначенные средой выполнения RPC. Порты из временного диапазона RPC блокируются брандмауэром Windows, если они не были назначены исполняемым модулем RPC определенной сетевой службе RPC. Только программа, которой исполняемым модулем RPC назначен порт, может принимать входящий трафик через этот порт.

Важно!
При создании правил, разрешающих сетевой трафик RPC при помощи параметров Сопоставитель конечных точек RPC и Динамические порты RPC, разрешается весь сетевой трафик RPC. Брандмауэр Windows не может фильтровать трафик RPC при помощи идентификатора UUID целевой программы.

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

IPHTTPS. Доступен только для TCP. Доступен в разделе Локальный порт только для правил входящих подключений. При выборе этого параметра локальному компьютеру разрешается принимать входящие пакеты IPTHTTPS от удаленного компьютера. IPHTTPS является протоколом туннелирования, который поддерживает внедрение пакетов IPv6 в сетевые пакеты IPv4 HTTPS. Это позволяет трафику IPv6 проходить через IP-прокси, которые не поддерживают IPv6 или некоторые другие технологии туннелирования IPv6, например Teredo или 6to4.

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

Удаленный порт

Используя протоколы типа TCP или UDP, можно задать локальный и удаленный порт, выбрав его в раскрывающемся списке или непосредственно введя номер порта или список портов. Удаленный порт — это порт на компьютере, пытающимся установить связь с другим компьютером, на котором применен профиль брандмауэра.

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

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

Определенные порты. Доступен для правил входящих и исходящих подключений по протоколам TCP и UDP. При выборе этого параметра разрешается ввод в текстовое поле требуемых номеров портов. Порты разделяются запятыми, диапазон портов указывается через дефис.

IPHTTPS. Доступен только для TCP. Доступен в разделе Удаленный порт только для правил исходящих подключений. При выборе этого параметра локальному компьютеру разрешается посылать удаленному компьютеру исходящие пакеты IPTHTTPS. IPHTTPS является протоколом туннелирования, который поддерживает внедрение пакетов IPv6 в сетевые пакеты IPv4 HTTPS. Это позволяет трафику IPv6 проходить через IP-прокси, которые не поддерживают IPv6 или некоторые другие технологии туннелирования IPv6, например Teredo или 6to4.

Параметры протокола ICMP

Если необходимо создать правило, которое будет разрешать или блокировать ICMP-пакеты, в списке Тип протокола выберите ICMPv4 или ICMPv6 и нажмите кнопку Настроить. Настроить эти параметры можно в диалоговом окне Настройка параметров ICMP.

Изменение этих настроек

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

Объясните, пожалуйста, простым языком.
Что такое localhost в адресной строке?
Почему бывают разные порты?
Где находится этот localhost, в каких директориях?

  • Вопрос задан более трёх лет назад
  • 4897 просмотров
Читайте также:  Как сделать полноэкранный режим в dirt 3

Если человек, не знакомый с арифметикой захочет понять, что означает "два плюс три равно пять", ему недостаточно объяснить, что такое "два", или что такое "плюс"!

Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и "хостом", и "сервером", и "localhost"). Так что, чтоб можно было объяснить на пальцах, уточните, с какого места, собственно, непонятно.

Если человек, не знакомый с арифметикой захочет понять, что означает "два плюс три равно пять", ему недостаточно объяснить, что такое "два", или что такое "плюс"! Так же и тут. Для понимания, что такое localhost, сначала нужно понять, что такое хост вообще, что такое сеть, что такое имя хоста, что такое сервер, как это все связано с адресами и номерами портов, а те — с, собственно, одним конкретным компом (который, в зависимости от контекста, могут называть и "хостом", и "сервером", и "localhost"). Так что, на всякий случай:

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

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

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

На одном компе (=хосте, сервере) может одновременно выполняться несколько разных программ-серверов. Для того, чтоб обратиться к конкретной из них (адрес-то у всех один и тот же!), в протоколе TCP/IP используются разные номера портов.

Если на компе запущен, например, HTTP сервер (= Webserver, например, Nginx или Apache), он "слушает" порт 80, а если не запущен, порт 80 никто не слушает, и если обратиться к такому хосту (= серверу, компу) по его адресу в порт 80, никакого ответа не придет. хотя сам хост и будет доступен.

Для разных общеизвестных типов программ-серверов (в этом случае также говорят о "сервисах" или же "протоколах", что в данном контексте практически одно и то же) принято использовать общеизвестные номера портов, а для наиболее распространенных (как тот же HTTP) можно даже не указывать номер порта при обращении, как мы обычно и делаем в строке броузера, т.к. клиент автоматически использует номер порта по умолчанию, в данном случае 80. Но, в принципе, любой сервис можно (переконфигурировав) использовать на любом порту. если, конечно, в этом есть смысл. Единственно, что нельзя — одновременно использовать разные серверы на одном порту.

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

localhost — "общеизвестное" имя компа для самого себя и ему соответствует IP адрес 127.0.0.1. Это — общепринятая договоренность, которую просто нужно знать. Если говорят "установить сервер на localhost", это означает "установить на тот самый комп, с которого и обращаться к этому серверу".

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Дополнения к фотошопу cs6

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

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

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

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

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

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

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

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

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

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

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

Где [ПОРТ] замените на интересующий вас порт, например, меня интересует порт 80, тогда:

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

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

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

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

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

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

UDP и LISTENING

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

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

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

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

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

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

  • 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 (тоже часто можно видеть в выводимой информации).

Читайте также:  Топ 100 советских комедий

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

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

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

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

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

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

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

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

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

Кстати, просто для справки: если ваш компьютер подключается к веб сайту, то веб сайты обычно работают на 80 порту. Следовательно, веб браузер подключается именно к 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 в качестве Локального адреса, когда прослушивается любой 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 адрес на любом порту

Ссылка на основную публикацию
Что отражает двоичная матрица
Представление информации в табличной форме широко распростране­но. Чаще всего мы пользуемся прямоугольными таблицами. Простейшая таблица состоит из строк и граф...
Что если компьютер включается и сразу выключается
Одна из распространенных проблем с компьютером — он включается и сразу выключается (через секунду-другую). Обычно это выглядит следующим образом: нажатие...
Что за номер 800 555
У пользователей часто звонит неизвестный номер 88005551534 или остаются пропущенные звонки. Давайте разберемся какой организации принадлежит этот номер, а ниже...
Что означают значки в погоде на айфоне
Самые интересные новости о технике Apple и не только. Что означают значки погоды на iPhone? Сегодняшняя тема весьма заинтересует многих...
Adblock detector