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

12.05.19

База данных - Инструменты администратора БД

Как проверить доступен ли порт сервера? Или внешний веб-сервис? Приведены несколько способов для использования на Windows-системах.

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

Для проверки доступности самого сервера обычно используется команда ping. Но, в силу того, что данная утилита работает с ICMP-пакетами, для конкретного порта проверить доступ таким образом невозможно. Кроме того, на ресурсе в целях безопасности может быть заблокирован ответ на ICMP-пакеты, соответственно, результат доступности нельзя считать однозначным, если ресурс "не пингуется".

Как проверить доступен ли порт?

 
Традиционный способ.

Первое, что приходит на ум - использовать "старый добрый" telnet.

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

C:\>telnet ks-app-02 2141

Получили в ответ "кракозябру" - значит доступ есть

Осталось выйти сначала из кракозябры по 'CTRL+]' и затем из самого telnet-а 

Microsoft Telnet> q

Загвоздка в том, что в большинстве современных Windows-систем telnet-клиент не установлен по-умолчанию, и требуется доустанавливать этот компонент. Что не всегда возможно, т.к. компьютер может быть и не своим и/или нет соответствующих прав.

 

Способ без инсталляции программ.

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

В качестве такого инструмента удобно использовать утилиту psping от Sysinternals.

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

C:\>psping ks-app-02:2141

 

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

tcping (https://elifulkerson.com/projects/tcping.php)

C:\>tcping ks-app-02 2141

 

Встроенный инструментарий.

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

Это powershell-командлет Test-NetConnection

PS C:\> Test-NetConnection ks-app-02 -Port 2141

В ответе нас интересует последняя строка - TcpTestSucceeded: True.  В данном случае - доступ есть.

Также, в ответе может содержаться еще значение PingSucceeded  - это "обычный" ping по ICMP.

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

C:\>tnc ks-app-02 -Port 2141 -InformationLevel Quiet

Разумеется, запускать командлет необходимо в окне PowerShell, а не "командной строки".

Хотя, из командной строки тоже можно, вызвав PowerShell:

C:\>powershell tnc ks-app-02 -port 2141

Следует заметить, что командлет доступен в версиях PowerShell от 4.0 и выше, т.е. начиная с Windows Server 2012 R2 и Windows 8.1

Документация: Test-NetConnection (Microsoft, eng)

 

Заключение

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

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

DataCompressionTool: Сжатие и свертка любой базы 1С

С помощью инструмента DCT можно освободить сотни гигабайт пространства и в разы повысить производительность системы.Доступна ДЕМО-версия!

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    37253    213    111    

201

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16925    73    39    

89

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    15933    61    10    

95

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    38365    114    152    

82

Администрирование Инструменты администратора БД Удаленное управление Системный администратор 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Расширение разработано для автоматизации интеграции «1С:Зарплата и управление персоналом (редакция 3.1)» с сервисом Яндекс 360 через платформу «n8n». Расширение позволяет автоматически создавать учетные записи Яндекс для новых сотрудников, обновлять данные существующих сотрудников и блокировать учетные записи уволенных сотрудников. Обмен данными осуществляется через API Яндекс 360 с использованием промежуточного сервера платформы n8n, что обеспечивает гибкость, масштабируемость и упрощение интеграционных процессов.

3600 руб.

03.04.2025    1335    3    0    

4

Инструменты администратора БД Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    11503    14    4    

22

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    64392    99    59    

82
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. i_lo 215 13.05.19 16:30 Сейчас в теме
Спасибо за psping и powershell tnc!
Сам чаще всего пользуюсь PortQryUI - https://www.microsoft.com/en-US/download/details.aspx?id=24009. Легко скачивается. Не требует установки. Командная строка или графический интерфейс. Можно тестировать набор портов.
tormozit; +1 Ответить
2. VKislitsin 1037 13.05.19 17:29 Сейчас в теме
(1) Александр, спасибо и Вам!
Протестировал, дейтвительно удобная штука. Возможность тестирования по списку или диапазону портов - просто клад!
3. starik-2005 3187 13.05.19 18:34 Сейчас в теме
https://www.shellhacks.com/ru/20-nmap-examples/

не благодарите...

https://habr.com/ru/post/399375/ - очень интересная статейка для настоящих кулхацкерофф.
4. VKislitsin 1037 13.05.19 19:09 Сейчас в теме
(3) Сергей, я прямо ждал, что nmap будет упомянут.
Насколько я понимаю, ему требуется инсталляция. По крайней мере в Windows. Или есть портабельный?
5. starik-2005 3187 13.05.19 19:13 Сейчас в теме
(4) предположу, что если его статически слинковать, то он вполне себе портабельный будет - он же опенсорсный и Вы можете творить с ним что угодно...
6. user1243696 26.06.19 10:08 Сейчас в теме
(4) Не nmap конечно https://portscaner.ru/tools-open-local-ports но программы использующие порты покажет и портабельна!
7. fd34 28.06.19 07:17 Сейчас в теме
tcping

https://www.elifulkerson.com/projects/tcping.php

Аналог стандартного ping-а, но для tcp.

........>tcping -t ya.ru 443

** Pinging continuously.  Press control-c to stop **

Probing 87.250.250.242:443/tcp - Port is open - time=28.584ms
Probing 87.250.250.242:443/tcp - Port is open - time=16.356ms
Probing 87.250.250.242:443/tcp - Port is open - time=15.093ms
Probing 87.250.250.242:443/tcp - Port is open - time=26.543ms
Probing 87.250.250.242:443/tcp - Port is open - time=21.468ms
Probing 87.250.250.242:443/tcp - Port is open - time=15.896ms
Probing 87.250.250.242:443/tcp - Port is open - time=18.567ms
Control-C

Ping statistics for 87.250.250.242:443
     7 probes sent.
     7 successful, 0 failed.  (0.00% fail)
Approximate trip times in milli-seconds:
     Minimum = 15.093ms, Maximum = 28.584ms, Average = 20.358ms
Показать
8. ManyakRus 491 17.10.19 12:47 Сейчас в теме
1) очень полезно написано :)
"в ответ "кракозябру" - значит доступ есть"
крякозябру я видел раньше, но не думал что это "доказательство"

2) а как можно свой компьютер проверить ?
(без постороннего компьютера)
на наличие открытых портов 1540-15хх
ато отладка в 1С не работала без портов,
чтоб сисадминам в морду тыкнуть :)
9. VKislitsin 1037 17.10.19 13:07 Сейчас в теме
(8)
Свой компьютер проверяется точно так же, как и любой другой. Только вместо имени удаленного компьютера подставляете "localhost" или имя, которое Вам отобразит команда hostname.
Например:
psping localhost:1540
или
powershell tnc mycompname -p 1540

Вопрос только в том, что такая проверка даст. Она ведь осуществляется "изнутри". Поэтому внешние ограничения (на уровне сетевой инфраструктуры) на неё не влияют.

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

Обычно таким образом проверяется не доступность, а именно работоспособность какой-то службы, например веб-сервера.
10. пользователь 06.09.21 14:48
Сообщение было скрыто модератором.
...
Оставьте свое сообщение