Chute Dashboard

Chute Dashboard เป็นแอป macOS ฟรีที่เชื่อมต่อกับ Chute ที่กำลังทำงาน — Chute iOS ผ่าน Wi-Fi หรือสาย USB หรือ Chute Mac บนเครื่องเดียวกัน — และแสดงว่าอินสแตนซ์นั้นกำลังทำอะไร: ทุกการเชื่อมต่อพร้อมกฎและนโยบายที่ตัดสินมัน คำขอและการตอบกลับที่ถอดรหัสแล้วสำหรับโฮสต์ที่อยู่ในขอบเขตการถอดรหัส HTTPS คำตอบ DNS และเซสชัน UDP นอกจากนี้ยังให้คุณปรับแต่งทราฟฟิกขณะดูได้: รายการโฮสต์ MitM และกฎเขียนใหม่กับ Mock ทุกตระกูลแก้ไขได้แบบสด

นี่ไม่ใช่คอนโซลเว็บ คอนโซลนั้นเคอร์เนลเป็นผู้ให้บริการเองและเปิดในเบราว์เซอร์ ส่วน Dashboard เป็นแอปแยกที่คุยกับเคอร์เนลผ่านช่องทางควบคุมแบบไบนารี จึงต้องใช้ external-controller-access บนอุปกรณ์ ไม่ใช่ external-http-controller ทั้งสองมีส่วนที่ทับซ้อนกัน และต่างก็มีสิ่งที่อีกฝ่ายไม่มี — ดูสิ่งที่ Dashboard เข้าไม่ถึง

อินเทอร์เฟซของ Dashboard แปลเป็นภาษาเดียวกับคู่มือนี้ ยกเว้นภาษาอาหรับ บนระบบภาษาอาหรับจะแสดงเป็นภาษาอังกฤษ

อนุญาตให้ Dashboard เชื่อมต่อ

จะไม่มีอะไรรับฟังจนกว่าอุปกรณ์จะอนุญาต

Chute iOS — ในตัวแก้ไขการกำหนดค่า เปิด ตัวควบคุมภายนอก → การเข้าถึงตัวควบคุมภายนอก:

  1. เปิด อนุญาตให้ Chute Dashboard/Chute CLI เชื่อมต่อ
  2. ตั้ง พอร์ต และ รหัสผ่าน รหัสผ่านต้องไม่ว่าง และต้องเป็นของคุณเอง: ตัวรับฟังที่เข้าถึงได้จากเครือข่ายจะปฏิเสธการเริ่มทำงานหากรหัสผ่านว่างหรือเป็นค่าเริ่มต้น
  3. ปล่อย อนุญาตการเข้าถึงจาก Wi-Fi ไว้ปิดถ้าไม่จำเป็น ปิดเป็นค่าเริ่มต้น หมายความว่าตัวรับฟังอยู่บนโทรศัพท์เอง — สาย USB ยังเข้าถึงได้ แต่อุปกรณ์อื่นบน Wi-Fi เข้าไม่ถึง เปิดหมายความว่าใครก็ตามบนเครือข่ายที่รู้รหัสผ่านอ่านทุกอย่างที่รอบนี้เห็นได้
  4. บันทึก แล้วเริ่ม (หรือเริ่มใหม่) อุโมงค์ แผงควบคุมจะแสดง พอร์ตการเข้าถึงภายนอก: <พอร์ต> — บรรทัดนี้คือการยืนยันว่าตัวรับฟังทำงานแล้ว

Chute Mac — ค่าสามค่าเดียวกันอยู่ใน [General]:

[General]
external-controller-access = password@127.0.0.1:6170

127.0.0.1 จำกัดไว้เฉพาะ Mac ที่คุณใช้อยู่ ซึ่งคือสิ่งที่ Dashboard บน Mac เครื่องเดียวกันต้องการ ที่อยู่ LAN หรือ 0.0.0.0 จะเปิดให้เครื่องอื่นด้วย ส่วน General ของหน้าต่างการกำหนดค่ามีช่องสำหรับคีย์เดียวกันนี้

การเชื่อมต่อ

Dashboard เปิดด้วยหน้าต่าง Chute แดชบอร์ดใหม่ แต่ละการเชื่อมต่อมีหน้าต่างของตัวเอง จึงเปิดหลายอุปกรณ์พร้อมกันได้ มีสองทางเข้า:

ช่อง เมื่อใด
ระยะไกล โฮสต์, พอร์ต, รหัสผ่าน ที่อยู่ Wi-Fi ของอุปกรณ์ (iPhone: การตั้งค่า → Wi-Fi → ⓘ) หรือ 127.0.0.1 สำหรับ Chute Mac บนเครื่องนี้ ต้องเปิด อนุญาตการเข้าถึงจาก Wi-Fi บนโทรศัพท์
USB พอร์ต, รหัสผ่าน iPhone เสียบสายกับ Mac นี้และเชื่อถือเครื่องนี้แล้ว ใส่พอร์ตเดียวกับที่กำหนดค่าไว้ — Dashboard หาช่องทางสายเอง ใช้ได้แม้ อนุญาตการเข้าถึงจาก Wi-Fi ปิดอยู่ และเห็นทราฟฟิกเซลลูลาร์ด้วย เพราะโทรศัพท์ไม่จำเป็นต้องอยู่บน Wi-Fi เลย

เครื่องที่คุณเคยเชื่อมต่อจะถูกจำไว้ใต้ เครื่อง: สำหรับครั้งถัดไป

ถ้ารหัสผ่านผิด หน้าต่างจะแจ้ง รหัสผ่านไม่ตรงกัน ถ้าอุปกรณ์หายไป — อุโมงค์หยุด สายถูกดึงออก โทรศัพท์เปลี่ยนเครือข่าย — หน้าต่าง Dashboard จะแจ้ง การเชื่อมต่อถูกปิด และเสนอ เชื่อมต่อใหม่ ไม่มีการเชื่อมต่อใหม่อัตโนมัติ

หน้าต่าง

แถบเครื่องมือสลับระหว่างห้ามุมมอง — ทำงาน, ล่าสุด, DNS, UDP และ MitM — และ ตัวกรอง แสดงหรือซ่อนแถบตัวกรอง แผงมุมล่างซ้ายคือความเร็วอัปโหลดและดาวน์โหลดแบบสด คลิกเพื่อขยายกราฟ

ในมุมมอง ทำงาน และ ล่าสุด แถบเครื่องมือยังมีสวิตช์สองตัวที่ทำงานกับเคอร์เนลที่กำลังทำงาน เหมือนสวิตช์ในแอปทุกประการ:

  • บันทึกทราฟฟิกปิดการบันทึกทราฟฟิก: เปิดการจับเนื้อหาคำขอและการตอบกลับ (การตั้งค่า replica) ถ้าไม่เปิด แถวยังคงปรากฏพร้อมข้อมูลเส้นทาง แต่แท็บข้อมูลจะว่างเปล่า
  • เปิด MitM (N กฎ)ปิด MitM (N กฎ): เปิดการถอดรหัส HTTPS สำหรับโฮสต์ N รายการในรายการโฮสต์ MitM สวิตช์นี้ไม่ทำอะไรที่มีประโยชน์จนกว่าอุปกรณ์จะมี CA ที่เชื่อถือและโฮสต์อย่างน้อยหนึ่งรายการ — ดูหน้าการถอดรหัส HTTPS

สวิตช์ทั้งสองไม่แก้ไฟล์กำหนดค่า การเริ่มใหม่จะกลับไปเป็นตามที่ไฟล์ระบุ

แถบด้านข้างจัดกลุ่มการเชื่อมต่อตามไคลเอนต์: ไคลเอนต์ทั้งหมด จากนั้น ท้องถิ่น สำหรับไคลเอนต์บนอุปกรณ์เอง และ ระยะไกล สำหรับเครื่องอื่นที่ใช้ Chute นี้เป็นพร็อกซี การเลือกรายการใดจะจำกัดทุกรายการให้เหลือแค่นั้น เมื่ออุปกรณ์เป็น Chute Mac ไคลเอนต์ท้องถิ่นคือแอปพลิเคชันพร้อมชื่อและไอคอน และเมนูบริบทมี แสดงใน Finder

ทำงานและล่าสุด

ทำงาน คือสิ่งที่เปิดอยู่ตอนนี้ ล่าสุด คือประวัติของอุปกรณ์ ใหม่สุดก่อน อ่านกลับจากบันทึกของรอบนี้ ทั้งสองใช้คอลัมน์ชุดเดียวกัน:

คอลัมน์
ID หมายเลขการเชื่อมต่อของเคอร์เนล — หมายเลขเดียวกับที่คอนโซลและแอปแสดง
วันที่, ระยะเวลา เริ่มเมื่อไร และดำเนินมาหรือใช้เวลานานเท่าใด
ไคลเอนต์ โปรเซส (Chute Mac) หรือที่อยู่ท้องถิ่น
เมธอด, เซิร์ฟเวอร์, สถานะ บรรทัดคำขอและคำตอบ แยกวิเคราะห์จากคำขอที่จับได้
นโยบาย นโยบายที่กฎเลือก
อัปโหลด, ดาวน์โหลด จำนวนไบต์แต่ละทิศทาง
แฟล็ก สิ่งที่ Chute ทำกับการเชื่อมต่อ — ดูคำอธิบายด้านล่าง

คอลัมน์ แฟล็ก คือวิธีเร็วที่สุดในการรู้ว่ากฎที่คุณเขียนถูกใช้อยู่หรือไม่:

แฟล็ก ความหมาย
M ถอดรหัสแล้ว (ดักจับด้วย MitM)
H ส่วนหัวถูกแก้ไข
B เนื้อหาถูกแก้ไข
R กฎเขียนใหม่ทำงาน
K ตอบโดย Mock ของ Map Local แทนเซิร์ฟเวอร์

ล่าสุดเก็บได้สูงสุด 5,000 แถว โหลดรายการเก่ากว่า ท้ายรายการจะดึงหน้าถัดไปจากอุปกรณ์ และรายการรีเฟรชเองทุกสองสามวินาที เมื่อรายการทำงานยาวเกินกว่าแพ็กเก็ตควบคุมหนึ่งชุดจะบรรจุได้ จะมีหมายเหตุใต้ตารางว่าเคอร์เนลตัดรายการ — แถวเหล่านั้นยังอยู่บนอุปกรณ์ และล่าสุดจะแสดงเมื่อปิดแล้ว

คลิกขวาที่แถวเพื่อ คัดลอกคำสั่ง curl, ส่งออกที่เลือกเป็น HAR… / CSV… และ ส่งออกทั้งหมดเป็น HAR… / CSV… แถวที่ทำงานอยู่มี ตัดการเชื่อมต่อ เพิ่มมาด้วย ซึ่งปิดการเชื่อมต่อนั้นบนอุปกรณ์

Notice: หนึ่งแถวคือหนึ่งการเชื่อมต่อ ไม่ใช่หนึ่งคำขอ การเชื่อมต่อ keep-alive ที่ส่งหลายคำขอยังคงเป็นแถวเดียว และข้อมูลที่จับได้บรรจุข้อความเหล่านั้นทั้งหมดต่อกัน ส่วนหัวที่แสดงเป็นของคำขอใดคำขอหนึ่ง ดังนั้นเบราว์เซอร์ที่เปิดหน้าหนึ่งจึงสร้างแถวน้อยกว่าจำนวนทรัพยากรของหน้านั้น

แถบตัวกรอง

แถบตัวกรองจำกัดสิ่งที่แสดง ไม่ได้เปลี่ยนสิ่งที่อุปกรณ์บันทึก — สำหรับเรื่องนั้นให้ใช้ [Replica] บนอุปกรณ์

ตัวควบคุม ตัวเลือก
กรองโฮสต์/URL… ข้อความที่จับคู่กับโฮสต์และ URL
เมธอด GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, CONNECT
สถานะ 1xx – 5xx
ทราฟฟิก ทำงาน, เสร็จสิ้นแล้ว, ถูกระงับ
ประเภท JSON, HTML, XML, รูปภาพ, ข้อความ, ไบนารี — จากประเภทเนื้อหาของการตอบกลับ
ระยะเวลา < 100ms, 100ms–1s, 1s–5s, > 5s
ขนาด < 1 KB, 1–100 KB, 100 KB–1 MB, > 1 MB
เฉพาะ MitM เฉพาะการเชื่อมต่อที่ถอดรหัสแล้ว
แก้ไขแล้ว การเชื่อมต่อที่กฎเปลี่ยน — มี H, B, R, K อย่างใดอย่างหนึ่ง

ล้างตัวกรอง กลับไปแสดงทุกอย่าง

รายละเอียดการเชื่อมต่อ

เปิดแถวเพื่อดูหน้าต่างรายละเอียด แท็บจากซ้ายไปขวา:

ทั่วไป — สิ่งที่รายการแสดง จัดวางอย่างมีพื้นที่: บรรทัดคำขอและรหัสสถานะ โหมดขาออก นโยบาย และกฎที่ตรงกัน ปริมาณข้อมูลและความเร็วสูงสุด ที่อยู่ท้องถิ่นและระยะไกล เวลาเริ่มต้น สถานะ SSL/MitM (ถูกดักจับ, ส่วนหัวถูกแก้ไข, เนื้อหาถูกแก้ไข, ถูกจำลอง) และ กฎที่ทำงาน — กฎเขียนใหม่หรือ Mock ทุกข้อที่เปลี่ยนการเชื่อมต่อนี้ อ้างด้วยข้อความของกฎเอง กฎที่ไม่ปรากฏที่นี่ไม่ได้แตะการเชื่อมต่อนี้

เวลา — เวลาในการตั้งค่าการเชื่อมต่อถูกใช้ไปอย่างไร ตามที่เคอร์เนลวัด:

บรรทัด นับจาก → ถึง
เวลาเตรียมพร็อกซี การเชื่อมต่อของไคลเอนต์มาถึง → Chute พร้อมจัดการ
การแก้ไข DNS → ชื่อถูกแก้ไขแล้ว (เป็นศูนย์เมื่อกฎไม่ต้องการที่อยู่)
เวลาจับคู่กฎ → ตารางกฎตัดสินแล้ว
เวลาเตรียมปลายทาง → ขาออกที่เลือกเชื่อมต่อและพร้อมแล้ว
ทำงาน ทุกอย่างหลังจากนั้น จนกว่าการเชื่อมต่อจะปิด

คำขอที่ช้ามักช้าในบรรทัดใดบรรทัดหนึ่งเท่านั้น และบรรทัดไหนบอกว่าควรดูที่ใด: DNS ในส่วน DNS เวลาเตรียมปลายทางในนโยบายหรือเซิร์ฟเวอร์เบื้องหลัง ทำงานในแอปพลิเคชันเอง

ส่วนหัวคำขอ / ส่วนหัวการตอบกลับ — ส่วนหัวเป็นตาราง โดยแยก พารามิเตอร์คิวรี และ คุกกี้ สำหรับคำขอ และ คุกกี้ สำหรับการตอบกลับ ส่วนหัวที่กฎแก้ไขจะถูกเน้น คัดลอกที่เลือก คัดลอกแถวที่เลือก

ข้อมูลคำขอ / ข้อมูลการตอบกลับ — เนื้อหาที่จับได้ ในรูป ฐานสิบหก, ข้อความ, JSON (ต้นไม้ที่กางได้ พร้อมค้นหา) หรือ รูปภาพ (พอดี / ขนาดจริง) เนื้อหา multipart จะถูกแยกเป็นส่วนๆ ส่งออกเป็น bin บันทึกไบต์ดิบ ข้อมูลจะมีก็ต่อเมื่อการบันทึกเปิดอยู่ตอนที่การเชื่อมต่อทำงาน และเฉพาะโฮสต์ที่ตัวกรอง [Replica] ปล่อยผ่าน

Notice: เนื้อหาแสดงตามที่จับได้ การตอบกลับที่ถูกบีบอัด — Content-Encoding: gzip — จะไม่ถูกคลายที่นี่ มุมมองข้อความและ JSON ของมันจึงเป็นขยะ มุมมองฐานสิบหกและ ส่งออกเป็น bin ให้ไบต์แก่คุณเพื่อไปคลายที่อื่น อุปกรณ์ปฏิเสธที่จะส่งเนื้อหาที่ใหญ่กว่า 2 MiB และมุมมองฐานสิบหกแสดง 1 MiB แรก

DNS และ UDP

DNS คือแคชรีโซลเวอร์ของอุปกรณ์: แต่ละโดเมนพร้อมที่อยู่ที่แก้ไขได้ เซิร์ฟเวอร์ที่ตอบก่อน (Chute ถามทุกเซิร์ฟเวอร์ที่กำหนดค่าพร้อมกัน — ดู DNS) TTL และประเภทเรกคอร์ด คลิกขวาเพื่อ คัดลอกโดเมน, คัดลอก IP และ คัดลอกเซิร์ฟเวอร์ DNS

UDP แสดงเซสชัน UDP — โฮสต์ เซิร์ฟเวอร์ นโยบาย และสถานะ UDP ไม่มีเนื้อหา

เครื่องมือ MitM

มุมมอง MitM จัดการกฎห้าตระกูลบนอุปกรณ์ในห้าแผง: กฎ MitM, Header Rewrite, Body Rewrite, Map Local และ Map Remote สิ่งที่เป็นจริงสำหรับทุกแผง:

  • รายการคือสำเนากฎของเคอร์เนลที่กำลังทำงาน ซึ่งเริ่มจากสิ่งที่ไฟล์กำหนดค่าประกาศไว้
  • การเพิ่มกฎจะส่งไปยังอุปกรณ์ ซึ่งแยกวิเคราะห์เหมือนบรรทัดกำหนดค่า บรรทัดที่แยกวิเคราะห์ไม่ได้จะถูกปฏิเสธพร้อมข้อผิดพลาด ไม่ใช่ถูกเก็บไว้
  • การเปลี่ยนแปลงอยู่ในเคอร์เนลที่กำลังทำงานเท่านั้น ไม่ถูกเขียนกลับไปที่ไฟล์กำหนดค่า และการโหลดใหม่หรือเริ่มใหม่จะกลับไปตามที่ไฟล์ระบุ ใช้แผงเหล่านี้หากฎที่ใช้ได้ แล้วเขียนลงในการกำหนดค่า
  • กฎถูกใช้อยู่หรือไม่ ดูได้ที่คอลัมน์ แฟล็ก ของรายการ (R, K) และ กฎที่ทำงาน ในหน้าต่างรายละเอียด

กฎ MitM — หนึ่งรูปแบบโฮสต์ต่อกฎ host[:port][/path] ใช้คำนำหน้า - เพื่อยกเว้น: *.google.com, api.example.com:8443, api.example.com/v2/*, -*.apple.com ไวยากรณ์เดียวกับคีย์ hostname ในหน้าการถอดรหัส HTTPS ตัวเลขบนสวิตช์ MitM ของแถบเครื่องมือคือความยาวของรายการนี้

Header Rewrite — แบบฟอร์ม: Regex ของ URL, คำขอ หรือ การตอบกลับ, เพิ่ม / แทนที่ / ลบ, ชื่อส่วนหัว, ค่าส่วนหัว Dashboard ประกอบบรรทัดกำหนดค่าให้คุณ ไวยากรณ์อยู่ในหน้า Header Rewrite

Body Rewrite — บรรทัดกำหนดค่าหนึ่งบรรทัด พิมพ์เหมือนที่คุณเขียนในไฟล์: url-regex type pattern replacement โดย type คือ response, request, jsonpath-response หรือ jsonpath-request ดู Body Rewrite

Map LocalRegex ของ URL, เส้นทางไฟล์ (เรียกดู…) และ ส่วนหัวการตอบกลับ ที่ไม่บังคับ บรรทัดละหนึ่ง Name: Value

Notice: เส้นทางไฟล์ถูกอ่านโดยอุปกรณ์ที่รัน Chute ณ เวลาที่มีคำขอ เส้นทางบน Mac ของคุณมีความหมายเมื่อ Dashboard เชื่อมต่อกับ Chute Mac บนเครื่องเดียวกัน และไม่มีความหมายเมื่อเชื่อมต่อกับ iPhone — โทรศัพท์ไม่มี /Users/… สำหรับอุปกรณ์ระยะไกล ให้ใส่เนื้อหาแบบอินไลน์ด้วยรูปแบบ base64= ของกฎ (ดูการตอบกลับจำลอง) ผ่านตัวแก้ไขของอุปกรณ์เองหรือคอนโซลเว็บ หรือให้บริการไฟล์จาก URL แล้วใช้ Map Remote

Map RemoteRegex ของ URL, เป้าหมาย และ ประเภท: header เขียนคำขอใหม่ในที่ (Map Remote ของ Surge) 302 และ 307 เปลี่ยนเส้นทางไคลเอนต์ และ reject, reject-200, reject-img, reject-dict ตอบโดยไม่ติดต่อเซิร์ฟเวอร์ ดู URL Rewrite

การส่งออก

  • HAR — คลิกขวาที่รายการ: แถวที่เลือกหรือทั้งหมด เป็นไฟล์ HAR 1.2 ที่เปิดได้ในเครื่องมือนักพัฒนาของเบราว์เซอร์ (Network → นำเข้า) Charles หรือ Proxyman หนึ่งรายการต่อแถว รวมเนื้อหาเมื่อการบันทึกเปิดอยู่
  • CSV — คอลัมน์ของรายการ สำหรับสเปรดชีต
  • คัดลอกคำสั่ง curl — คำสั่ง curl ที่ทำคำขอซ้ำจาก Mac ของคุณ พร้อมส่วนหัว
  • ส่งออกเป็น bin — เนื้อหาหนึ่งรายการ ตามที่จับได้

Dashboard สร้าง HAR จากสิ่งที่ดึงมาแล้ว เคอร์เนลก็สร้างเองได้ — พร้อมกฎที่ตรง นโยบาย และการเขียนใหม่ที่ทำงานในอ็อบเจกต์ _kl ต่อรายการ และเวลาส่ง/รับที่นำมาจากการจับ — ผ่าน Export HAR (ส่งออก HAR) ของคอนโซล หรือ GET /api/connections/export?format=har

สิ่งที่ Dashboard เข้าไม่ถึง

Dashboard คุยผ่านช่องทางควบคุมแบบไบนารีของเคอร์เนล และบางสิ่งที่เคอร์เนลทำได้มีอยู่เฉพาะบน HTTP control API สำหรับสิ่งเหล่านี้ ใช้คอนโซลเว็บหรือ API:

  • ชุดข้อมูลวินิจฉัย สุขภาพ ตัวนับการปฏิเสธ และเหตุการณ์
  • ยอดรวมการทำงานต่อกฎในหน้า Rules ของคอนโซล และคำตอบที่มันให้ว่า กฎนี้เคยทำงานหรือไม่
  • HAR ของเคอร์เนลเอง ข้างต้น
  • บันทึก

อีกสองเรื่องที่ควรรู้ก่อนพึ่งพามัน:

  • Chute Android ไม่มีช่องทางไบนารี Dashboard จึงเชื่อมต่อไม่ได้ แดชบอร์ดระยะไกลของ Android เองและคอนโซลเว็บครอบคลุมสิ่งเดียวกัน
  • บน iPhone และ Apple TV การถอดรหัส HTTPS และการจับเนื้อหาเป็นฟีเจอร์ที่ต้องมีใบอนุญาต หากไม่มีใบอนุญาต Dashboard ยังเชื่อมต่อได้และแสดงทุกการเชื่อมต่อพร้อมกฎและนโยบาย แต่แถว HTTPS ยังคงเป็นอุโมงค์ CONNECT ทึบ แท็บข้อมูลว่างเปล่า และสวิตช์ MitM ไม่มีผล ดูใบอนุญาตและการเปิดใช้งาน
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-01 12:20:57

หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก

results matching ""

    No results matching ""