pymiproxy είναι ένα μικρό και γλυκό man-in-the-middle μεσολάβησης ικανή να κάνει HTTP και HTTP μέσω SSL.
Εισαγωγή
pymiproxy είναι ένα μικρό, ελαφρύ, man-in-the-middle μεσολάβησης είναι ικανοί να εκτελέσουν HTTP και HTTPS (ή SSL) επιθεώρηση. Η προσεγγιστική τιμή παρέχει μια ενσωματωμένη αρχής έκδοσης πιστοποιητικών που είναι σε θέση να παράγει τα πιστοποιητικά για τους προορισμούς που βασίζονται σε SSL. Pymiproxy είναι επίσης επεκτάσιμη και παρέχει δύο μεθόδους για την παράταση της μεσολάβησης: μέθοδος υπερφόρτωση, και έναν κουμπωτό περιβάλλον. Είναι ιδανικό για καταστάσεις όπου είστε σε απόλυτη ανάγκη από ένα δροσερό πληρεξούσιο να παρέμβει με Έξο- ή / και σε δεσμευτικούς δεδομένα HTTP.
installation
Απλώς εκτελέστε την ακόλουθη εντολή στη γραμμή εντολών:
& Nbsp? Sudo python setup.py εγκαταστήσετε
Χρήση
Η μονάδα προσφέρει μερικά παραδείγματα στον κώδικα. Εν συντομία, pymiproxy μπορεί να τρέξει δεξιά μακριά εκδίδοντας την ακόλουθη εντολή στο της γραμμής εντολών:
& Nbsp? Πύθωνα -m miproxy.proxy
Αυτό θα επικαλεστεί pymiproxy με το plugin DebugInterceptor που απλά εξάγει τα πρώτα 100 bytes της κάθε αίτησης και απάντησης. Ο πληρεξούσιος εκτελείται στη θύρα 8080 και ακούει σε όλες τις διευθύνσεις. Προχωρήστε και να δώσει μια δοκιμή.
Η επέκταση ή Εφαρμογή pymiproxy
Υπάρχουν δύο τρόποι για την παράταση της μεσολάβησης:
- Ανάπτυξη και να καταχωρήσετε ένα plugin Interceptor? ή
- Υπερφορτώνετε το mitm_request, και τις μεθόδους mitm_response στην κατηγορία ProxyHandler.
Η απόφαση για το ποια μέθοδο θα επιλέξετε να χρησιμοποιήσετε εξαρτάται εξ ολοκλήρου από το αν θέλετε ή όχι να ωθήσει τα δεδομένα να υποκλαπούν μέσω μιας σειράς καταδιωκτικά ή όχι.
Interceptor Plugins
Υπάρχουν επί του παρόντος δύο τύποι των plugins αναχαίτισης:
- RequestInterceptorPlugins: εκτελούνται πριν από την αποστολή της αίτησης στον απομακρυσμένο server? και την
- ResponseInterceptorPlugins: εκτελούνται πριν από την αποστολή της απάντησης πίσω στον πελάτη.
Η ακόλουθη ροή λαμβάνεται από pymiproxy σε αυτή τη λειτουργία:
1. αίτημα πελάτη που έλαβε
2. αίτημα πελάτη αναλυθεί
3. Αίτημα του πελάτη σε επεξεργασία / μεταμορφωθεί από Αίτηση Interceptor plugins
4. Ενημέρωση αίτημα που αποστέλλεται σε απομακρυσμένο διακομιστή
5. Η απάντηση που έλαβε από τον απομακρυσμένο διακομιστή
6. Απάντηση επεξεργασία / μεταμορφωθεί από την ανταπόκριση Interceptor plugins
7. Ενημέρωση απάντηση αποστέλλεται στον πελάτη
Μπορείτε να εγγραφείτε ως πολλά plugins όπως εσείς επιθυμείτε. Ωστόσο, να έχετε κατά νου ότι τα πρόσθετα εκτελούνται με τη σειρά που είναι εγγεγραμμένοι σε. Προσέξτε για το πώς μπορείτε να εγγραφείτε plugins σας αν το αποτέλεσμα μιας plugin εξαρτάται από το αποτέλεσμα του άλλου.
Το ακόλουθο είναι ένα απλό παράδειγμα κώδικα για το πώς να τρέξει το πληρεξούσιο με plugins:
από miproxy.proxy RequestInterceptorPlugin εισαγωγής, ResponseInterceptorPlugin, AsyncMitmProxy
κατηγορία DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& Nbsp? Def do_request (self, δεδομένα):
& Nbsp? Εκτύπωσης »>>% s 'Εκπρ% (στοιχεία [: 100])
& Nbsp? Δεδομένα επιστροφής
& Nbsp? Def do_response (self, δεδομένα):
& Nbsp? Εκτύπωσης ">% s 'Εκπρ% (στοιχεία [: 100])
& Nbsp? Δεδομένα επιστροφής
& Nbsp? Def mitm_response (self, δεδομένα):
& Nbsp? Εκτύπωσης »
Απαιτήσεις :
- Python
- pyOpenSSL
Τα σχόλια δεν βρέθηκε