pymiproxy je malý a sladký man-in-the-middle zástupce schopen dělat HTTP a HTTP přes SSL.
Úvod
pymiproxy je malý, lehký, man-in-the-middle zástupce schopné provádět HTTP a HTTPS (nebo SSL) inspekce. Proxy nabízí vestavěný-in certifikační orgán, který je schopen generovat certifikáty SSL destinací na bázi. Pymiproxy je také rozšiřitelný a poskytuje dvě metody pro prodloužení Proxy: metody přetížení, a zasunovací rozhraní. Je ideální pro situace, kdy jste v zoufalé potřebě chladu plné moci manipulovat s výstupů a / nebo ve vázané dat HTTP.
Instalace
Stačí spustit následující příkaz na příkazovém řádku:
& Nbsp; sudo python setup.py nainstalovat
Použít
Modul nabízí několik příkladů v kódu. Stručně řečeno, pymiproxy lze spustit správnou pryč zadáním následujícího příkazu na příkazovém řádku-:
& Nbsp; python -m miproxy.proxy
Vyvolá pymiproxy s DebugInterceptor plugin, který pouze výstupy prvních 100 bajtů každého požadavku a odpovědi. Proxy běží na portu 8080 a naslouchá na všech adresách. Jděte do toho a zkusit to.
Rozšíření nebo Prováděcí pymiproxy
Existují dva způsoby, jak rozšířit proxy:
- Vypracovat a zaregistrovat Interceptor plugin; nebo
- Nepřetěžujte mitm_request, a metody mitm_response ve třídě ProxyHandler.
Rozhodnutí o jakou metodu se rozhodnete použít, je zcela závislé na tom, zda si přejete, aby se zasadila o údaje jsou zachyceny pomocí souboru stíhačky, nebo ne.
Interceptor Plugins
V současné době dva typy stíhacích pluginů:
- RequestInterceptorPlugins: proveden před odesláním požadavku na vzdálený server; a
- ResponseInterceptorPlugins: prováděné před odesláním odpovědi zpět klientovi.
Následující proudění je pořízena pymiproxy v tomto režimu:
1. žádost klienta obdržel
2. žádost klienta analyzovat
Žádost 3. Client zpracované / transformována na požádání Interceptor pluginy
4. Aktualizováno požadavek zaslaný na vzdálený server
5. Odpověď přijaté vzdáleným serverem
6. Reakce zpracované / transformován Response Interceptor pluginy
7. Aktualizováno odpověď odeslána klientovi
Můžete se registrovat tolik pluginů, jak budete chtít. Mějte však na paměti, že pluginy jsou prováděny v pořadí, v jakém jsou registrovány v. Postarejte se o to, jak se zaregistrovat své zásuvné moduly, pokud je výsledek jednoho pluginu je závislá na výsledku druhého.
Je následující jednoduchý kód příklad toho, jak spustit proxy s pluginy:
od miproxy.proxy importu RequestInterceptorPlugin, ResponseInterceptorPlugin, AsyncMitmProxy
třída DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& Nbsp; def do_request (self, data):
& Nbsp; print ">>% s '% látka toxická pro reprodukci (údaje [100])
& Nbsp; návrat dat
& Nbsp; def do_response (self, data):
& nbsp; print ">% s '% látka toxická pro reprodukci (údaje [100])
& Nbsp; návrat dat
& Nbsp; def mitm_response (self, data):
& Nbsp; print "
Požadavky na :
- Python
- pyOpenSSL
Komentáře nebyl nalezen