mitmproxy คืออะไร
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 อื่น ๆ สามารถดูวิธีการติดตั้งได้จาก
[
Installation
Edit on GitHub Please follow the steps for your operating system. The recommended way to install mitmproxy on macOS is…
docs.mitmproxy.org
](https://docs.mitmproxy.org/stable/overview-installation/?ref=blog-admin.datafarm.co.th)
ตั้งค่า Browser สำหรับใช้งาน mitmproxy
ผู้เขียนใช้งาน Browser Firefox และ Extension FoxyProxy และ Proxy ที่ Port 8080
(Port 8080 เป็น Default Port ของ mitmproxy)

หากต้องการทำ Proxy แบบอื่นสามารถอ่านรายละเอียดเพิ่มเติมได้ที่
[
Modes of operation
Edit on GitHub Now, which one should you pick? Use this flow chart: Mitmproxy’s regular mode is the simplest and the…
docs.mitmproxy.org
](https://docs.mitmproxy.org/stable/concepts-modes/?ref=blog-admin.datafarm.co.th)
ติดตั้ง 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



จบค้าบบบ ขอบคุณครับ 🙏🙏