samm Posted August 7, 2016 · Report post Привет. Я решил написать клиент-сервер для mikrotik bandwith тест, чтобы можно было проводить его не только с микротик устройств. Так как протокол нигде не указан я решил его реверснуть с помощью wireshark. И у меня это практически получилось, см https://github.com/samm-git/btest-opensource/blob/master/README.md . Более того - я написал маленький proof of concept на перловке, который успешно работает и клиентом и сервером, пока правда tcp only и только в 1 тред и только без проверки аутентификации. Потом планирую переписать на plain c, чтобы можно было в ембеды пихать. Но есть 1 затык - протокол аутентификации. В случае если аутентификация включена, там явно используется что-то вроде salted md5, где salt посылается при коннекте к серверу (16 байт). Я смог понять что если пароль не задан, то клиент отвечает с md5(md5(challenge)). Если задавн - то я не смог понять логику создания хеша, но очевидно, что в нем учавстуют только challenge от сервера и пароль, от логина результат не зависит. Собственно, обращаюсь к помощи - если кто-то может глянуть под дизасмом btest.exe от mikrotik или еще как подобрать алгоритм создания хеша - это бы сильно помогло в написании полноценной замены btest. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...