Добрый вечер!
Помогите написать регулярное выражение для специфического протокола для probe в sslh.
Хочу спроксировать трафик с внешнего порта 31337 на локалхост, порт 3299. Сначала запустил:
nc -l 31337|hexdump -C 00000000 00 00 00 49 4e 49 5f 52 4f 55 54 45 00 02 28 02 |...INI_ROUTE..(.| 00000010 00 00 00 01 00 00 00 31 00 00 00 14 31 39 32 2e |.......1....192.| 00000020 31 36 38 2e 31 2e 32 30 00 33 31 33 33 37 00 00 |168.1.20.31337..|
На основе этих данных написал простой конфиг sslh.cfg:
listen: ( { host: «192.168.1.20»; port: «31337»; } ); protocols: ( { name: «diag»; host: «127.0.0.1»; port: «3299»; probe: [ «^\x00\x00\x00\x49» ] ; } );
Запускаю sslh в foreground режиме:
sslh -v --f --n -F sslh.cfg
sslh сообщает, что «probing for diag, all probes failed». Если в регулярном выражении для probe поставить «^\x00\x00\x00», то проверка отрабатывает, но хотелось бы максимально специфицировать проверку для протокола.