Проверка порта
Содержание:
- Как быть если порт закрыт?
- Сколько всего портов TCP?
- Соединение TCP
- Сокеты TCP
- Что такое TCP RST?
- Программы для настройки брандмауэра
- Уязвимости сервисов
- Резюме
- IP адрес 0.0.0.0
- Параметры брандмауэра по умолчанию
- Порт 21 контролирует сеанс FTP
- Что такое активный и пассивный режим, и как они связаны с портами
- Что такое порты в Windows 7/10 и зачем они нужны
- Как открыть порт в Windows 7 и Windows 8
- Зачем сравнивать TCP или что с ним не так
- Порты TCP/UDP, используемые в среде Cisco CallManager
- Определения порта программы стандартными средствами Windows
- Заголовок TCP
- Уязвимости сервисов
- Что такое протокол TCP?
- Подводим итоги вышесказанному
- Выводы
Как быть если порт закрыт?
Сейчас мы говорим. про ситуации когда 443 соединение блокируется системным администратором или интернет провайдером. В обоих случаях необходимо связываться с вышестоящими инстанциями и рассказывать, что вам необходимо открыть открыть порт 443 windows, своими силами вы уже не обойдетесь.
Еще очень частым вопросом, бывает, как проделать все те же действия на сетевых устройствах, однозначного ответа нет, так как у всех это делается по разному, изучайте документацию. По своей практике могу точно сказать, что провайдеры любят лочить 25 SMTP подключения, чтобы спам не рассылали. Уверен, что вы теперь знаете, как все открывать и сможете это использовать на практике.
Сколько всего портов TCP?
Для протокола TCP порт с номером 0 зарезервирован и не может использоваться. Для протокола UDP указание порта процесса-отправителя («обратного» порта) не является обязательным, и порт с номером 0 означает отсутствие порта. Таким образом, номер порта — число в диапазоне от 1 до 216-1=65 535.
Соединение TCP
Чтобы установить соединение между двумя процессами на разных компьютерах сети, необходимо знать не только интернет-адреса компьютеров, но и номера тех ТСР-портов (sockets), которые процессы используют на этих компьютерах. Любое TCP-соединение в сети Интернет однозначно идентифицируется двумя IP-адресами и двумя номерами ТСР-портов.
Протокол TCP умеет работать с поврежденными, потерянными, дублированными или поступившими с нарушением порядка следования пакетами. Это достигается благодаря механизму присвоения каждому передаваемому пакету порядкового номера и механизму проверки получения пакетов.
Когда протокол TCP передает сегмент данных, копия этих данных помещается в очередь повтора передачи и запускается таймер ожидания подтверждения.
Сокеты TCP
Активные TCP соединения с интернетом (w/o servers)
# netstat -nt Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.26.95.251:56981 10.161.85.55:22 ESTABLISHED tcp 0 0 10.26.95.251:44596 10.26.95.226:2193 ESTABLISHED
Для сокетов TCP допустимы следующие значения состояния:
CLOSED Закрыт. Сокет не используется. LISTEN Сокет ожидает входящих соединений. SYN_SENT Активно пытается установить соединение. Cокет в процессе установки соединения. SYN_RECEIVED (SYN_RCVD) Идет начальная синхронизация соединения. Был принят запрос установки соединения из сети. ESTABLISHED Соединение установлено. CLOSE_WAIT Удаленная сторона отключилась; ожидание закрытия сокета. FIN_WAIT_1 Сокет закрыт; соединение закрывается. CLOSING Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения. LAST_ACK Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения. FIN_WAIT_2 Сокет закрыт; ожидание отключения удаленной стороны. TIME_WAIT Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки UNKNOWN Статус сокета неизвестен.
Что такое TCP RST?
TCP RST – это сегмент TCP (обратите внимание, что TCP посылает сообщения сегментами, а НЕ пакетами, что часто неправильно употребляется в среде сетевых администраторов), который показывает, что с соединением что-то не так. RST посылается в следующих случаях:
- Посылается SYN для несуществующего сервера.
- TCP хочет прервать соединение.
- Получен сегмент, для которого не существует соединения.
Программы для настройки брандмауэра
Настройте параметры брандмауэра Windows с помощью консоли управления (MMC) или netsh.
-
Консоль управления (MMC)
Оснастка «Брандмауэр Windows в режиме повышенной безопасности» позволяет настраивать дополнительные параметры брандмауэра. Эта оснастка представляет большинство параметров брандмауэра и в удобной форме, а также все профили брандмауэра. Дополнительные сведения см. в разделе далее в этой статье.
-
netsh
Средство netsh.exe позволяет администратору настраивать и отслеживать компьютеры с Windows из командной строки или с помощью пакетного файла . При использовании средства netsh вводимые контекстные команды направляются соответствующим вспомогательным приложениям, которые их выполняют. Вспомогательное приложение — это файл библиотеки динамической компоновки (DLL) для расширения функциональных возможностей. Вспомогательное приложение обеспечивает настройку, мониторинг и поддержку различных служб, служебных программ и протоколов для средства netsh.
Все операционные системы, поддерживающие SQL Server , имеют модуль поддержки брандмауэра. Windows Server 2008 также содержит расширенный помощник брандмауэра advfirewall. Многие из описанных параметров конфигурации можно настроить с помощью средства netsh. Например, выполните в командной строке следующий скрипт, чтобы открыть TCP-порт 1433:
Аналогичный пример, использующий брандмауэр Windows для модуля поддержки повышенной безопасности:
Дополнительные сведения о средстве netsh см. в следующих разделах:
- Синтаксис команды Netsh, контексты и форматирование
- Использование контекста netsh advfirewall firewall вместо контекста netsh firewall для управления работой брандмауэра Windows в операционной системе Windows Server 2008 или Windows Vista
-
PowerShell
В следующем примере показано, как открыть TCP-порт 1433 и UDP-порт 1434 для экземпляра по умолчанию SQL Server и службы обозревателя SQL Server:
Дополнительные примеры см. в разделе New-NetFirewallRule.
-
Для Linux. В Linux необходимо также открыть порты, связанные со службами, к которым вам нужен доступ. Различные дистрибутивы Linux и брандмауэры имеют свои процедуры. Примеры см. в руководствах по использованию SQL Server в Red Hat и SUSE.
Уязвимости сервисов
Во всем популярном ПО рано или поздно находят ошибки, даже в самых оттестированных и самых критичных. В среде ИБэшников, есть такая полу-шутка — безопасность инфраструктуры можно смело оценивать по времени последнего обновления. Если ваша инфраструктура богата торчащими в мир портами, а вы ее не обновляли год, то любой безопасник вам не глядя скажет, что вы дырявы, и скорее всего, уже взломаны.
Так же стоит упомянуть, что все известные уязвимости, когда-то были неизвестными. Вот представьте хакера, который нашел такую уязвимость, и просканировал весь интернет за 7 минут на ее наличие… Вот и новая вирусная эпидемия ) Надо обновляться, но это может навредить проду, скажете вы. И будете правы, если пакеты ставятся не из официальных репозиториев ОС. Из опыта, обновления из официального репозитория крайне редко ломают прод.
Резюме
Сокет TCP является экземпляром конечной точки, определяемым IP-адресом и портом в контексте определенного TCP-соединения или состояния прослушивания.
Порт — это идентификатор виртуализации, определяющий конечную точку службы (в отличие от конечной точки экземпляра службы или ее идентификатора сеанса).
Сокет TCP не является соединением, это конечная точка определенного соединения.
Могут быть параллельные подключения к конечной точке службы, поскольку соединение идентифицируется как локальными, так и удаленными конечными точками, что позволяет трафику маршрутизироваться в конкретный экземпляр службы.
Для данной комбинации адресов и портов может быть только один разъем-слушатель.
IP адрес 0.0.0.0
Кстати, IP адрес 0.0.0.0 довольно интересный, так как используется в разных случаях.
Например, некоторые службы в качестве адреса привязки (bind) позволяют установить 0.0.0.0. Это означает, что служба будет прослушивать порт на всех сетевых интерфейсах данного компьютера, то есть на всех IP адресах. В некоторых службах (например, веб-сервер Apache), просто не нужно указывать никакой определённый IP адрес (в том числе 0.0.0.0) и по умолчанию они будут прослушивать входящие соединения на всех сетевых интерфейсах.
Важно понимать, что 0.0.0.0 и 127.0.0.1 это совершенно разные вещи. Хотя если в Linux пинговать 0.0.0.0, то пинги будут отправляться именно к 127.0.0.1. В Windows попытка пинга 0.0.0.0 вызовет сообщение о сбое передачи данных, то есть о недоступности адреса
Адрес 0.0.0.0 означает «любой IP данного компьютера» и включает в себя в том числе 127.0.0.1.
В Windows попытка пинга 0.0.0.0 вызовет сообщение о сбое передачи данных, то есть о недоступности адреса. Адрес 0.0.0.0 означает «любой IP данного компьютера» и включает в себя в том числе 127.0.0.1.
Адрес 0.0.0.0 обычно означает, что IP адрес ещё не настроен или не присвоен. Такой адрес указывает хост, который обращается к DHCP для получения IP адреса.
Если 0.0.0.0 указан в качестве адреса получателя, то он должен расцениваться как широковещательный адрес 255.255.255.255.
Адрес 0.0.0.0 с маской 0.0.0.0, то есть 0.0.0.0/0 используется для обозначения маршрута по умолчанию (default route).
Этот адрес не является валидным адресом для назначения сетевому интерфейсу, точно также как и вся подсеть 0.0.0.0/8 (то есть любой адрес, начинающийся с 0.).
Также адрес 0.0.0.0 может использоваться для явного указания, что целевой хост недоступен.
Это было больше просто для справки и для расширения кругозора, а теперь продолжаем с нашими открытыми портами.
Параметры брандмауэра по умолчанию
Первым шагом при планировании конфигурации брандмауэра является определение его текущего состояния в операционной системе. Если операционная система была обновлена с предыдущей версии, в ней могли сохраниться старые настройки брандмауэра. Изменять параметры брандмауэра в домене может групповая политика или администратор.
Примечание
Включение брандмауэра может повлиять на общий доступ к файлам и принтерам, подключения к удаленному рабочему столу и работу других программ, которым необходим доступ к компьютеру. Администратор должен просмотреть все приложения, которые работают на компьютере, прежде чем приступать к настройке параметров брандмауэра.
Порт 21 контролирует сеанс FTP
Протокол передачи файлов (FTP) обеспечивает основу для передачи информации между двумя сетевыми компьютерами, так же как и протокол передачи гипертекста (HTTP) через веб-браузер. FTP, однако, работает на двух разных портах протокола управления передачей (TCP): 20 и 21. FTP-порты 20 и 21 должны быть открыты в сети для успешной передачи файлов.
После ввода правильного имени пользователя и пароля FTP через программное обеспечение клиента FTP программное обеспечение сервера FTP открывает порт 21, который по умолчанию иногда называют команда или порт управления . Затем клиент устанавливает другое соединение с сервером через порт 20, чтобы можно было осуществлять фактическую передачу файлов.
Порт по умолчанию для отправки команд и файлов по FTP можно изменить. Однако существует стандарт, так что клиентские/программные программы, маршрутизаторы и брандмауэры могут согласовывать одни и те же порты, что упрощает настройку.
Как подключиться через FTP-порт 21
Если FTP не работает, правильные порты могут быть не открыты в сети. Эта блокировка может происходить на стороне сервера или на стороне клиента. Любое программное обеспечение, блокирующее порты, необходимо изменить вручную, чтобы открыть их, включая маршрутизаторы и брандмауэры, которые могут блокировать порты, если операционная система этого не делает.
По умолчанию маршрутизаторы и брандмауэры могут не принимать соединения через порт 21. Если FTP не работает, лучше сначала проверить, правильно ли маршрутизатор перенаправляет запросы на этот порт и что брандмауэр не блокирует порт 21.
Используйте Port Checker для сканирования вашей сети, чтобы убедиться, что у маршрутизатора открыт порт 21. Функция, называемая пассивным режимом, помогает проверить наличие барьеров для доступа к порту за маршрутизатором.
В дополнение к тому, что порт 21 открыт с обеих сторон канала связи, порт 20 также должен быть разрешен в сети и через клиентское программное обеспечение. Пренебрежение открытием обоих портов предотвращает полную передачу назад и вперед.
Когда он подключен к FTP-серверу, клиентское программное обеспечение запрашивает учетные данные для входа – имя пользователя и пароль – необходимые для доступа к этому конкретному серверу. Многие FTP-серверы, если вы входите через telnet или через соединение Secure Shell, предлагают анонимные учетные данные по умолчанию.
FileZilla и WinSCP – два популярных FTP-клиента. Оба доступны бесплатно.
Что такое активный и пассивный режим, и как они связаны с портами
Дело в том, что есть два варианта развития сценария взаимодействия клиента с сервером. Первый вариант – это когда программа назначает порт, по которому ей удобно пользоваться. То есть на сервере установлен определенный номер порта, и система с этим соглашается, освобождая его. А второй вариант – это когда операционная система сама подбирает для программы порт для выхода в сеть.
В FTP когда клиент пытается подключиться к серверу, активный режим проявляется в момент установки соединения для передачи данных. Если задан активный режим, то тогда клиент задает номер порта соединения, который должен открыть сервер. Получается, что клиент управляет ситуацией, а сервер подстраивается под него. А в пассивном режиме клиент выступает пассивно, то есть принимает от сервера сообщение с номером порта для соединения, и подключается по нему.
Но дело в том, что в протоколе FTP есть два типа соединения:
- Управляющее.
- Соединение для передачи данных.
Активность и пассивность клиента проявляется только во втором типе соединения. А первое необходимо для того, чтобы сервер и клиент могли общаться между собой. То есть чтобы сервер принимал команды от клиента, потому это соединение и называется управляющим. Такое соединение работает через стандартный порт, установленный по умолчанию.
Что такое порты в Windows 7/10 и зачем они нужны
Для различения запросов и оптимизации соединения используются ещё протоколы и порты. О последних и пойдёт сегодня речь. Так что же такое порты, зачем они нужны, как узнать какие порты открыты на компьютере и почему они должны быть открыты или, напротив, закрыты?
Порт – это виртуальная единица, канал, номер соединения с удалённым клиентом или сервером, выделяемый той или иной программе. Непонятно? Попробуем объяснить доходчивей. Представьте себе огромное здание с 65 535 дверьми. Двери эти не простые, ведущие во внутренние комнаты, а волшебные, ведущие в другие такие же здания. Дом с множеством дверей – это ваш компьютер, а двери – это порты, через которые программы устанавливают соединение с другими компьютерами.
Когда приложение желает получить доступ в сеть, оно резервирует для себя порт с определённым номером, благодаря чему при обмене многочисленными данными не бывает путаницы. Когда программа завершает свою работу, порт освобождается, хотя для некоторых портов есть свои исключения. Например, порты 80 и 443 должны быть открыты постоянно, иначе некоторые программы не смогут соединиться с интернетом, если только в их алгоритмах не предусмотрена возможность альтернативного подключения. Другие порты желательно держать на замке, дабы избежать атак по сети и использования их вредоносными программами.
Как открыть порт в 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». Нажимаем кнопку ОК. После этого брандмауэр станет неактивен и Ваша операционная система будет полностью открыта угрозам из внешней сети.
Поэтому я рекомендую отключать брандмауэр либо только кратковременно, для диагностики проблем с доступностью порта из-вне, либо если Вы переходите на другой, сторонний пакетный фильтр (фаервол).
Постоянная работа в сети Интернет с отключенным брандмауэром (фаерволом) крайне нежелательна.
Зачем сравнивать TCP или что с ним не так
- packet loss — примерно 0,6% пакетов, которые мы отправляем, теряются по пути;
- reordering — перестановка пакетов местами, в реальной жизни довольно редкое явление, но случается в 0,2% случаев;
- jitter — когда пакеты отправляются равномерно, а приходят очередями с задержкой примерно в 50 мс.
Как вычислить RTT
RIPE Atlasбеспроводные сети популярны и нестабильны
- Более 80% пользователей используют беспроводной интернет;
- Параметры беспроводных сетей динамично меняются в зависимости, например, от того, что пользователь повернул за угол;
- Беспроводные сети имеют высокие показатели packet loss, jitter, reordering;
- Фиксированный ассиметричный канал, смена IP-адреса.
TCP в нестабильных сетях
меньше половины канала
- Беспроводные мобильные сети победили и нестабильны.
- TCP не до конца утилизирует канал в нестабильных сетях.
- Потребление контента зависит от скорости интернета: чем выше скорость интернета, тем больше пользователи смотрят, а мы очень любим наших пользователей и хотим, чтобы они смотрели больше.
Порты TCP/UDP, используемые в среде Cisco CallManager
В этой таблице представлены порты TCP/UDP, используемые в среде Cisco CallManager.
Протокол |
Удаленный исходящий порт |
Порт назначения CallManager |
Исходящий порт CallManager |
Порт назначения удаленного устройства |
Удаленные устройства |
Примечания |
---|---|---|---|---|---|---|
DTC |
TCP 135 |
Устройства CallManager в одном кластере |
||||
SSH |
TCP 22 |
Клиент Secure Shell |
||||
Telnet |
TCP 23 |
Клиент Telnet |
||||
DNS |
UDP 53 |
Серверы DNS |
||||
DHCP |
UDP 68 |
UDP 67 |
Сервер DHCP |
|||
DHCP |
UDP 68 |
UDP 67 |
Клиент DHCP |
|||
TFTP |
UDP 69 |
Динамические порты, используемые после первого подключения |
||||
HTTP |
TCP 80 |
Веб-браузеры администратора / пользователя |
Страницы CCMAdmin и CCMUser |
|||
OSI (DAP, DSP, DISP) |
TCP или UDP 120 |
Каталог DCD |
||||
NTP |
UDP 123 |
|||||
WINS |
UDP 137-139 |
Сервер WINS |
Служба имен Интернет для Windows |
|||
SNMP |
UDP 161 |
|||||
Сообщение SNMP |
UDP 162 |
|||||
LDAP |
TCP 389 |
TCP 389 |
Службы каталога |
При интегрировании с Corporate Directory |
||
HTTPS / SSL |
||||||
SMB |
TCP 445 |
TCP 445 |
Несколько CallManager в одном кластере |
|||
Syslog |
TCP 514 |
UDP 514 |
Служба системного журнала |
|||
RMI |
TCP 1099-1129 |
Служба RMI. Консоль оператора |
||||
MS SQL |
TCP 1433 |
TCP 1433 |
Несколько CallManager в одном кластере |
|||
H.323 RAS |
UDP 1718 |
Обнаружение Привратника |
||||
H.323 RAS |
UDP 1719 |
Привратник RAS |
CallManager до версии 3.3. Cisco Conference Connection |
|||
H.323 RAS |
UDP 1024-4999 |
UDP 1719 |
Привратник RAS |
CallManager версии 3.3 |
||
H.323 H.225 |
TCP 1720 |
TCP 1720 |
Шлюзы H.323 / анонимное устройство Cisco Conference Connection / неуправляемая Привратником магистраль H.323 |
|||
H.323 H.225/ICT |
TCP 1024-4999 |
Магистрали H.323, управляемые Привратником CallManager |
CallManager версии 3.3 |
|||
H.323 H.245 |
TCP 1024-4999 |
TCP 1024-4999 |
Шлюзы H.323 CallManager / анонимное устройство / магистрали H.323 |
|||
H.323 H.245 |
TCP 11000-65535 |
Шлюзы IOS H.323 Cisco Conference Connection |
||||
SCCP |
TCP 2000 |
Skinny-клиенты (IP-телефоны) |
||||
Skinny-шлюз (аналоговый) |
TCP 2001 |
Аналоговый Skinny-шлюз |
Устарело |
|||
Skinny-шлюз (цифровой) |
TCP 2002 |
Цифровой Skinny-шлюз |
Устарело |
|||
Управление MGCP |
UDP 2427 |
Управление шлюзом MGCP |
||||
Соединение с MGCP |
TCP 2428 |
Соединение со шлюзами MGCP |
||||
RTS Serv |
2500 |
|||||
Cisco Extended Service |
TCP 2551 |
Определение активного / резервного |
||||
Cisco Extended Service |
TCP 2552 |
Уведомление об изменении DB |
||||
Сборщик данных RIS |
TCP 2555 |
Связь между RIS |
||||
Сборщик данных RIS |
TCP 2556 |
Используется клиентами (IIS) для связи с RIS |
||||
CTI/QBE |
TCP 2748 |
Приложения TAPI/JTAPI |
Подключается к CTI Manager. Используется приложениями IVR, CCC, PA, Cisco Softphone, CRS, ICD, IPCC, IPMA, Attendant Console и любыми другими, которые используют TAPI или плагин J/TAPI / TSP. |
|||
Служба IPMA |
TCP 2912 |
Консоль помощника IPMA |
||||
Приложение потоковой передачи медиаинформации |
UDP 3001 |
Уведомление об изменении |
||||
SCCP |
TCP 3224 |
Медиаресурсы |
Мосты для конференций / Xcoder |
|||
Терминальные службы MS |
TCP 3389 |
Терминальные службы Windows |
||||
Агент HID Entercept |
TCP 5000 |
Консоль обнаружения несанкционированного доступа к хосту |
||||
CallManager SIP |
TCP/UDP 5060 |
TCP 5060 |
Порт по умолчанию магистрали SIP |
Может использовать TCP 1024 — 65535 |
||
Помощник VNC http |
TCP 580x |
Удаленное управление |
||||
VNC Display |
TCP 690x |
Дисплей компьютера виртуальной сети |
Удаленное управление |
|||
Уведомление об изменениях CallManager |
TCP 7727 |
Уведомление об изменении CallManager. Монитор уровня базы данных Cisco, Cisco TFTP, Cisco IP поток медиаданных, Cisco TCD, Cisco MOH |
Уведомление об изменении RealTime |
|||
Служба IPMA |
TCP 8001 |
IP Manager Assistant |
Уведомление об изменении |
|||
ICCS |
TCP 8002 |
TCP 8002 |
Несколько CallManager в одном кластере |
Внутрикластерная связь |
||
CTIM |
TCP 8003 |
|||||
Cisco Tomcat |
TCP 8007 |
Веб-запросы |
||||
Cisco Tomcat |
TCP 8009 |
Веб-запросы |
||||
Cisco Tomcat |
TCP 8111 |
IIS, веб-запросы рабочего потока IPMA |
||||
Cisco Tomcat |
TCP 8222 |
IIS, веб-запросы рабочего потока приложения EM |
||||
Cisco Tomcat |
TCP 8333 |
IIS, веб-запросы рабочего потока приложения WebDialer |
||||
DC Directory |
TCP 8404 |
Встроенные службы каталога |
Используется для служб каталога. Аутентификация / настройка приложения. Журнал SoftPhone. Журнал пользователя. |
|||
Cisco Tomcat |
TCP 8444 |
IIS, веб-запросы рабочего потока службы EM |
||||
Cisco Tomcat |
TCP 8555 |
IIS, веб-запросы рабочего потока Apache SOAP |
||||
Cisco Tomcat |
TCP 8998 |
Веб-запросы |
||||
Cisco Tomcat |
TCP 9007 |
IIS, веб-запросы рабочего потока CAR |
||||
RTP |
UDP 16384-32767 |
UDP 16384-32767 |
Голосовое медиа |
IP IVR Media. CCC IVR Media, Cisco SoftPhone, приложение Media Streaming |
||
Агент Cisco SNMP |
UDP 61441 |
Интерфейс аварийных сигналов Cisco |
Принимает некоторые аварийные сигналы SNMP в формате XML. |
Другие продукты AVVID
Описание других портов, используемых преимущественно между Microsoft Exchange и Cisco Unity и не приведенных в данной таблице см. в документе Cisco Unity и Quality of Service (QoS). Фактические голосовые порты Cisco Unity регистрируются у поставщика услуг TAPI (TSP) с использованием Skinny-протокола (порт TCP 2000).
Определения порта программы стандартными средствами 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.
Заголовок TCP
- Порядковый номер выполняет две задачи:
-
- Если установлен флаг SYN, то это начальное значение номера последовательности — ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1.
- В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности.
- Номер подтверждения — если установлен флаг ACK, то это поле содержит номер последовательности, ожидаемый получателем в следующий раз. Помечает этот сегмент как подтверждение получения.
- Длина заголовка — задается словами по 32бита.
- Размер окна — количество байт, которые готов принять получатель без подтверждения.
- Контрольная сумма — включает псевдо заголовок, заголовок и данные.
- Указатель срочности — указывает последний байт срочных данных, на которые надо немедленно реагировать.
- URG — флаг срочности, включает поле «Указатель срочности», если =0 то поле игнорируется.
- ACK — флаг подтверждение, включает поле «Номер подтверждения, если =0 то поле игнорируется.
- PSH — флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.
- RST — флаг прерывания соединения, используется для отказа в соединении
- SYN — флаг синхронизация порядковых номеров, используется при установлении соединения.
- FIN — флаг окончание передачи со стороны отправителя
Рассмотрим структуру заголовка TCP с помощью сетевого анализатора Wireshark:
TCP порты
Так как на одном и том же компьютере могут быть запущены несколько программ, то для доставки TCP-пакета конкретной программе, используется уникальный идентификатор каждой программы или номер порта.
Номер порта — это условное 16-битное число от 1 до 65535, указывающее, какой программе предназначается пакет.
TCP порты используют определенный порт программы для доставки данных, передаваемых с помощью протокола управления передачей (TCP). TCP порты являются более сложными и работают иначе, чем порты UDP. В то время как порт UDP работает как одиночная очередь сообщений и как точка входа для UDP-соединения, окончательной точкой входа для всех соединений TCP является уникальное соединение. Каждое соединение TCP однозначно идентифицируется двумя точками входа.
Каждый отдельный порт сервера TCP может предложить общий доступ к нескольким соединениям, потому что все TCP соединения идентифицируются двумя значениями: IP-адресом и TCP портом (сокет).
Все номера портов TCP, которые меньше чем 1024 — зарезервированы и зарегистрированы в Internet Assigned Numbers Authority (IANA).
Номера портов UDP и TCP не пересекаются.
TCP программы используют зарезервированные или хорошо известные номера портов, как показано на следующем рисунке.
Уязвимости сервисов
Во всем популярном ПО рано или поздно находят ошибки, даже в самых оттестированных и самых критичных. В среде ИБэшников, есть такая полу-шутка — безопасность инфраструктуры можно смело оценивать по времени последнего обновления. Если ваша инфраструктура богата торчащими в мир портами, а вы ее не обновляли год, то любой безопасник вам не глядя скажет, что вы дырявы, и скорее всего, уже взломаны.
Так же стоит упомянуть, что все известные уязвимости, когда-то были неизвестными. Вот представьте хакера, который нашел такую уязвимость, и просканировал весь интернет за 7 минут на ее наличие… Вот и новая вирусная эпидемия ) Надо обновляться, но это может навредить проду, скажете вы. И будете правы, если пакеты ставятся не из официальных репозиториев ОС. Из опыта, обновления из официального репозитория крайне редко ломают прод.
Что такое протокол TCP?
TCP — это протокол транспортного уровня, предоставляющий транспортировку (передачу) потока данных, с необходимостью предварительного установления соединения, благодаря чему гарантирует уверенность в целостности получаемых данных, также выполняет повторный запрос данных в случае потери данных или искажения. Помимо этого протокол TCP отслеживает дублирование пакетов и в случае обнаружения — уничтожает дублирующиеся пакеты. TCP — это аббревиатура от Transmission Control Protocol (Протокол Управления Передачей) — является обязательным протоколом стандарт TCP/IP, определенный в стандарте RFC 793, «Transmission Control Protocol (TCP)».
В отличие от протокола UDP гарантирует целостность передаваемых данных и подтверждения отправителя о результатах передачи. Используется при передаче файлов, где потеря одного пакета может привести к искажению всего файла.
TCP обеспечивает свою надежность благодаря следующему:
- Данные от приложения разбиваются на блоки определенного размера, которые будут отправлены.
- Когда TCP посылает сегмент, он устанавливает таймер, ожидая, что с удаленного конца придет подтверждение на этот сегмент. Если подтверждение не получено по истечении времени, сегмент передается повторно.
- Когда TCP принимает данные от удаленной стороны соединения, он отправляет подтверждение. Это подтверждение не отправляется немедленно, а обычно задерживается на доли секунды
- TCP осуществляет расчет контрольной суммы для своего заголовка и данных. Это контрольная сумма, рассчитываемая на концах соединения, целью которой является выявить любое изменение данных в процессе передачи. Если сегмент прибывает с неверной контрольной суммой, TCP отбрасывает его и подтверждение не генерируется. (Ожидается, что отправитель отработает тайм-аут и осуществит повторную передачу.)
- Так как TCP сегменты передаются в виде IP датаграмм, а IP датаграммы могут прибывать беспорядочно, также беспорядочно могут прибывать и TCP сегменты. После получения данных TCP может по необходимости изменить их последовательность, в результате приложение получает данные в правильном порядке.
- Так как IP датаграмма может быть продублирована, принимающий TCP должен отбрасывать продублированные данные.
- TCP осуществляет контроль потока данных. Каждая сторона TCP соединения имеет определенное пространство буфера. TCP на принимающей стороне позволяет удаленной стороне посылать данные только в том случае, если получатель может поместить их в буфер. Это предотвращает от переполнения буферов медленных хостов быстрыми хостами.
Подводим итоги вышесказанному
В этой статье мы постарались дать вам ответ на вопрос: «как открыть порты на Windows 7 и 10?». Для этого нами было выбрано и описано самые востребованные способы решения данной проблемы с примерами.
Подводя итоги, мы составили краткую характеристику каждого способа отдельно.
Стандартные инструменты Windows оказались не самыми удобными в управлении, однако, предоставляют достаточный объем информации о процессах и занятых ими портах. Работа с Брандмауэром и консолью довольно проста и после нашего примера вы сможете самостоятельно повторить все это на своем компьютере.
CurrPorts выводит максимум данных о портах и процессах, позволяет удалять (освобождать) их, но не дает возможности открыть новые. На наш взгляд, софт отлично подойдет для отслеживания потенциальных угроз из Сети и их устранения.
Несмотря на отсутствие русскоязычного интерфейса, UPnP Wizard очень практична и может как создавать, так и освобождать порты. Единственным ограничением является требование к поддержке роутером UPnP интерфейса. Мы считаем, что этот вариант самый удобный для повсеместного использования.
Выводы
- Как реально работает сеть, и что TCP можно повторить поверх UDP и сделать лучше.
- Что TCP не так плох, если его правильно настроить, но он реально сдался и больше уже почти не развивается.
- Не верьте хейтерам UDP, которые говорят, что в user space работать не будет. Все эти проблемы можно решить. Пробуйте — это ближайшее будущее.
- Если не верите, то сеть можно и нужно трогать руками. Я показывал, как почти все можно проверить.
Настраивайте протокол (TCP, UDP — неважно) под ситуацию (профиль сети + профиль нагрузки).
Используйте рецепты TCP, которые я вам рассказал: TFO, send/recv buffer, TLS1.3, CC… Делайте свои UDP-протоколы, если есть ресурсы
Если сделали свой UDP, проверьте UDP check list, что вы сделали все, что надо. Забудете какую-нибудь ерунду типа pacing, не будет работать.
Полезные ссылки
- Миллион видеозвонков в сутки или «Позвони маме!».
- Пишем свой протокол поверх UDP.
- Подкаст про сетевую оптимизацию.
- Увеличение скорости передачи данных в плохих сетях.