Хотите знать, как проверить соединение между двумя конечными точками сети?
Одной из распространенных задач для сетевиков является проверка возможности соединения для устранения проблем с сетью.
Это может быть что-то вроде того, что приложение не может подключиться к серверной службе, не может извлечь данные из внешнего URL-адреса, или проверить, открыт ли поток и т. д.
Как бы то ни было, вам помогут следующие утилиты / команды.
Они протестированы на CentOS 7.x, и я не вижу причин им не сработать также на другом дистрибутиве Linux.
Давайте исследуем их по порядку…
1 telnet
Одна из широко используемых команд для проверки необходимых подключений между серверами – IP-адресом другого сетевого устройства.
Синтаксис команды прост.
telnet $destinationIP $PORT
Допустим, вы хотите проверить, можете ли вы подключиться к порту 8080 по IP-адресу 10.0.0.1; тогда команда будет такой:
telnet 10.0.0.1 8080
Если проблема с подключением отсутствует, вы должны увидеть сообщение о подключении.
Trying 10.0.0.1...
Connected to 10.0.0.1.
Escape character is '^]'.
В большинстве случаев telnet должен помочь.
Однако, если вам нужен какой-то другой вариант, вот несколько альтернатив telnet.
2 ncat или nc
Ncat (a.k.a. nc) – мощная сетевая утилита со многими функциями, такими как привязка и принятие соединения, удаленное выполнение команд, запись и чтение данных и т. д.
Она работает как на IPv4, так и на IPv6.
Чтобы выполнить простой тест, дабы проверить, открыт порт или нет, выполните следующее:
nc -vz $HOSTNAME $PORT
Давайте рассмотрим пример тестирования порта 443 на itsecforu.ru
# nc -vz itsecforu.ru 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 104.25.133.107:443.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
#
Как уже упоминалось, вы также можете использовать nc для привязки соединения для прослушивания определенного порта.
Это может быть удобно, если у вас не запущены реальные службы, но вы хотите убедиться, что соединение существует.
Чтобы начать прослушивание порта:
nc -l $PORTNUMBER
Это свяжет порт с заданным номером.
Если ncat не установлен, вы можете сделать это с помощью yum install nc на серверах CentOS / RHEL.
Полезные статьи о использовании и описании команды netcat:
- ? Как проверить, открыт ли порт на нескольких удаленных системах Linux с помощью скрипта оболочки с помощью команды nc?
- Netcat vs Cryptcat — удаленная консоль для управления Kali Linux с Windows-машины
- Как использовать команду Linux Netcat в качестве сканера портов
- Как установить и использовать команду netcat в Linux
- ? 3 способа проверить, открыт ли порт на удаленной системе Linux
- Шпаргалка команд обратного Шелла ( Reverse Shell )
3 wget
wget – полезная команда для загрузки / тестирования HTTP, HTTPS и FTP.
Если вы работаете веб-инженером или часто сталкиваетесь с проблемами, связанными с Интернетом, то wget – ваш надежный товарищ и друг.
Тестирование с использованием wget простое и быстрое.
wget $URL
Вот пример тестирования tools.itsecforu.ru
# wget tools.itsecforu.ru
--2019-05-09 20:40:01-- http://tools.itsecforu.ru
Resolving tools.itsecforu.ru (tools.itsecforu.ru)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b,
... Connecting to tools.itsecforu.ru (tools.itsecforu.ru)|104.25.134.107|:80... connected.
HTTP request sent, awaiting response...
301 Moved Permanently Location: https://tools.itsecforu.ru [following] --2019-05-09 20:40:01--
tools.itsecforu.ru Connecting to tools.itsecforu.ru(tools.itsecforu.ru)|104.25.134.107|:443... connected. HTTP request sent, awaiting response...
200 OK Length: unspecified Saving to: 'index.html.2'
[ <=>
2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139]
Если он показывает connected, значит, проблема с подключением отсутствует.
см. также:
- HTTPie — современный HTTP-клиент, похожий на команды Curl и Wget
- Как использовать wget для загрузки файла через прокси
- FreeBSD wget не может проверить сертификат, выданный Let’s Encrypt
- Установить и настроить wget на macOS Sierra 10.12 и исправить ошибку SSL GNUTLS
4 curl
Curl – это многоцелевой инструмент.
Знаете ли вы, что вы можете использовать подключение по telnet к порту с помощью curl?
Ну, теперь вы знаете. 🙂
curl -v telnet://$IP:$PORT
Ниже приведен рабочий пример.
# curl -v telnet://chandan.io:443
* About to connect() to chandan.io port 443 (#0)
* Trying 104.31.68.106...
* Connected to chandan.io (104.31.68.106) port 443 (#0)
И, когда нет проблем с портом прослушивания или брандмауэром, вы увидите, что-то вроде такого вывода.
# curl -v telnet://chandan.io:4434
* About to connect() to chandan.io port 4434 (#0)
* Trying 104.31.68.106...
Вы также можете использовать curl для загрузки данных. Он поддерживает несколько протоколов – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER и т. д.
Интересные статьи про инструмент Curl
- ⌨️ Как установить CURL на Windows 10
- ? Как проверить внешний IP-адрес с помощью службы DNS
- Как настроить прокси в CentOS / RHEL / Fedora
5 nmap
О нем мы говорили тут миллион раз 🙂
И наверное этот инструмент не нуждается в представлении, но всеже.
Популярный инструмент с сотнями функций.
Часто он рассматривается как инструмент безопасности.
Nmap позволяет тестировать один IP / порт или в диапазоне.
Чтобы проверить один порт
nmap -p $PORT $IP
Пример тестирования порта 443 на siterelic.com
]# nmap -p 443 siterelic.com
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC
Nmap scan report for siterelic.com (104.27.174.50)
Host is up (0.0079s latency).
Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
Посмотрите на столбец состояния.
Если вы видите open, значит, соединение в порядке.
И, если состояние filtered, это означает, что подключение не существует.
Некоторые полезные статьи по Nmap
? Перечислите общие ресурсы NetBIOS с помощью NBTScan и Nmap Scripting Engine
Как сканировать удаленный хост на открытые порты с помощью портативного сканера nmap
Быстрый SQL Server пентест с NMAP
Как установить Nmap 7.01 и использовать его в Linux Mint 18.3
Как установить NMAP в Windows с примерами использования в реальном времени
Сканирование на ошибку SSL heartbleed помощью Nmap на Kali Linux
Как перечислить каталоги веб-серверов с помощью Nmap на Kali Linux
Отключение портов 135 и 445 / Сканирование на уязвимость Nmap
??♂️ Топ 10 инструментов кибербезопасности для пентеста в 2019
Заключение
Telnet постепенно отключается в последней версии Linux.
Но всегда есть вышеупомянутые альтернативы telnet.