pymiproxy ay isang maliit at matamis man-in-the-middle proxy na may kakayahang paggawa ng HTTP at HTTP sa SSL.
Panimula
pymiproxy ay isang maliit, magaan ang timbang, man-in-the-middle na may kakayahang gumaganap HTTP at HTTPS (o SSL) inspeksyon proxy. Ang proxy ay nagbibigay ng isang built-in na certificate authority na may kakayahang pagbuo ng mga certificate para sa mga destinasyon na batay sa SSL. Pymiproxy ding extensible at nagbibigay ng dalawang mga pamamaraan para sa pagpapalawak ng proxy: pamamaraan ingagkakargaang labis, at isang pluggable interface. Ito ay perpekto para sa mga sitwasyon kung saan ikaw ay nasa katakut-takot nangangailangan ng isang cool na proxy upang pakialaman ang out- at / o mga in-bound na data ng HTTP.
Pag-install
Patakbuhin lamang ang sumusunod na command sa command prompt:
& Nbsp; Sudo python setup.py-install
Paggamit
Nag-aalok ng module ng ilang halimbawa sa code. Sa maikling, maaaring tumakbo pymiproxy-right-layo sa pamamagitan ng issuing ang sumusunod na command sa command prompt-:
& Nbsp; python -m miproxy.proxy
Ito ay ang magpatakbo ng pymiproxy sa DebugInterceptor plugin na output lang ang unang 100 bytes ng bawat kahilingan at tugon. Ang proxy ay tumatakbo sa port 8080 at nakikinig sa lahat ng mga address. Sige at subukan ito.
Pagpapalawak o Pagpapatupad pymiproxy
May dalawang paraan ng pagpapalawak ng proxy:
- Paunlarin at magrehistro ng Interceptor plugin; o
- Overload ang mitm_request, at mga pamamaraan mitm_response sa ProxyHandler class.
Ang desisyon sa kung aling mga paraan na iyong pipiliin upang gamitin ay ganap na nakasalalay sa kung o hindi nais mong itulak ang data ini-naharang sa pamamagitan ng isang hanay ng mga interceptors o hindi.
Interceptor Social na Plugin
Sa kasalukuyan ay dalawang uri ng mga interceptor plugin:
- RequestInterceptorPlugins: isagawa bago ang pagpapadala ng kahilingan sa remote na server; at
- ResponseInterceptorPlugins: isagawa bago ang pagpapadala ng mga tugon pabalik sa client.
Ang sumusunod na daloy ay nakuha sa pamamagitan ng pymiproxy sa mode na ito:
Natanggap 1. kahilingan Client
2. parse ang kahilingan Client
Hiling 3. Client naproseso / transformed sa pamamagitan ng Kahilingan Interceptor plugin
Nagpadala 4. Na-update kahilingan sa remote na server
5. Tugon natanggap ng remote na server
6. Tugon naproseso / transformed sa pamamagitan ng Pagtugon Interceptor plugin
Nagpadala 7. Na-update tugon sa client
Maaari kang magparehistro bilang maraming mga plugin bilang nais mo. Gayunpaman, tandaan na ang mga plugin isagawa sa pagkakasunud-sunod na sila ay nakarehistro sa. Mag-ingat sa kung paano mo irehistro ang iyong mga plugin kung ang resulta ng isang plugin ay nakasalalay sa resulta ng isa pa.
Ang sumusunod ay ay isang simpleng code na halimbawa ng kung paano patakbuhin ang proxy na may mga plugin:
mula sa pag-import miproxy.proxy RequestInterceptorPlugin, ResponseInterceptorPlugin, AsyncMitmProxy
klase DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& Nbsp; def do_request (sa sarili, data):
& Nbsp; i-print ang '>>% s'% repr (data [: 100])
& Nbsp; return data
& Nbsp; def do_response (sa sarili, data):
& Nbsp; i-print '>% s'% repr (data [: 100])
& Nbsp; return data
& Nbsp; def mitm_response (sa sarili, data):
& Nbsp; i-print '
Mga Kinakailangan :
- Python
- pyOpenSSL
Mga Komento hindi natagpuan