pymiproxy yra mažas ir saldus vyras-in-vidutinės proxy gali daryti HTTP ir HTTP per SSL.
Įvadas
pymiproxy yra mažas, lengvas, vyras-in-vidutinės proxy gali atlikti HTTP ir HTTPS (SSL), arba patikrinimo. Proxy suteikia built-in sertifikatą instituciją, kuri gali generuoti sertifikatus SSL pagrindu priemiesčiuose. Pymiproxy taip pat pailginamas ir suteikia du metodus išplėsti proxy metodas perkrautos ir yra Pluggable sąsaja. Tai ideali vieta atvejais, kai esate labai reikia vėsioje proxy suklastoti išdirbio ir / arba susietas HTTP duomenų.
Diegimas
Tiesiog paleiskite šią komandą į komandų eilutę:
& Nbsp; sudo python setup.py įdiegti
Naudojimas
Modulis siūlo keletą pavyzdžių kodą. Trumpai tariant, pymiproxy galima paleisti dešiniuoju kelio išdavimo šią komandą į komandų eilutę:
& Nbsp; python -m miproxy.proxy
Tai bus pasitelkti pymiproxy su DebugInterceptor įskiepiai, kuri tiesiog išveda pirmuosius 100 baitų kiekvienam prašymą ir atsako. Proxy veikia uoste 8080 ir klauso visų adresų. Eiti į priekį ir suteikti jai pabandyti.
Išplėsti arba įgyvendinimo pymiproxy
Yra du būdai, kaip išplėsti proxy:
- Parengti ir įregistruoti Interceptor įskiepiai; arba
- Apkrauti mitm_request ir mitm_response metodai, ProxyHandler klasėje.
Sprendimą, kurį metodą pasirinkti naudoti visiškai priklauso nuo to, ar jūs norite stumti duomenys yra sulaikytas per daug perėmėjų ar nenustatyta.
Interceptor Įskiepiai "
Šiuo metu yra dviejų tipų kolektoriaus įskiepių:
- RequestInterceptorPlugins: įvykdyta prieš siunčiant į nuotolinio serverio prašymą; ir
- ResponseInterceptorPlugins: vykdomos prieš siunčiant atsakymą atgal į kliento.
Žemiau srautas ėmėsi pymiproxy šiuo režimu:
Gavo 1. Klientas prašymas
2. Klientas prašymas išnagrinėtas
3. Kliento pageidavimu apdorojo / pasamdytas Užsisakyti Interceptor įskiepių
4. Atnaujinta prašymas siunčiamas nuotolinio serverio
Nuotolinio serverio 5. Gautų reagavimo
6. Atsakymas tvarkomi / pasamdytas reagavimo Interceptor įskiepių
7. Atnaujinta atsakymas siunčiami klientui
Jūs galite užsiregistruoti kaip daug įskiepių, kaip jūs norite. Tačiau reikia nepamiršti, kad įskiepių yra vykdomi tokia tvarka, kokia jie yra įregistruotas. Rūpinkitės kaip jums užregistruoti savo įskiepių, jei vienos įskiepiai rezultatas priklauso nuo kito rezultato.
Toliau yra paprastas kodas pavyzdys, kaip paleisti proxy su įskiepių:
nuo miproxy.proxy importo RequestInterceptorPlugin, ResponseInterceptorPlugin, AsyncMitmProxy
klasė DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& Nbsp; def do_request (savarankiškai, duomenys):
& Nbsp; spausdinti ">>% s '% Repr (duomenys [: 100])
& Nbsp; grąža duomenys
& Nbsp; def do_response (savarankiškai, duomenys):
& nbsp; spausdinti ">% s"% Repr (duomenys [: 100])
& Nbsp; grąža duomenys
& Nbsp; def mitm_response (savarankiškai, duomenys):
& Nbsp; spausdinti "
Reikalavimai :
- Python
- pyOpenSSL
Komentarai nerastas