Мне нужно проверить, что сервер OpenVPN (UDP) работает и доступен на заданном порту host :.
У меня только обычный компьютер под управлением Windows XP без клиента OpenVPN (и нет возможности его установить) и не требуется никаких ключей для подключения к серверу - в моем распоряжении только стандартные инструменты командной строки WinXP, браузер и PuTTY.
Если бы я тестировал что-то вроде сервера SMTP или POP3, я бы использовал telnet и посмотрел, отвечает ли он, но как это сделать с OpenVPN (UDP)?
tls-auth
параметр конфигурации, то это НЕВОЗМОЖНО (если у вас нет хотя бы внешнего ключа оболочки)! Любой пакет с неверной подписью HMAC будет отброшен сервером без ответа.Ответы:
Вот оболочка однострочная:
если на другом конце есть openvpn, вывод будет
в противном случае он будет отключен и отключится через 10 секунд или отобразит что-то другое.
ПРИМЕЧАНИЕ: это работает, только если
tls-auth
опция конфигурации не активна, в противном случае сервер отклоняет сообщения с неверным HMAC.источник
tls-auth
опцию config для отбрасывания пакетов с неправильным сигнатурой HMAC.od -x -N 14
а неcat -v
гораздо полезнее, потому что вы можете: а) видеть реальный двоичный контент, а не мусор в ASCII, и б) мгновенно получать каждую строку вывода, когда сервер отправляет каждый пакет квитирования и сразу останавливает его после первого.-N 14
потому что пакет рукопожатия имеет длину 14 байтов и просто повторяется.Извините, если я немного опоздал с ответом;)
Отправьте пакет udp со следующим содержимым:
$ 38 $ 01 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00
Сервер должен что-то ответить.
Вы можете подделать пакеты udp с помощью python:
источник
tls-auth
.Вы можете попробовать запустить следующее в CLI
Это должно перечислить все процессы, которые слушают на вашем сервере / системе. Grep для номера порта, который вы хотите
источник
Для тех, кто сталкивается с этим, кто пытается контролировать сервер, который
tls-auth
включил, вы можете использовать скрипт Python здесь: https://github.com/liquidat/nagios-icinga-openvpnВывод отформатирован для использования в Nagios или Icinga, но он может быть запущен кем угодно / кем угодно, если у вас есть python и файл ключей tls.
Например, если вы используете в
SHA256
качестве дайджеста, вы бы использовали что-то вроде:python check-openvpn.py -p 1194 --tls-auth ta.key --digest SHA256 vpn-server.example.com
Примечание: вам может потребоваться добавить в
--tls-auth-inverse
зависимости от значения сервераkey-direction
.источник
Если вы можете получить pcap действительного взаимодействия клиента OpenVPN с сервером OpenVPN, вы можете смоделировать начальный набор пакетов с помощью чего-то вроде netcat, как предложено TiZon.
По сути, вам нужно достаточно действительного первого пакета, чтобы сервер ответил хотя бы сообщением об ошибке, поэтому он не должен быть идеальным, достаточно хорошим.
Я попытался зайти на http://pcapr.net , но я не увидел там пример OpenVPN. Возможно, если кто-то еще заявляет, что служба работает, вы можете попросить этого другого человека получить пакет транзакций.
источник
если у вас есть настройка openvpn на прослушивание TCP, то это так же просто, как
при условии, что 1194 - это порт, который вы слушаете
это должно дать вам какой-то ответ, чтобы показать, что сервер openvpn прослушивает
источник