Форум сайта python.su
Взбрела мне в голову мысль подтянуться в network-кодинге на питоне. Вот и задача интересная появилась - есть виндовая версия простенького сервера (написана на Mono), есть wireshark, есть клиент, который подсоединяется по вайфайке к этому серверу с внешнего устройства. Хочу написать версию этого сервера под линух на питоне. Сразу вопросы - что использовать, сокеты, twisted, tornado? Как понять структуру пакетов на основе выкладок wireshark? С чего вообще стоит начать?
Офлайн
EnchantnerСервера чего? Сервера бывают разные…
есть виндовая версия простенького сервера (написана на Mono)
EnchantnerС ассемблера. Т к вам придется заниматься реверс инженирингом некоего приложения. Если только исходников нет. Если есть, тогда с того на чем они написаны(скорее всего C++).
С чего вообще стоит начать?
EnchantnerЛучше до таких крайностей не опускаться. И это зависит от кучи параметров. Например по какому протоколу обменивается сервер и клиент. Является ли этот протокол стандартным(например TCP) или он самовыдуманный(например Micro Transport Protocol) и тд.
Как понять структуру пакетов на основе выкладок wireshark?
Отредактировано (Авг. 5, 2010 10:09:14)
Офлайн
Alex2ndrВ том-то и фишка, какой-то свой протокол. Иначе было бы слишком просто.
Сервера чего? Сервера бывают разные…
Alex2ndrТоварищ, если бы все было так просто и были исходники - я бы даже не стал сюда писать :) И причем тут C++, когда я уже написал, что написан сервер на Mono?
С ассемблера. Т к вам придется заниматься реверс инженирингом некоего приложения. Если только исходников нет. Если есть, тогда с того на чем они написаны(скорее всего C++).
Alex2ndrВ таком случае по-любому будут крайности, а общую структуру протокола wireshark определяет как стандартный TCP.
Лучше до таких крайностей не опускаться. И это зависит от кучи параметров. Например по какому протоколу обменивается сервер и клиент. Является ли этот протокол стандартным(например TCP) или он самовыдуманный(например Micro Transport Protocol) и тд.
Офлайн
EnchantnerНо что сервер то делает вы знаете?
В том-то и фишка, какой-то свой протокол. Иначе было бы слишком просто.
EnchantnerДа да… Туплю. s/C++/C#/g
И причем тут C++, когда я уже написал, что написан сервер на Mono?
EnchantnerМожно попробовать посмотреть что внутри потока передается. Выбираете какой-нить один пакет и из контекстного меню выбрать “Follow TCP Stream”
а общую структуру протокола wireshark определяет как стандартный TCP.
EnchantnerИнтереса ради погонять можно.
Я уже начинаю смиряться с мыслью, что это геморрой и того не стоит, мне просто интересно, как вообще, теоретически такое можно сделать.
Офлайн
Alex2ndrRemote-контроллер компьютера
Но что сервер то делает вы знаете?
Обмениваться он может по любому протоколу, но функционал может быть стандартным.
Alex2ndrну, не совсем C# :) но это не особо важно
Да да… Туплю. s/C++/C#/g
Alex2ndrСпасибо, интересно, почитаю.
Можно попробовать посмотреть что внутри потока передается. Выбираете какой-нить один пакет и из контекстного меню выбрать “Follow TCP Stream”
Это вот тут описано - http://www.wireshark.org/docs/wsug_html … ction.html
Офлайн