Найти - Пользователи
Полная версия: обращения программы к серверу через сокеты
Начало » Python для новичков » обращения программы к серверу через сокеты
1
Skyler
Есть программа, которая, по запросу юзера, соединяется с серваком и через сокеты посылает некие команды, в общем они там общаются и выдают юзеру результат. Собственно вопрос: можно ли сделать свою программу, имитирующую действия той программы? Т.е. самому посылать те команды и обрабатывать ответ.
Через wireshark я узнал ip сервака, куда посылаются команды. Так же есть “лог” ихнего “общения” (юзер отправляет логин и пасс серваку), вида:
…..e….Ruk…..…….логин..и_здесь.s8.O.{%…$…lj.."$
.."3……*..Oz..X..
.18x.….y.6….Ik….
(пасс я в этом не обнаружил)
или:
char peer0_0 = {
0x00, 0x00, 0x00, 0x00, 0x04, 0x65, 0x00, 0xa8,
0xc0, 0xdc, 0x52, 0x75, 0x6b };

char peer1_0 = {
0x00, 0xcf, 0xec, 0x19, 0xd9 };

char peer0_1 = {
0x00, 0x00, 0x00, 0x15, 0x02, 0x00, 0x08, 0x73,
0x74, 0x61, 0x6e, 0x6c, 0x79, 0x39, 0x31, 0x00,
0x08, 0x73, 0x74, 0x61, 0x6e, 0x6c, 0x79, 0x39,
0x31 };

char peer1_1 = {
0xac, 0x73, 0x38, 0xab, 0x4f, 0x81, 0x7b, 0x25 };

char peer0_2 = {
0x00, 0x00, 0x00, 0x24, 0xe6, 0xcf, 0xfc, 0x6c,
0x6a, 0xba, 0x85, 0x22, 0x24, 0x0d, 0x7f, 0xe7,
0x22, 0x33, 0x08, 0xb0, 0x00, 0x0c, 0x00, 0x10,
0x2a, 0xeb, 0x03, 0x4f, 0x7a, 0x84, 0xdc, 0x58,
0xf0, 0x1a, 0x0d, 0x1e, 0x31, 0x38, 0x78, 0x01 };

char peer1_2 = {
0x02, 0x00, 0xb7, 0xca, 0x79, 0xbe, 0x36, 0xe1,
0x00, 0x00, 0xd2, 0x49, 0x6b, 0x00, 0x00, 0x00,
0x00 };

Собственно: красный текст - отправленные команды, синий - принятые.
Или может можно как-нибудь контролировать их “общение”?
Ferroman
“Человек-по-середине”?
Надо разобрать протокол, в первую очередь. Уже потом - думать.
Skyler
Хм, не совсем понял, что есть “разобрать протокол”?
Ferroman
Выяснить Набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами.
Проще говоря - какими именно командами, в какой последовательности и по каким правилам обмениваются данными клиент с сервером.
Skyler
Ferroman
Собственно вопрос в моей теме так и звучит, если коротко и перефразировать: “Можно ли узнать, и если можно, то как, команды, которыми они обмениваются?”
sypper-pit
я считаю что tcpdunp ловит шифрованные пакеты, и от этого надо собрать достаточно большое количество пакетов, если ключ не плавающий…
Ferroman
Можно конечно, анализируя трафик. Я бы начал узнавать что и с чем обменивается данными, на чём написано было, попытался бы угадать что именно использовалось (может что-то стандартное). Если есть возможность - достал бы или клиента, или сервер, тогда анализировать протокол проще. Там вряд ли самописный протокол, скорее всего стандарт какой-нибудь.
Анализировать надо, короче говоря. Тут серебряной пули нету.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB