ตรวจสอบทราฟฟิก HTTPS ของ iPhone จาก Mac
คู่มือนี้พาจากโทรศัพท์ที่ติดตั้ง Chute ไปจนถึงหน้าต่างบน Mac ที่แสดงคำขอที่ถอดรหัสแล้วของโทรศัพท์นั้น พร้อมเนื้อหาคำขอและการตอบกลับ พร้อมกรองและส่งออก มันร้อยเรียงสิ่งที่มีหน้าอ้างอิงของตัวเอง — CA รายการโฮสต์ การบันทึก ช่องทางควบคุม Dashboard — ตามลำดับที่คุณทำจริง และบอกในแต่ละขั้นว่าคุณควรเห็นอะไรก่อนไปต่อ
คุณต้องมี:
- Chute iOS บนโทรศัพท์ พร้อมใบอนุญาต การถอดรหัส HTTPS และการจับเนื้อหาต้องมีใบอนุญาตบน iPhone หากไม่มีใบอนุญาต ทุกอย่างด้านล่างยังเชื่อมต่อได้ แต่แถว HTTPS ยังคงทึบและแท็บข้อมูลว่างเปล่า ดูใบอนุญาตและการเปิดใช้งาน
- Chute Dashboard บน Mac — ฟรี ไม่ต้องมีใบอนุญาต
- สาย USB (แนะนำ: ไม่ต้องเปิดอะไรบนเครือข่าย และใช้ได้บนเซลลูลาร์) หรือโทรศัพท์และ Mac อยู่บน Wi-Fi เดียวกัน
ถ้าคุณไม่อยากติดตั้งอะไรบน Mac คอนโซลเว็บแสดงการเชื่อมต่อ เนื้อหา และการเขียนใหม่แบบเดียวกันในเบราว์เซอร์ และต้องการเพียง
external-http-controllerบนโทรศัพท์ ขั้นตอนที่ 1–3 ด้านล่างใช้ได้เหมือนเดิม ตั้งแต่ขั้นตอนที่ 4 ให้ทำตามการเปิดคอนโซลเว็บแทน
1. ติดตั้งและเชื่อถือ CA
บนโทรศัพท์ ในตัวแก้ไขการกำหนดค่า: MITM → กำหนดค่า CA → สร้างใบรับรอง CA ใหม่ จากนั้น ติดตั้งใบรับรอง CA ลงในระบบ แล้วเชื่อถือมันใน การตั้งค่า → ทั่วไป → เกี่ยวกับ → การตั้งค่าความน่าเชื่อถือของใบรับรอง ขั้นตอนเต็ม รวมถึงขั้นที่ทุกคนพลาด อยู่ในหน้าการถอดรหัส HTTPS
คุณควรเห็น: หน้าใบรับรองแสดง ใบรับรอง CA ที่เชื่อถือ ถ้าแสดง ไม่เชื่อถือ สวิตช์ความเชื่อถือในการตั้งค่าความน่าเชื่อถือของใบรับรองยังปิดอยู่ — ไม่มีอะไรหลังจากนี้จะทำงานจนกว่าจะเปิด
2. ระบุว่าจะถอดรหัสโฮสต์ใด
Chute ถอดรหัสเฉพาะโฮสต์ที่คุณระบุ ในส่วน MitM ของตัวแก้ไข (ส่วนที่มี กำหนดค่า CA) เพิ่มโฮสต์ที่คุณต้องการดู เริ่มแคบๆ — โฮสต์ API ของแอปที่คุณกำลังดีบัก — แทนที่จะใช้ *: ทุกโฮสต์ที่ถอดรหัสใช้ CPU บนโทรศัพท์ และบางแอปปักหมุดใบรับรองและพังเมื่อถูกถอดรหัส ควรยกเว้น *.apple.com ตั้งแต่แรก
[MITM]
enable = true
hostname = api.example.com, *.example.net, -*.apple.com
ไวยากรณ์ — พอร์ต การยกเว้นด้วย - การจำกัดด้วย /path — อยู่ในหน้าการถอดรหัส HTTPS ภายหลังคุณยังเพิ่มและลบโฮสต์จากแผง กฎ MitM ของ Dashboard ขณะดูผลได้ แล้วคัดลอกที่ใช้ได้ลงในการกำหนดค่า
3. เปิดการถอดรหัสและการบันทึก
บนแผงควบคุมของโทรศัพท์ สวิตช์สองตัว:
- MitM — เปิดการถอดรหัส สำหรับโฮสต์จากขั้นตอนที่ 2
- ดัมพ์ข้อมูล — บันทึกเนื้อหาคำขอและการตอบกลับ (การตั้งค่า
replica) ถ้าไม่เปิด Dashboard จะแสดงทุกการเชื่อมต่อพร้อมกฎและนโยบาย แต่ไม่มีข้อมูล
ทั้งสองยังสลับได้ภายหลังจากแถบเครื่องมือของ Dashboard ดังนั้นลืมตอนนี้ก็ไม่เป็นไร ทั้งสองไม่คงอยู่หลังเริ่มใหม่เว้นแต่จะอยู่ในการกำหนดค่า (replica = true ใน [General], enable = true ใน [MITM])
4. อนุญาตให้ Dashboard เชื่อมต่อ
ในตัวแก้ไขการกำหนดค่า: ตัวควบคุมภายนอก → การเข้าถึงตัวควบคุมภายนอก
- เปิด อนุญาตให้ Chute Dashboard/Chute CLI เชื่อมต่อ
- ใส่ พอร์ต (พอร์ตว่างใดก็ได้ ใช้
6170ถ้าไม่มีความชอบเป็นพิเศษ) และ รหัสผ่าน ของคุณเอง - อนุญาตการเข้าถึงจาก Wi-Fi: ปล่อยไว้ปิดสำหรับ USB เปิดเฉพาะเมื่อคุณจะเชื่อมต่อผ่าน Wi-Fi — มันเปิดตัวรับฟังให้ทุกคนบนเครือข่ายนั้นที่มีรหัสผ่าน
- บันทึก แล้วเริ่ม (หรือเริ่มใหม่) อุโมงค์
คุณควรเห็น: แผงควบคุมแสดง พอร์ตการเข้าถึงภายนอก: 6170 (พอร์ตของคุณ) ถ้าไม่มีบรรทัดนี้ อุโมงค์ไม่ได้รันการกำหนดค่าที่บันทึกไว้ — เริ่มใหม่
5. เชื่อมต่อ Dashboard
เสียบโทรศัพท์เข้ากับ Mac และถ้าโทรศัพท์ถาม ให้แตะ เชื่อถือ คอมพิวเตอร์นี้ เปิด Chute Dashboard ในหน้าต่าง Chute แดชบอร์ดใหม่ ใช้ส่วน USB: พอร์ต จากขั้นตอนที่ 4 และ รหัสผ่าน แล้วเชื่อมต่อ
ผ่าน Wi-Fi แทน: ส่วน ระยะไกล โดย โฮสต์ = ที่อยู่ของโทรศัพท์ (การตั้งค่า → Wi-Fi → ⓘ, ที่อยู่ IP) และพอร์ตกับรหัสผ่านเดียวกัน
คุณควรเห็น: หน้าต่าง Dashboard ที่มีชื่อการเชื่อมต่อเป็นหัวเรื่อง รายการ ทำงาน ของมันเติมขึ้นขณะที่โทรศัพท์สร้างการเชื่อมต่อ ถ้าว่างเปล่า ใช้โทรศัพท์สักสองสามวินาที มีสองอย่างที่ผิดพลาดได้ที่นี่ และทั้งสองมีข้อความชัดเจน: รหัสผ่านไม่ตรงกัน และหน้าต่างไม่เปิดเลย — เข้าถึงโทรศัพท์ไม่ได้ (ที่อยู่ผิด การเข้าถึง Wi-Fi ปิด อุโมงค์ไม่ทำงาน) หน้า Dashboard มีรายละเอียด
6. ตรวจสอบสวิตช์บนแถบเครื่องมือ
ด้านบนของรายการทำงาน สวิตช์สองตัวจากขั้นตอนที่ 3 ตามที่ Dashboard เห็น:
- บันทึกทราฟฟิก ควรแสดงเป็น ปิดการบันทึกทราฟฟิก — การบันทึกเปิดอยู่ ถ้ายังแสดง บันทึกทราฟฟิก ให้คลิก
- เปิด MitM (N กฎ) ควรแสดงเป็น ปิด MitM (N กฎ) — การถอดรหัสเปิดอยู่ และ
Nคือจำนวนโฮสต์จากขั้นตอนที่ 2 ถ้าNเป็น0รายการโฮสต์ไปไม่ถึงโทรศัพท์: ตรวจสอบขั้นตอนที่ 2 และเริ่มอุโมงค์ใหม่
7. ทำซ้ำและหาคำขอ
ทำสิ่งที่คุณต้องการดูทราฟฟิกในแอป จากนั้นจำกัดรายการ: ตัวกรอง บนแถบเครื่องมือเปิดแถบตัวกรอง พิมพ์โฮสต์ใน กรองโฮสต์/URL… หรือติ๊ก เฉพาะ MitM เพื่อเก็บเฉพาะแถวที่ถอดรหัสแล้ว
คุณควรเห็น: แถวของโฮสต์ของคุณมี M ในคอลัมน์ แฟล็ก เมธอด จริง (GET, POST) และ สถานะ แทนที่จะเป็น CONNECT เปิดแถวหนึ่ง: แท็บ ส่วนหัวคำขอ มีส่วนหัว พารามิเตอร์คิวรี และคุกกี้ ข้อมูลการตอบกลับ แสดงเนื้อหา — เป็นต้นไม้ JSON ถ้าเป็น JSON เป็นรูปภาพถ้าเป็นรูปภาพ
ถ้าแถวของโฮสต์คุณแสดง CONNECT และไม่มี M การเชื่อมต่อไม่ได้ถูกถอดรหัส เรียงตามความน่าจะเป็น: โฮสต์ไม่อยู่ในรายการ (หรือรูปแบบไม่ตรง — api.example.com ไม่ครอบคลุม www.example.com) MitM ปิด CA ติดตั้งแล้วแต่ไม่ได้เชื่อถือ (แอปเองจะแสดงข้อผิดพลาดใบรับรอง) แอปปักหมุดใบรับรอง (ยกเว้นโฮสต์และยอมรับว่าดูข้างในไม่ได้) แอปใช้ HTTP/3 บน QUIC ซึ่งถอดรหัสไม่ได้ — ตั้ง block-quic เพื่อบังคับกลับไป TCP
ถ้าแถวมี M แต่แท็บข้อมูลบอกว่า ไม่มีข้อมูล: การบันทึกปิดอยู่ตอนที่การเชื่อมต่อนั้นทำงาน (เปิดแล้วทำซ้ำ) โฮสต์ถูกกรองออกโดย [Replica] บนโทรศัพท์ หรือเนื้อหาใหญ่กว่า 2 MiB ซึ่งโทรศัพท์ปฏิเสธที่จะส่ง
8. เก็บสิ่งที่พบ
คลิกขวาที่แถว: ส่งออกที่เลือกเป็น HAR… สำหรับไฟล์ที่เปิดได้ในเครื่องมือนักพัฒนาของเบราว์เซอร์ Charles หรือ Proxyman คัดลอกคำสั่ง curl เพื่อทำคำขอหนึ่งซ้ำจากเทอร์มินัลของ Mac ส่งออกที่เลือกเป็น CSV… สำหรับสเปรดชีต ส่งออกเป็น bin ในแท็บข้อมูลบันทึกเนื้อหาหนึ่งรายการตามที่จับได้
9. เปลี่ยนอะไรสักอย่าง (ไม่บังคับ)
แผงของมุมมอง MitM แก้ไขเคอร์เนลที่กำลังทำงาน การทดลองเร็วๆ สองอย่าง:
- Header Rewrite → เพิ่มกฎสำหรับโฮสต์ของคุณ: คำขอ, เพิ่ม,
X-Debug=1ทำซ้ำ แถวใหม่จะมีHและRและ กฎที่ทำงาน ในหน้าต่างรายละเอียดอ้างกฎของคุณ - Map Local → ตอบเอนด์พอยต์จากไฟล์ สำหรับโทรศัพท์ เส้นทางไฟล์ต้องเป็นเส้นทางที่โทรศัพท์อ่านได้ ดังนั้น เส้นทางไฟล์ ของแผงนี้ (เส้นทางบน Mac ของคุณ) ใช้ไม่ได้ ให้ใช้รูปแบบ
base64=ของกฎจากตัวแก้ไขของโทรศัพท์เองหรือคอนโซลเว็บแทน — ดูหมายเหตุใต้เครื่องมือ MitM แถวที่ถูกจำลองมีK
กฎที่เพิ่มที่นี่จะหายไปเมื่ออุโมงค์เริ่มใหม่ เมื่อกฎใดใช้ได้ ให้เขียนลงในการกำหนดค่า — หน้าอ้างอิง: URL Rewrite, Header Rewrite, Body Rewrite, การตอบกลับจำลอง
เมื่อเสร็จแล้ว
- ปิด ดัมพ์ข้อมูล หรือตั้ง
replica = false: เนื้อหาจะสะสมบนโทรศัพท์ตราบเท่าที่การบันทึกเปิดอยู่ - ปิด อนุญาตการเข้าถึงจาก Wi-Fi อีกครั้งถ้าคุณเปิดไว้
- ปล่อย CA ติดตั้งไว้ถ้าจะทำอีก ไม่เช่นนั้นให้ลบใน การตั้งค่า → ทั่วไป → VPN และการจัดการอุปกรณ์
หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก