mitmproxy คือเครื่องมือสำหรับการทำ Intercept, Inspect, Modify และ Replay Web Traffic เช่น HTTP/1, HTTP/2, WebSocket เป็นต้น ซึ่งสามารถใช้งานได้ทั้งแบบ Web Interface และ Command Line ที่สำคัญ mitmproxy ยังเป็นเครื่องมือที่ Free และ Open Source บน MIT License อีกด้วย
ติดตั้งการใช้งาน
ผู้เขียนทดสอบใช้งาน OS Xubuntu 20.04
ติดตั้ง Required Components
Python 3 ใช้คำสั่ง
sudo apt install python3
Python 3 — pip ใช้คำสั่ง
sudo apt install python3-pip
ติดตั้ง mitmproxy
sudo pip3 install mitmproxy
หากเป็น OS อื่น ๆ สามารถดูวิธีการติดตั้งได้จาก
ตั้งค่า Browser สำหรับใช้งาน mitmproxy
ผู้เขียนใช้งาน Browser Firefox และ Extension FoxyProxy และ Proxy ที่ Port 8080
(Port 8080 เป็น Default Port ของ mitmproxy)
หากต้องการทำ Proxy แบบอื่นสามารถอ่านรายละเอียดเพิ่มเติมได้ที่
ติดตั้ง mitmproxy Certificate สำหรับ Browser โดยเข้าไปที่ลิงก์ mitm.it ดาวน์โหลดไฟล์ Certificate และติดตั้ง
เริ่มต้นการใช้งาน
ใช้คำสั่ง mitmproxy
การควบคุมทิศทางใช้ปุ่มแบบเดียวกับ Vim ได้ คือ h j l k หรือ ขึ้น ลง ซ้าย ขวา ปกติ ก็ได้เช่นกัน
h ซ้าย, j ลง, k ขึ้น, l ขวา
เราสามารถเข้าไปดู Request, Respond และ Detail ได้จากการคลิก Request ที่ต้องการได้ทันที โดยสามารถสลับระหว่าง Request และ Respond ได้ด้วยการควบคุมทิศทาง และการคลิกจากเมาส์
และสามารถไปยัง Request ต่อไปหรือก่อนหน้าได้ด้วย Page up, Page down และ Spacebar
กด q กลับไปยัง Flow หลัก
หากต้องการ Replay Request เลื่อนให้ลูกศร Focus อยู่ที่ Request ที่ต้องการ และกดปุ่ม r เมื่อลูกศรอยู่หน้า Request ที่ต้องการ Replay
หากต้องการ Clear Flow ใช้ปุ่ม z
หากต้องการ intercept ใช้ปุ่ม i และ ~q เพื่อ Intercept ทุก Request
เราสามารถกด e เพื่อ Edit Request ก่อนส่งไปได้
จากนั้นกด a เพื่อ Accept Edited Request
จบค้าบบบ ขอบคุณครับ 🙏🙏