Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 18, 2010 17:55:28

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

Декодирование перехваченных http пакетов

Вариант использовать что-то типа safesquid не подходит - мне не для использования, а для демонстрационного проекта. Все равно спасибо.



Офлайн

#2 Окт. 18, 2010 22:10:16

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Декодирование перехваченных http пакетов

Вот написал на коленке

from paste.proxy import TransparentProxy
from webob import Request
from webob.exc import HTTPForbidden

class SimpleProxy(object):

def __init__(self, proxy):
self.proxy = proxy

def do_proxy(self, req, environ, start_response):
req.remove_conditional_headers()
resp = req.get_response(self.proxy)
resp.decode_content()
return resp

def __call__(self, environ, start_response):
req = Request(environ)
resp = self.do_proxy(req, environ, start_response)
return resp(environ, start_response)

class XXXProxy(SimpleProxy):

def do_proxy(self, req, environ, start_response):
resp = super(XXXProxy, self).do_proxy(req, environ, start_response)
if not self.valid(resp.body):
return HTTPForbidden()
return resp

def valid(self, body):
return not 'xxx' in body


def main():
app = XXXProxy(TransparentProxy())
from paste.httpserver import serve
serve(app, 'localhost', 3127)

if __name__ == '__main__':
main()



Офлайн

#3 Окт. 18, 2010 22:35:05

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

Декодирование перехваченных http пакетов

Огромнейшее человеческое спасибо, разобрался.



Офлайн

#4 Окт. 30, 2010 13:52:28

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Декодирование перехваченных http пакетов

zheromo, а можно так сделать вот что http://python.su/forum/viewtopic.php?id=8901 ?

akolesnikov, и как успехи с ловлей пакетов? TCP reassembling делать уже научился (хотя для заголовков это не очень принципиально)?



Офлайн

#5 Окт. 30, 2010 14:01:27

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

Декодирование перехваченных http пакетов

Я перешел к работе с прокси. Удобнее и проще.



Офлайн

#6 Окт. 30, 2010 14:05:44

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Декодирование перехваченных http пакетов

А по http://python.su/forum/viewtopic.php?id=8901 идеи есть? Как ты проки делал - готовый брал, или свой майстрячил?

>Я перешел к работе с прокси. Удобнее и проще.
Ясен фиг :) Иначе по понятиям надо корректно реализовать обработку ip/tcp.



Офлайн

#7 Окт. 30, 2010 14:08:06

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

Декодирование перехваченных http пакетов

Использую пример zheromo, все устраивает.



Офлайн

#8 Окт. 30, 2010 14:09:47

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Декодирование перехваченных http пакетов

А тебе просто логить надо было, или перехватывать / модифицировать?



Офлайн

#9 Окт. 30, 2010 14:10:49

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

Декодирование перехваченных http пакетов

Модифицировать не надо, просто выявлять.



Офлайн

#10 Окт. 30, 2010 14:12:05

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Декодирование перехваченных http пакетов

Мне модифицировать надо. Будет работать?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version