- เครื่องมือเว็บดีบักพร็อกซีที่สามารถวิเคราะห์ทราฟฟิก HTTP และ HTTPS แบบมองเห็นภาพได้ โดยตรวจสอบข้อมูลคำขอ การตอบกลับ และเฮดเดอร์ได้ทั้งหมด
- ผสานความสามารถ Reverse Proxy, SSL Proxy, HTTP Monitor เพื่อให้นักพัฒนาติดตามการสื่อสารเครือข่ายได้อย่างละเอียด
- เวอร์ชันล่าสุด Charles 5.0.3 แก้ไขปัญหาประสิทธิภาพบน macOS และมีการปรับปรุงเล็กน้อย
- การปรับปรุง UI, รองรับโหมดมืด, เพิ่มประสิทธิภาพ ถูกเพิ่มเข้ามาอย่างต่อเนื่องตั้งแต่ช่วงเบต้า 5.x
- เป็นเครื่องมือเว็บดีบักชั้นนำที่ได้รับการอัปเดตอย่างต่อเนื่องมาตั้งแต่ช่วงกลางทศวรรษ 2000 และถูกใช้อย่างกว้างขวางในสภาพแวดล้อมการพัฒนาบนมือถือ, Flash และ iOS
ภาพรวม
- Charles คือ เว็บดีบักพร็อกซี ที่ช่วยให้นักพัฒนามองเห็น ทราฟฟิก HTTP และ SSL/HTTPS ทั้งหมดระหว่างคอมพิวเตอร์ของตนกับอินเทอร์เน็ต
- แสดงคำขอ (request), การตอบกลับ (response), HTTP header (รวมถึงข้อมูลคุกกี้และแคช) ได้ทั้งหมด
- รวมความสามารถ HTTP Proxy, HTTPS Proxy, Reverse Proxy, HTTP Monitor ไว้ในเครื่องมือเดียว
แนวโน้มการพัฒนาล่าสุด
- 20 กันยายน 2025: ออก Charles 5.0.3 แก้ไขปัญหาประสิทธิภาพบน macOS และมีการปรับปรุงเล็กน้อย
- 9 สิงหาคม 2025: ออก 5.0.2 แก้บั๊กและปรับปรุงเล็กน้อย
- 12 มีนาคม 2025: Charles 5 เวอร์ชันทางการเปิดตัว
- 24 มกราคม 2024: เปิดตัว 5 beta 13 พร้อม ปรับปรุง Windows UI และรองรับโหมดมืด
- กรกฎาคม~เมษายน 2023: ในเวอร์ชันเบต้า 9~11 มีการปรับปรุง UI และประสิทธิภาพ เพิ่มฟีเจอร์ใหม่ และแก้บั๊ก
- กันยายน 2022: ออก 4.6.3 พร้อม อัปเดต Java 11 และแก้บั๊ก
- ธันวาคม 2021: ประกาศเกี่ยวกับช่องโหว่ log4j2 — Charles ไม่ได้ใช้ log4j จึงไม่ได้รับผลกระทบ
- 2020~2019: ในเวอร์ชัน 4.6~4.5 มีการรองรับ Dark Mode, ปรับปรุงใบรับรอง SSL, แพตช์ช่องโหว่ความปลอดภัย
- พฤษภาคม 2018: เปิดตัว Charles สำหรับ iOS
- 2016: ออก Charles 4 ที่เพิ่มการรองรับ HTTP/2 และ IPv6
- 2006~2009: เพิ่มการรองรับ AMF, SOAP, JSON และปรับปรุง UI ครั้งใหญ่
- 2005: เพิ่มการตั้งค่าพร็อกซีอัตโนมัติสำหรับ Firefox และความสามารถวิเคราะห์ Flash Remoting
- 2003~2004: วางรากฐานฟีเจอร์หลักอย่าง SSL, Reverse Proxy, SOCKS Proxy
ฟีเจอร์หลัก
- การมอนิเตอร์ทราฟฟิก HTTP/HTTPS: ตรวจสอบคำขอ การตอบกลับ เฮดเดอร์ คุกกี้ และข้อมูลแคชแบบเรียลไทม์
- SSL Proxy และ Reverse Proxy: รองรับการวิเคราะห์การสื่อสารที่เข้ารหัสและติดตามการตอบกลับจากเซิร์ฟเวอร์
- เครื่องมือวิเคราะห์แบบ UI: มีฟังก์ชันเปรียบเทียบคำขอ/การตอบกลับ, กรองทราฟฟิก, และบันทึกเซสชัน
- รองรับหลายแพลตฟอร์ม: ทำงานได้บน macOS, Windows, iOS เป็นต้น
- การปรับปรุงประสิทธิภาพและเสถียรภาพ: แก้บั๊กอย่างต่อเนื่องและอัปเดตการลงลายเซ็นโค้ด
รีวิวภายนอกและกรณีการใช้งาน
- Andrew Bardallis: แนะนำวิธีใช้ Charles ร่วมกับอุปกรณ์พกพาเพื่อสังเกตและแก้ไขทราฟฟิก
- Tobias Sjösten: อธิบายกรณีการมอนิเตอร์และดีบักด้วย Charles
- Dan Grigsby: ใช้ Charles ในการวิเคราะห์ข้อมูล XML ของ iPhone App Store
- Gary Rogers: ใช้ Charles ในการดีบักการเชื่อมต่อ HTTP บน iPhone
- MadeByPi, Frankie Loscavio, Darren Richardson, uberGeek เป็นต้น เน้นย้ำถึงประสิทธิภาพในการดีบักในสภาพแวดล้อมการพัฒนา Flash และ Flex
การประเมินโดยรวม
- ด้วยการอัปเดตอย่างต่อเนื่องยาวนานกว่า 20 ปี ทำให้กลายเป็นเครื่องมือวิเคราะห์เครือข่ายที่จำเป็นสำหรับนักพัฒนาเว็บและมือถือ
- รองรับโปรโตคอลหลากหลายและมี UI ที่ใช้งานเข้าใจง่าย ช่วยเพิ่มประสิทธิภาพการดีบัก พร้อมทั้งมีการปรับปรุงด้านความปลอดภัย ประสิทธิภาพ และความเข้ากันได้ อย่างต่อเนื่อง
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
อยากพูดถึง Fiddler ที่เมื่อก่อนผมชอบมากจริงๆ
ตอนลองใช้ครั้งแรกเมื่อเกือบ 20 ปีก่อน มันให้ความรู้สึกเหมือนเป็นเครื่องมือจากอนาคต จำได้ว่าตอนนั้นมันทรงพลังกว่า Charles เสียอีก
เดิมทีเป็น Windows เท่านั้น แต่เคยมีแผนจะทำเวอร์ชันสำหรับแพลตฟอร์มอื่นด้วย หลังจากนั้นก็ถูกซื้อกิจการและโรดแมปก็เปลี่ยนไป ส่วนผมก็เลิกใช้ Windows แล้ว
เว็บไซต์ทางการของ Fiddler
สงสัยว่าคุณเคยหา เครื่องมือทดแทนบน macOS เจอไหม ผมยังหาอันที่ถูกใจจริงๆ ไม่เจอเลย
เป็นเครื่องมือที่เหมือนเพชรซ่อนแสง
ทางเลือกฟรีที่ใกล้เคียงที่สุดคือ mitmproxy แต่พูดตรงๆ คือเทียบกันไม่ได้
แน่นอนว่ามี Wireshark ด้วย แต่เป็นเครื่องมือสารพัดประโยชน์เกินไปและมี learning curve สูง
เมื่อก่อนใช้งานได้โดยไม่ต้องสมัครสมาชิก และก็คุ้มค่ากับเงินที่จ่ายมาก
ใช้ gomitmproxy เพื่อจัดการการดักทราฟฟิกและเข้ารหัสใหม่
ผมเคยอัปโหลดซอร์สไว้ ที่นี่ แต่เซิร์ฟเวอร์ git พังเลยกู้กลับมาไม่ได้
ช่วงนี้ก็สงสัยว่า AI จะช่วยเปลี่ยนโค้ดง่อยๆ ของผมให้กลายเป็น Charles clone ที่สมบูรณ์ได้ไหม
แต่ที่น่าหงุดหงิดคือ Apple บังคับให้มี บัญชีนักพัฒนาแบบเสียเงิน ถึงจะเข้าถึง Packet Tunnel API ได้ แถมยังทดสอบบน simulator ไม่ได้อีก เลยเสียเวลางมอยู่เกินวัน
ทุกวันนี้มีแอปจำนวนมากที่ติด certificate pinning จนใช้ไม่ได้ แต่กรณีแบบนั้นก็แก้ด้วย Frida
ลิงก์ดาวน์โหลด Burp
Burp Suite ก็ทำอะไรคล้ายกันได้ แต่แนวทางต่างกัน
Charles โฟกัสที่ การสังเกตและดีบักทราฟฟิก HTTP(S) จึงเหมาะกับการหาปัญหาอย่างรวดเร็ว
ส่วน Burp จะเน้นด้านความปลอดภัย โดยเด่นเรื่อง intercept, replay, automation และการวิเคราะห์ attack surface
เพราะงั้นถ้าต้องการแค่การมองเห็นทราฟฟิกก็ใช้ Charles แต่ถ้าจุดประสงค์คือการวิเคราะห์ความปลอดภัยก็ใช้ Burp
ผมไม่ได้ต้องการฟีเจอร์ซับซ้อนมาก เลยใช้ Charles มานาน แต่เมื่อไม่กี่ปีก่อนเปลี่ยนไปใช้ Proxyman แล้วรู้สึกว่าใช้ง่ายกว่ามาก
โครงสร้างเมนูค่อนข้างซับซ้อน และฟีเจอร์ด้าน DNS ยังไม่พอ ผมก็เคยลอง Proxyman เหมือนกัน แต่ไม่ได้รู้สึกว่าดีกว่าชัดเจน เลยไม่ได้ซื้อไลเซนส์เพิ่ม
ขอบคุณนักพัฒนาของทั้งสองเครื่องมือ
สงสัยว่าทำไมสิ่งนี้ถึงขึ้นมาอยู่บน หน้าแรกของ Hacker News ตอนนี้ ทั้งที่คิดว่าเป็นเครื่องมือที่คนรู้จักกันดีอยู่แล้ว
สำหรับงานง่ายๆ ผมใช้เวอร์ชันฟรีของ HTTP Toolkit
มันเปิด หน้าต่าง Firefox ของตัวเองขึ้นมาเพื่อดักทราฟฟิก เลยสะดวกดีเพราะไม่ต้องไปยุ่งกับการตั้งค่าเบราว์เซอร์ที่ใช้ทำงาน
ตอนเริ่มพัฒนา iOS ในปี 2011, Charles เป็นของจำเป็นสำหรับ การดีบัก HTTP API
ดีใจที่เห็นว่ายังได้รับการดูแลต่อเนื่องมาจนถึงทุกวันนี้
ผมเพิ่งใช้ Charles Proxy ครั้งแรกเมื่อปีที่แล้ว และมันยอดเยี่ยมมาก
มันยังมี เวอร์ชันแอปมือถือ สำหรับเวลาที่ต้องใช้ SSL proxy กับแอปมือถือด้วย
ผมยังคิดว่ามันเป็นหนึ่งในซอฟต์แวร์ที่ดีที่สุดอยู่ดี
ช่วงนี้กำลังใช้ Proxyman
ผมเป็น ผู้ใช้ Burp แต่ช่วงนี้ Caido กำลังมาแรง
มันเบาและรันแบบ headless mode ได้ แม้จะยังเน้นด้านความปลอดภัย แต่ก็ออกแบบมาให้ proxy ทราฟฟิกทั้งหมดบน VPS หรือคอนเทนเนอร์ได้