Что за порт 443 и как его открыть?
Содержание:
- Как открыть порт 443 на windows 7 через командную строку
- Уязвимости сервисов
- Как они используются
- Почему важно знать, какие порты открыты на компьютере?
- Как сделать forwarding и перенаправить порты
- Уязвимости HTTPS
- История создания
- Как открыть порты на роутере самостоятельно
- Детали
- Детали
- Ошибка конфигурации
- Зачем сравнивать TCP или что с ним не так
- Широко известные примеры
- Примечания
- IP адрес 0.0.0.0
- Используем PortQry для сканирования открытых UDP и TCP портов
- Структура
- Выводы
Как открыть порт 443 на windows 7 через командную строку
Когда вы набьете руку и вам надоест щелкать однотипные окна в брандмауэре Windows или вы захотите, все автоматизировать, то вам в этом поможет, командная строка запущенная с правами администратора. Вам необходимо выполнить такую команду:
- netsh advfirewall firewall add rule – добавление правила
- name – имя
- protocol – тип протокола
- localport – открываемый порт
- action – действие
- dir – тип соединения (входящий или исходящий)
Проверяем добавление нашего правила.
Как быть если порт закрыт?
Сейчас мы говорим. про ситуации когда 443 соединение блокируется системным администратором или интернет провайдером. В обоих случаях необходимо связываться с вышестоящими инстанциями и рассказывать, что вам необходимо открыть открыть порт 443 windows, своими силами вы уже не обойдетесь. Еще очень частым вопросом, бывает, как проделать все те же действия на сетевых устройствах, однозначного ответа нет, так как у всех это делается по разному, изучайте документацию. По своей практике могу точно сказать, что провайдеры любят лочить 25 SMTP подключения, чтобы спам не рассылали. Уверен, что вы теперь знаете, как все открывать и сможете это использовать на практике.
Как правило, о существовании такого понятия, как закрытый порт, люди узнают не при самых приятных обстоятельствах. Чаще всего это происходит в том случае, когда какая-либо компьютерная программа отказывается работать как следует. Сообщение о необходимости открытия 443 порта может возникнуть в окне самой программы. Также его можно найти на форуме, посвященном данной проблеме. В любом случае, предлагаем вам немного углубиться в данную тему и, соответственно, понять, что такое порт 443, как его открывать и нужно ли это делать.
Уязвимости сервисов
Во всем популярном ПО рано или поздно находят ошибки, даже в самых оттестированных и самых критичных. В среде ИБэшников, есть такая полу-шутка — безопасность инфраструктуры можно смело оценивать по времени последнего обновления. Если ваша инфраструктура богата торчащими в мир портами, а вы ее не обновляли год, то любой безопасник вам не глядя скажет, что вы дырявы, и скорее всего, уже взломаны.
Так же стоит упомянуть, что все известные уязвимости, когда-то были неизвестными. Вот представьте хакера, который нашел такую уязвимость, и просканировал весь интернет за 7 минут на ее наличие… Вот и новая вирусная эпидемия ) Надо обновляться, но это может навредить проду, скажете вы. И будете правы, если пакеты ставятся не из официальных репозиториев ОС. Из опыта, обновления из официального репозитория крайне редко ломают прод.
Как они используются
Приложения, реализующие общие службы, часто используют специально зарезервированный и хорошо известный список портов TCP и UDP для приема запросов на обслуживание от клиентов. Этот процесс известен как прослушивание, и он включает в себя получение запроса с хорошо известного порта и установления диалога между сервером и клиентом «один-к-одному», с использованием одного и того же номера локального порта. Другие клиенты могут продолжать подключаться — это возможно, так как соединение TCP идентифицируется как цепочка, состоящая из локального и удаленного адресов и портов. Стандартные порты TCP и UDP определяются по соглашению под контролем Internet Assigned Numbers Authority (IANA).
Ядро сетевых сервисов (в первую очередь, WorldWideWeb), как правило, использует небольшие номера портов — меньше, чем 1024. Во многих операционных системах требуются специальные привилегии для приложений для привязки к ним, потому что они часто считаются критическими для функционирования IP-сетей. С другой стороны, конечный клиент соединения, как правило, применяет большое их количество, выделенных для краткосрочного использования, поэтому существуют так называемые эфемерные порты.
Почему важно знать, какие порты открыты на компьютере?
Открытый порт на вашем компьютере (если не настроен файервол для запрета входящих соединений) означает, что к вашему компьютеру можно подключиться из вне.
Если с вашим компьютером случалась такая неприятность как заражение трояном, бэкдором (вирусы, которые позволяют злоумышленнику удалённо подключаться к вашему компьютеру и управлять им), то обычно такой бэкдор открывает порт и прослушивает сеть, в ожидании входящего соединения (хотя могут быть варианты).
Ещё один пример, когда нужно определить, какая именно служба прослушивает порт: вы пытаетесь установить сетевую службу (веб-сервер Apache или СУБД MySQL), а они не запускаются, так как какая-то другая служба уже заняла их порт, который они используют по умолчанию. В этом случае нужно найти эту службу и отключить её или настроить на работу с другим портом.
Но, как и во многих IT задачах (да и вообще во многих профессиональных сферах), получить данные это только самое начало. Главное — это правильно их истолковать и понять.
Поэтому в этой статье мы рассмотрим, как узнать, какие порты открыты, как проверить, какая служба прослушивает определённый порт, а также научимся правильно понимать вывод команды NETSTAT и аналогичных.
Как сделать forwarding и перенаправить порты
Функция forwarding необходима для двух целей: во-первых, чтобы организовать переброс различных ip-адресов и портов и создания туннелей, а во-вторых, агент forwarding позволяет клиенту переходить между серверами. Начнем со второго предназначения агента forwarding – он нужен, если у вас не один сервер и вы не хотите каждый раз проходить авторизацию заново, а желаете используя один и тот же публичный ключ перемещаться с сервера 1 на сервер 2. Чтобы настроить такой forwarding, вам необходимо изменить настройки файла конфигураций – прописать следующую строку в нем: ForwardAgent yes.
Теперь разберемся с туннелями между хостами и тем, как при помощи forwarding настроить переброс с одного ip-хоста с определенным портом на другой. А сделать это весьма просто. К примеру, если вы хотите настроить 2220 порт для переброса ip-адреса 97.86.77.66 на 10.12.11.13 мы вводим следующую строку: ssh -f -N -R 2222:10.12.11.13:22 username@97.86.77.66. Где буква -f это и есть функция forwarding. Теперь, когда пользователь введет запрос для получения доступа к локальному хосту 97.86.77.66, сработает переброс (forwarding) и он будет перемещен на 2222-й порт 10.12.11.13. Аналогично этому принципу можно настроить forwarding для перебрасывания любого ресурса куда угодно, к примеру, для перенаправления в Сеть.
Что касается целей создания туннелей, они могут быть самыми разнообразными. Поскольку SSH использует шифрование данных, то туннелирование может понадобится для передачи различных зашифрованных файлов, например, IMAP IRC или VNC. Туннелирование позволит вам принимать на сервер различные типы трафика. Кроме того, часто перенаправление портов и IP-адресов используют для обхода плохо настроенных маршрутиризаторов, сетевых анализаторов трафика и прочих ограничителей. Но учитывайте, что после добавления переадресации, возможно, понадобится изменить настройки некоторых программ, через которые вы осуществляете соединение по SSH каналам.
Уязвимости HTTPS
Совместное использование HTTP и HTTPS
Когда сайты используют смешанную функциональность HTTP и HTTPS, это потенциально приводит к информационной угрозе для пользователя. Например, если основные страницы некоторого сайта загружаются, используя HTTPS, а CSS и JavaScript загружаются по HTTP, то злоумышленник в момент загрузки последних может подгрузить свой код и получить данные HTML-страницы. Многие сайты, несмотря на такие уязвимости, загружают контент через сторонние сервисы, которые не поддерживают HTTPS. Механизм HSTS позволяет предотвратить подобные уязвимости, заставляя принудительно использовать HTTPS соединение даже там, где по умолчанию используется HTTP.
Атаки с использованием анализа трафика
В HTTPS были обнаружены уязвимости, связанные с анализом трафика. Атака с анализом трафика — это тип атаки, при которой выводятся свойства защищённых данных канала путём измерения размера трафика и времени передачи сообщений в нём. Анализ трафика возможен, поскольку шифрование SSL/TLS изменяет содержимое трафика, но оказывает минимальное влияние на размер и время прохождения трафика. В мае 2010 года исследователи из Microsoft Research и Университета Индианы обнаружили, что подробные конфиденциальные пользовательские данные могут быть получены из второстепенных данных, таких например, как размеры пакетов. Анализатор трафика смог заполучить историю болезней, данные об использовавшихся медикаментах и проведённых операциях пользователя, данные о семейном доходе и пр. Всё это было произведено несмотря на использование HTTPS в нескольких современных веб-приложениях в сфере здравоохранения, налогообложения и других.
Человек посередине. HTTPS
Рис.1 Стандартная конфигурация сети. Пользователь на хосте клиента (CH) хочет осуществить безопасную транзакцию, но уязвим для атаки «человек в середине».
Основная статья: Человек посередине
При атаке «человек посередине» используется то, что сервер HTTPS отправляет сертификат с открытым ключом в браузер. Если этот сертификат не заслуживает доверия, то канал передачи будет уязвимым для атаки злоумышленника. Такая атака заменяет оригинальный сертификат, удостоверяющий HTTPS-сервер, модифицированным сертификатом. Атака проходит успешно, если пользователь пренебрегает двойной проверкой сертификата, когда браузер отправляет предупреждение. Это особенно распространено среди пользователей, которые часто сталкиваются с самозаверенными сертификатами при доступе к сайтам внутри сети частных организаций.
На рис. 1 представлена ситуация, когда злоумышленник является шлюзом между клиентом, осуществляющим безопасную транзакцию, и сервером. Таким образом через злоумышленника проходит весь трафик клиента и он может перенаправить его по своему усмотрению. Здесь делаются следующие шаги:
- Злоумышленник встраивается между клиентом и сервером
- Пересылает все сообщения от клиента серверу без изменений
- Перехват сообщений от сервера, посланных по шлюзу по умолчанию
- Создание самозаверенного сертификата и подмена им сертификата сервера
- Отправление ложного сертификата клиенту
- Когда клиент подтвердит сертификат, будут установлены защищённые соединения: между злоумышленником и сервером и другое — между злоумышленником и клиентом.
В итоге такой атаки клиент и сервер думают, что осуществляют безопасное соединение, однако злоумышленник теперь также имеет закрытый ключ и может расшифровать любое сообщение в канале.
История создания
Концепция номера порта была создана ранними разработчиками ARPANET в условиях неформального сотрудничества авторов программного обеспечения и системных администраторов.
Термин «номер порта» еще не использовался в то время. Номерной ряд для удаленного хоста был 40-битным числом. Первые 32 бита были похожи на сегодняшний IPv4-адрес, но при этом наиболее значимыми были первые 8 бит. Наименее значительная часть числа (биты с 33 по 40) обозначали другой объект, который назывался AEN. Это и есть прототип современного номера порта.
26 марта 1972 года было впервые предложено создание каталога номеров сокета в RFC 322. Администраторов сети призвали описать каждый постоянный номер на предмет его функций и сетевых услуг. Этот каталог был впоследствии опубликован в RFC 433 в декабре 1972 года и включал в себя список хостов, их номера портов и соответствующую функцию, используемую на каждом узле в сети. В мае 1972 года впервые были задокументированы официальные назначения номеров портов, сетевых служб, а также предложена специальная административная функция для ведения этого реестра.
Первый список TCP-портов имел 256 значений AEN, которые были разделены на следующие диапазоны:
- От 0 до 63: стандартные функции всей сети
- От 64 до 127: хост-специфичные функции
- От 128 до 239: зарезервированные для будущего использования
- От 240 до 255: любая экспериментальная функция.
Служба Telnet получила первое официальное присвоение значения 1. В начале существования ARPANET термином AEN также называли имя сокета, которое использовалось с первоначальным протоколом соединения (MSP) и компонентом программы управления сетью (NCP). При этом NCP был предшественником современных Интернет-протоколов, использующих порты TCP/IP.
Как открыть порты на роутере самостоятельно
Как уже говорилось выше, в заводских настройках любого роутера нет никаких настроек портов и все исходящие запросы блокируются. Чтобы открыть порт (один или несколько), нужно через веб-интерфейс маршрутизатора произвести нужные настройки.
Следует отметить, что открытие того или иного порта настраивается не для маршрутизатора, а для клиента (компьютера), который к роутеру подключён. Если в вашей домашней сети пятеро пользователей, которым нужно открыть порт №20 (к примеру), в соответствующем разделе веб-интерфейса надо будет внести пять записей с настройками, отдельно для каждого компьютера.
Для TP-Link
На роутерах семейства TP-Link открыть и настроить порт, можно при помощи простой пошаговой инструкции.
- Откройте интернет-браузер, в строке адреса введите сетевой адрес роутера. Выше в статье рассматривалось, как этот адрес узнать.
- Введите логин и пароль пользователя. По умолчанию парольная пара — admin/admin.
-
Откроется веб-интерфейс роутера, меню управления в нём находится в левой колонке.
-
Откройте Переадресация->Виртуальные серверы, затем нажмите кнопку «Добавить….», чтобы вызвать диалог добавления и настройки нового порта.
-
Введите номер порта, который нужно добавить в поле «Порт сервиса». В поле IP-адрес вводится адрес компьютера, который должен получить к порту доступ. Поле «Протокол» определяет типа данных, которыми будет обмениваться порт: TCP, UDP или ALL. Поле «Статус» выставляете в «Включено», чтобы порт стал активным.
- Кнопкой «Сохранить» применяете изменения.
Видео: открытие портов на роутере TP-Link
Порт не открывается — что делать?
Возможность открыть тот или иной порт зависит также от политики интернет-провайдера, услуг, доступных в рамках вашего тарифного плана, а также инфраструктуры сети. Особенно это касается абонентов, живущих в многоквартирных домах. С целью снижения расходов на прокладку сети в рамках дома/подъезда, провайдер устанавливает в них недорогие маршрутизаторы, а чтобы такие устройства могли стабильно работать с большим количеством подключённых пользователей — существенно ограничивает возможности.
Наивно ожидать от такого «железа» приличного быстродействия
В частности — блокируются порты, используемые торрент-трекерами, IP-адреса выделяются «серые» (из адресного пространства внутридомового маршрутизатора). Таким образом, чтобы настроить проброс портов, пользователю нужно настроить не свой, домашний роутер, а внутриподъездный, что на практике — неосуществимо.
Решением проблемы будет переход на более дорогой тарифный план, где ограничений не будет либо подключение услуги постоянного (статического) IP-адреса, что сделает возможным конфигурирование портов с домашнего маршрутизатора.
Убедитесь также, что установленные на клиентских компьютерах программы-брандмауэры или антивирусные пакеты, которые защищают интернет-соединение в реальном времени не блокируют обращение к портам извне.
Как поменять или добавить порт в роутер
Все изменения в конфигурации портов вносятся через веб-интерфейс роутера. Возможно также конфигурировать роутер через Telnet, но умеющий такое делать пользователь эту статью читать не станет. Рассмотрим добавление порта на примере веб-интерфейса роутера семейства TP-Link.
- Откройте интернет-браузер, в строке адреса введите сетевой адрес роутера.
- Введите логин и пароль пользователя. По умолчанию парольная пара — admin/admin.
- Откроется веб-интерфейс роутера, меню управления в нём находится в левой колонке.
-
Откройте Переадресация->Виртуальные серверы. Откроется окно со списком уже открытых портов. Возле каждого элемента есть кнопки «изменить» и «удалить», с помощью которых можно либо изменить конфигурацию добавленного порта, либо удалить его из списка.
- Нажатием кнопки «Добавить новый» откроется уже рассмотренный выше диалог добавления порта. После ввода информации и подтверждения порт добавится к списку уже имеющихся.
Детали
Протоколы передачи данных – Transmission Control Protocol (TCP) и User Datagram Protocol (UDP) — применяются для того, чтобы указать номер порта назначения и источник в своих заголовках сегментов. Номер порта представляет собой 16-разрядное целое число без знака. Таким образом, он может быть в диапазоне от 0 до 65535.
Тем не менее TCP-порты не могут использовать номер 0. Порт источника для UDP не обязателен, и значение, равное нулю, означает его отсутствие.
Процесс связывает свои входные или выходные каналы через интернет-сокет (тип дескриптора файла) посредством транспортного протокола, номера порта и IP-адреса. Этот процесс известен как связывание, и он дает возможность передачи и приема данных через сеть.
Сетевое программное обеспечение операционной системы отвечает за передачу исходящих данных из всех портов приложений в сеть, а также переадресацию прибывающих сетевых пакетов (путем сопоставления IP-адреса и номера). Только один процесс можно привязать к определенному IP-адресу и комбинации портов, используя один и тот же транспортный протокол. Общие сбои приложений, которые иногда называют порт-конфликтами, возникают, когда несколько программ пытаются связаться с одними и теми же номерами портов на том же IP-адресе, используя тот же протокол.
Детали
Протоколы передачи данных – Transmission Control Protocol (TCP) и User Datagram Protocol (UDP) — применяются для того, чтобы указать номер порта назначения и источник в своих заголовках сегментов. Номер порта представляет собой 16-разрядное целое число без знака. Таким образом, он может быть в диапазоне от 0 до 65535.
Тем не менее TCP-порты не могут использовать номер 0. Порт источника для UDP не обязателен, и значение, равное нулю, означает его отсутствие.
Процесс связывает свои входные или выходные каналы через интернет-сокет (тип дескриптора файла) посредством транспортного протокола, номера порта и IP-адреса. Этот процесс известен как связывание, и он дает возможность передачи и приема данных через сеть.
Сетевое программное обеспечение операционной системы отвечает за передачу исходящих данных из всех портов приложений в сеть, а также переадресацию прибывающих сетевых пакетов (путем сопоставления IP-адреса и номера). Только один процесс можно привязать к определенному IP-адресу и комбинации портов, используя один и тот же транспортный протокол. Общие сбои приложений, которые иногда называют порт-конфликтами, возникают, когда несколько программ пытаются связаться с одними и теми же номерами портов на том же IP-адресе, используя тот же протокол.
Ошибка конфигурации
Наиболее типичная и опасная ситуация. Как это бывает. Разработчику надо быстро проверить гипотезу, он поднимает временный сервер с mysql/redis/mongodb/elastic. Пароль, конечно, сложный, он везде его использует. Открывает сервис в мир — ему удобно со своего ПК гуём коннектиться без этих ваших VPN. А синтаксис iptables вспоминать лень, все равно сервер временный. Еще пару дней разработки — получилось отлично, можно показывать заказчику. Заказчику нравится, переделывать некогда, запускаем в ПРОД!
Пример намеренно утрированный с целью пройтись по всем граблям:
- Ничего нет более постоянного, чем временное — не люблю эту фразу, но по субъективным ощущениям, 20-40% таких временных серверов остаются надолго.
- Сложный универсальный пароль, который используется во многих сервисах — зло. Потому что, один из сервисов, где использовался этот пароль, мог быть взломан. Так или иначе базы взломанных сервисов стекаются в одну, которая используется для *.
Стоит добавить, что redis, mongodb и elastic после установки вообще доступны без аутентификации, и часто пополняют коллекцию открытых баз. - Может показаться, что за пару дней никто не насканит ваш 3306 порт. Это заблуждение! Masscan — отличный сканер, и может сканировать со скоростью 10М портов в секунду. А в интернете всего 4 миллиарда IPv4. Соответственно, все 3306-ые порты в интернете находятся за 7 минут. Карл!!! Семь минут!
«Да кому это надо?» — возразите вы. Вот и я удивляюсь, глядя в статистику дропнутых пакетов. Откуда за сутки 40 тысяч попыток скана с 3-х тысяч уникальных IP? Сейчас сканят все кому не лень, от мамкиных хакеров до правительств. Проверить очень просто — возьмите любую VPS’ку за $3-5 у любого** лоукостера, включите логирование дропнутых пакетов и загляните в лог через сутки.
Зачем сравнивать TCP или что с ним не так
- packet loss — примерно 0,6% пакетов, которые мы отправляем, теряются по пути;
- reordering — перестановка пакетов местами, в реальной жизни довольно редкое явление, но случается в 0,2% случаев;
- jitter — когда пакеты отправляются равномерно, а приходят очередями с задержкой примерно в 50 мс.
Как вычислить RTT
RIPE Atlasбеспроводные сети популярны и нестабильны
- Более 80% пользователей используют беспроводной интернет;
- Параметры беспроводных сетей динамично меняются в зависимости, например, от того, что пользователь повернул за угол;
- Беспроводные сети имеют высокие показатели packet loss, jitter, reordering;
- Фиксированный ассиметричный канал, смена IP-адреса.
TCP в нестабильных сетях
меньше половины канала
- Беспроводные мобильные сети победили и нестабильны.
- TCP не до конца утилизирует канал в нестабильных сетях.
- Потребление контента зависит от скорости интернета: чем выше скорость интернета, тем больше пользователи смотрят, а мы очень любим наших пользователей и хотим, чтобы они смотрели больше.
Широко известные примеры
Примеры, находящиеся в данном списке, включают в себя:
- TCP 443 порт: HTTP Secure (HTTPS).
- 21: File Transfer Protocol (FTP).
- 22: Secure Shell (SSH).
- 25: Простой протокол передачи почты (SMTP).
- 53: Система доменных имен (DNS).
- 80: Протокол передачи гипертекста (HTTP).
- 119: Протокол передачи сетевых новостей (NNTP).
- 123: Протокол сетевого времени (NTP)..
- 143: Internet Message Access Protocol (IMAP)
- 161: Простой протокол управления сетью (SNMP)1.
- 94: Internet Relay Chat (IRC).
Зарегистрированные порты содержат номера от 1024 до 49151. IANA поддерживает официальный список известных и зарегистрированных диапазонов. Динамические или частные — от 49152 до 65535. Один из вариантов использования этого диапазона предназначен для временных портов.
Примечания
- ↑
- ↑ , с. 242—243.
- , с. 258—263.
- , с. 502—503.
- Габариты судов для внутренней акватории; внешний рейд позволяет принимать суда с габаритами 260 / 46 / 16
- Габариты судов для внутренней акватории; внешний рейд позволяет принимать суда с осадкой до 19 м, выносные причалы — суда с длиной 324 м и шириной 58 м
- ↑ На территории Крыма, присоединение которой к РФ не получило международного признания
- ↑ без ограничений
- Габариты судов для внутренней акватории; внешний рейд позволяет принимать суда с габаритами 140 / 14 / 4,5
- Габариты судов смешанного типа; габариты для морских судов — 90 / 16 / 3,6
- Габариты судов для внутренней акватории; внешний рейд позволяет принимать суда с габаритами 162,1 / 22,8 / 9,9
- ↑
- ↑
- ↑
- ↑
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.
Адрес 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 может использоваться для явного указания, что целевой хост недоступен.
Это было больше просто для справки и для расширения кругозора, а теперь продолжаем с нашими открытыми портами.
Используем PortQry для сканирования открытых UDP и TCP портов
В Windows 10 вы можете установить portqry через менеджер пакетов Chokolatey:
Скачайте и распакуйте архив PortQryV2.exe. Запустите командную строку и перейдите в каталог с утилитой, например:
Чтобы проверить доступность DNS сервера с клиента, необходимо проверить открыты ли на нем 53 порты TCP и UDP. Формат команды проверки доступности портов на удаленном сервере следующий:
-n – имя или IP адрес сервера, доступ к которому нужно проверить—e – номер порта для проверки (от 1 до 65535)—r – диапазон портов для проверки (например, 1:80)—p – по какому протоколу выполняется проверка. Это может быть TCP, UDP или BOTH (по умолчанию используется TCP).
Примечание. В отличии от комадлета PowerShell Test-NetConnection, который может использоваться только для проверки доступности TCP портов, утилита PortQry поддерживает и TCP и UDP протоколы.
В нашем примере команда будет такой:
Утилита Portqry для каждого указанного порта вернет один из трех статусов доступности:
- Listening – означает, что указанный порт доступен (принимает соединения), ответ от него получен;
- Not Listening – на целевой системе не запушен процесс (служба), который бы принимал подключения на указанном порту. Portqry получила ответ ICMP «Destination Unreachable — Port Unreachable» при проверке UDP порта, или TCP пакет с флагом Reset;
- Filtered – утилита PortQry не получала ответа от указанного порта либо ответ был отфильтрован. Т.е. на целевой системе либо не слушается данный порт, либо доступ к нему ограничен файерволом или настройками системы. По умолчанию TCP порты опрашиваются 3 раза, а UDP – один.
В нашем примере, DNS сервер доступен с клиента и по TCP и по UDP.
TCP port 53 (domain service): LISTENING UDP port 53 (domain service): LISTENING
С помощью атрибута —o, можно указать последовательность портов, которых нужно просканировать:
Следующая команда выполнит сканирование диапазона “низких” TCP портов и вернет список доступных портов, которые принимают подключения (утилита работает в режиме сканера открытых портов):
Можно сохранить результаты сканирования открытых портов в текстовый файл:
В утилите portqry есть интерактивный режим:
Теперь в приглашении PortQry Interactive Mode можете указать имя удаленного компьютера и порт.
Чтобы выполнить проверить порт на указанном сервере нажмите q и Enter.
С помощью аргументов –wport и -wpid можно выполнить мониторинг состояния указанного порта (wport), или всех портов, связанных с указанным процессом (wpid) на локальном хосте.
Например, следующая команда в течении 10 минут будет выполнять проверку доступности указанного локального порта (например, RDP порта 3389), и если его статус изменится, уведомит администратора об этом (подробный лог будет доступен в файле LogFile.txt). Чтобы остановить мониторинг, нажмите :
Можно получить информацию об открытых портах и активных TCP/UDP соединениях на локальном компьютере:
Структура
TCP-порты закодированы в заголовке пакета транспортного протокола, и они легко могут быть интерпретированы не только передающим и принимающим компьютерами, но и другими компонентами сетевой инфраструктуры. В частности межсетевые экраны, как правило, настроены различать пакеты в зависимости от их источника или номеров порта назначения. Перенаправление является классическим примером этому.
Практика попыток подключения к диапазону портов последовательно на одном компьютере известна как их сканирование. Это, как правило, связано либо с попытками злонамеренного сбоя, либо же сетевые администраторы ищут возможные уязвимости, чтобы помочь предотвратить такие нападения.
Действия, направленные на то, как открыть TCP-порт, часто контролируются и регистрируются с помощью компьютеров. Такая техника использует ряд запасных соединений, для того чтобы обеспечить бесперебойное соединение с сервером.
Выводы
- Как реально работает сеть, и что TCP можно повторить поверх UDP и сделать лучше.
- Что TCP не так плох, если его правильно настроить, но он реально сдался и больше уже почти не развивается.
- Не верьте хейтерам UDP, которые говорят, что в user space работать не будет. Все эти проблемы можно решить. Пробуйте — это ближайшее будущее.
- Если не верите, то сеть можно и нужно трогать руками. Я показывал, как почти все можно проверить.
Настраивайте протокол (TCP, UDP — неважно) под ситуацию (профиль сети + профиль нагрузки).
Используйте рецепты TCP, которые я вам рассказал: TFO, send/recv buffer, TLS1.3, CC…
Делайте свои UDP-протоколы, если есть ресурсы.
Если сделали свой UDP, проверьте UDP check list, что вы сделали все, что надо. Забудете какую-нибудь ерунду типа pacing, не будет работать.
Полезные ссылки
- Миллион видеозвонков в сутки или «Позвони маме!».
- Пишем свой протокол поверх UDP.
- Подкаст про сетевую оптимизацию.
- Увеличение скорости передачи данных в плохих сетях.