pymiproxy เป็นคนในกลางขนาดเล็กและหวานพร็อกซี่ที่มีความสามารถในการทำ HTTP และ HTTP ผ่าน SSL
บทนำ
pymiproxy มีขนาดเล็กน้ำหนักเบามนุษย์ในกลางพร็อกซี่ที่มีความสามารถในการดำเนินการ HTTP และ HTTPS (หรือ SSL) การตรวจสอบ พร็อกซี่มีใบรับรองในตัวที่มีความสามารถในการสร้างใบรับรองสำหรับปลายทาง SSL-based Pymiproxy นี้ยังขยายและมีสองวิธีการสำหรับการขยายพร็อกซี: มากไปวิธีการและอินเตอร์เฟซ pluggable มันเหมาะสำหรับสถานการณ์ที่คุณอยู่ในต้องหายนะของพร็อกซี่เย็นไปยุ่งเกี่ยวกับภายนอกและ / หรือข้อมูล HTTP ในผูกพัน
การติดตั้ง
เพียงแค่เรียกใช้คำสั่งต่อไปนี้ที่พร้อมท์คำสั่ง:
& nbsp; หลาม sudo setup.py ติดตั้ง
การใช้งาน
โมดูลมีไม่กี่ตัวอย่างในรหัส ในช่วงสั้น ๆ pymiproxy สามารถทำงานขวาออกไปโดยการออกคำสั่งต่อไปนี้ที่พร้อมรับคำสั่ง:
& nbsp; หลาม -m miproxy.proxy
นี้จะเรียก pymiproxy กับปลั๊กอิน DebugInterceptor ซึ่งก็เอาท์พุทแรก 100 ไบต์ของแต่ละคำขอและการตอบสนอง พร็อกซี่ทำงานบนพอร์ต 8080 และรับฟังในที่อยู่ทั้งหมด ไปข้างหน้าและให้มันลอง
การขยายหรือการดำเนินการ pymiproxy
มีสองวิธีในการขยายพร็อกซี่ที่มี:
- พัฒนาและลงทะเบียนปลั๊กอิน Interceptor; หรือ
- เกิน mitm_request และวิธีการ mitm_response ในชั้น ProxyHandler
การตัดสินใจเกี่ยวกับวิธีการที่คุณเลือกที่จะใช้ทั้งหมดขึ้นอยู่กับว่าหรือไม่คุณต้องการที่จะผลักดันให้ข้อมูลที่ถูกดักฟังผ่านชุดของไล่หรือไม่
Interceptor ปลั๊กอิน
ขณะนี้มีสองประเภทของปลั๊กอิน interceptor:
- RequestInterceptorPlugins: ดำเนินการก่อนที่จะส่งคำขอไปยังเซิร์ฟเวอร์ระยะไกล; และ
- ResponseInterceptorPlugins: ดำเนินการก่อนที่จะมีการส่งการตอบสนองกลับไปยังลูกค้า
ไหลต่อไปนี้จะนำโดย pymiproxy ในโหมดนี้:
1. คำขอได้รับไคลเอนต์
2. คำขอของลูกค้าแจง
3. คำขอของลูกค้าประมวลผล / เปลี่ยนโดยขอปลั๊กอิน Interceptor
4. คำขอแก้ไขส่งไปยังเซิร์ฟเวอร์ระยะไกล
5. การตอบสนองที่ได้รับจากเซิร์ฟเวอร์ระยะไกล
6. การตอบสนองการประมวลผล / เปลี่ยนโดยการตอบสนองปลั๊กอิน Interceptor
7. การตอบสนอง Updated ส่งไปยังลูกค้า
คุณสามารถลงทะเบียนปลั๊กอินได้มากเท่าที่คุณต้องการ แต่เก็บไว้ในใจว่าปลั๊กอินจะดำเนินการในลำดับที่พวกเขาได้รับการจดทะเบียนใน. ดูแลในวิธีที่คุณลงทะเบียนปลั๊กอินของคุณถ้าผลของหนึ่งปลั๊กอินจะขึ้นอยู่กับผลของผู้อื่น
ต่อไปนี้เป็นตัวอย่างโค้ดที่เรียบง่ายของวิธีการเรียกใช้พร็อกซี่กับปลั๊กอิน:
จากการนำเข้า RequestInterceptorPlugin miproxy.proxy, ResponseInterceptorPlugin, AsyncMitmProxy
ชั้น DebugInterceptor (RequestInterceptorPlugin, ResponseInterceptorPlugin):
& nbsp; def do_request (ตัวเอง, ข้อมูล):
& nbsp; พิมพ์ '>>% s'% repr (ข้อมูล [100])
& nbsp; ข้อมูลกลับมา
& nbsp; def do_response (ตัวเอง, ข้อมูล):
& nbsp; พิมพ์ '>% s'% repr (ข้อมูล [100])
& nbsp; ข้อมูลกลับมา
& nbsp; def mitm_response (ตัวเอง, ข้อมูล):
& nbsp; พิมพ์ '
ต้องการ
- หลาม
- pyOpenSSL
ความคิดเห็นที่ไม่พบ