Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 4, 2010 17:09:46

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодинг сервера на основе имеющегося

Взбрела мне в голову мысль подтянуться в network-кодинге на питоне. Вот и задача интересная появилась - есть виндовая версия простенького сервера (написана на Mono), есть wireshark, есть клиент, который подсоединяется по вайфайке к этому серверу с внешнего устройства. Хочу написать версию этого сервера под линух на питоне. Сразу вопросы - что использовать, сокеты, twisted, tornado? Как понять структуру пакетов на основе выкладок wireshark? С чего вообще стоит начать?



Офлайн

#2 Авг. 5, 2010 10:08:11

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодинг сервера на основе имеющегося

Enchantner
есть виндовая версия простенького сервера (написана на Mono)
Сервера чего? Сервера бывают разные…

Enchantner
С чего вообще стоит начать?
С ассемблера. Т к вам придется заниматься реверс инженирингом некоего приложения. Если только исходников нет. Если есть, тогда с того на чем они написаны(скорее всего C++).

Enchantner
Как понять структуру пакетов на основе выкладок wireshark?
Лучше до таких крайностей не опускаться. И это зависит от кучи параметров. Например по какому протоколу обменивается сервер и клиент. Является ли этот протокол стандартным(например TCP) или он самовыдуманный(например Micro Transport Protocol) и тд.



Отредактировано (Авг. 5, 2010 10:09:14)

Офлайн

#3 Авг. 6, 2010 01:13:57

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодинг сервера на основе имеющегося

Alex2ndr
Сервера чего? Сервера бывают разные…
В том-то и фишка, какой-то свой протокол. Иначе было бы слишком просто.
Alex2ndr
С ассемблера. Т к вам придется заниматься реверс инженирингом некоего приложения. Если только исходников нет. Если есть, тогда с того на чем они написаны(скорее всего C++).
Товарищ, если бы все было так просто и были исходники - я бы даже не стал сюда писать :) И причем тут C++, когда я уже написал, что написан сервер на Mono?
Alex2ndr
Лучше до таких крайностей не опускаться. И это зависит от кучи параметров. Например по какому протоколу обменивается сервер и клиент. Является ли этот протокол стандартным(например TCP) или он самовыдуманный(например Micro Transport Protocol) и тд.
В таком случае по-любому будут крайности, а общую структуру протокола wireshark определяет как стандартный TCP.
Я уже начинаю смиряться с мыслью, что это геморрой и того не стоит, мне просто интересно, как вообще, теоретически такое можно сделать.



Офлайн

#4 Авг. 6, 2010 11:51:19

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодинг сервера на основе имеющегося

Enchantner
В том-то и фишка, какой-то свой протокол. Иначе было бы слишком просто.
Но что сервер то делает вы знаете?
Обмениваться он может по любому протоколу, но функционал может быть стандартным.

Enchantner
И причем тут C++, когда я уже написал, что написан сервер на Mono?
Да да… Туплю. s/C++/C#/g

Enchantner
а общую структуру протокола wireshark определяет как стандартный TCP.
Можно попробовать посмотреть что внутри потока передается. Выбираете какой-нить один пакет и из контекстного меню выбрать “Follow TCP Stream”
Это вот тут описано - http://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowTCPSection.html

Enchantner
Я уже начинаю смиряться с мыслью, что это геморрой и того не стоит, мне просто интересно, как вообще, теоретически такое можно сделать.
Интереса ради погонять можно.



Офлайн

#5 Авг. 6, 2010 13:08:07

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодинг сервера на основе имеющегося

Alex2ndr
Но что сервер то делает вы знаете?
Обмениваться он может по любому протоколу, но функционал может быть стандартным.
Remote-контроллер компьютера
Alex2ndr
Да да… Туплю. s/C++/C#/g
ну, не совсем C# :) но это не особо важно
Alex2ndr
Можно попробовать посмотреть что внутри потока передается. Выбираете какой-нить один пакет и из контекстного меню выбрать “Follow TCP Stream”
Это вот тут описано - http://www.wireshark.org/docs/wsug_html … ction.html
Спасибо, интересно, почитаю.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version