pymiproxy jest małe i słodkie man-in-the-middle proxy stanie zrobić HTTP i HTTP over SSL.
Wprowadzenie
pymiproxy jest mały, lekki, man-in-the-middle, zdolny do wykonywania proxy HTTP i HTTPS (SSL) lub kontroli. Pełnomocnik zapewnia wbudowany urząd certyfikacji, który jest zdolny do generowania certyfikatów SSL dla miejsc opartych. Pymiproxy jest także rozszerzalny i oferuje dwie metody rozszerzenie proxy: Metoda przeciążenia, oraz wtykami interfejs. Jest idealnym rozwiązaniem dla sytuacji, gdy jesteś w wielkiej potrzebie chłodnym pełnomocnika manipulować danymi uliczne oraz / lub związana HTTP.
instalacji
Wystarczy uruchomić następujące polecenie w wierszu polecenia:
& Nbsp; sudo python setup.py install
Zastosowanie
Moduł oferuje kilka przykładów w kodzie. W skrócie, pymiproxy można uruchomić prawy-away, wydając następujące polecenie w wierszu poleceń:
& Nbsp; python -m miproxy.proxy
Spowoduje to wywołanie pymiproxy z wtyczką DebugInterceptor które po prostu wyświetla pierwsze 100 bajtów każdego żądania i odpowiedzi. Pełnomocnik działa na porcie 8080 i nasłuchuje na wszystkich adresach. Śmiało i spróbować.
Rozszerzenie lub pymiproxy Wdrażanie
Istnieją dwa sposoby na rozszerzenie proxy:
- Opracowanie i zarejestrować wtyczkę Interceptor; lub
- Przeciążenie mitm_request i metody mitm_response w klasie ProxyHandler.
Decyzja o której metody użyjesz zależy całkowicie od tego, czy chcesz, aby przesunąć dane przed przechwyceniem przez zestaw kolektorów, czy nie.
Interceptor Wtyczki
Obecnie istnieją dwa rodzaje wtyczek przechwytujących:
- RequestInterceptorPlugins: wykonywany przed wysłaniem żądania do serwera zdalnego; no i
- ResponseInterceptorPlugins: wykonane przed wysłaniem odpowiedzi do klienta.
Po przepływu podejmuje pymiproxy w tym trybie:
1. Klient otrzymał wniosek
2. Żądanie klienta analizowane
Wniosek 3. Klient przetworzone / zwerbowany przez Zapytanie wtyczek Interceptor
4. Aktualizacja zapytanie wysyłane do zdalnego serwera
5. Odpowiedź otrzymana przez zdalny serwer
6. Odpowiedź przetwarzane / zwerbowany przez wtyczek Interceptor odpowiedzi
7. Aktualizacja odpowiedzi wysłane do klienta
Możesz zarejestrować się jako wiele wtyczek, jak chcesz. Jednak należy pamiętać, że wtyczki są wykonywane w kolejności ich zarejestrowanych w. Uważaj w jaki sposób zarejestrować swoje wtyczki, jeśli wynik jednej wtyczki zależy od wyniku innego.
Poniżej znajduje się prosty przykład kod jak uruchomić proxy z wtyczek:
z miproxy.proxy importu RequestInterceptorPlugin, ResponseInterceptorPlugin, AsyncMitmProxy
Klasa DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& Nbsp; def do_request (self, dane):
& Nbsp; print ">>% s '% działające szkodliwie na rozrodczość (dane [: 100])
& Nbsp; Dane powrót
& Nbsp; def do_response (self, dane):
& nbsp; print ">% s '% działające szkodliwie na rozrodczość (dane [: 100])
& Nbsp; Dane powrót
& Nbsp; def mitm_response (self, dane):
& Nbsp; print "
Wymagania :
- Python
- pyOpenSSL
Komentarze nie znaleziono