2 คะแนน โดย GN⁺ 2025-12-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เครื่องมือเว็บดีบักพร็อกซีที่สามารถวิเคราะห์ทราฟฟิก 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 ความคิดเห็น

 
GN⁺ 2025-12-21
ความคิดเห็นบน Hacker News
  • อยากพูดถึง Fiddler ที่เมื่อก่อนผมชอบมากจริงๆ
    ตอนลองใช้ครั้งแรกเมื่อเกือบ 20 ปีก่อน มันให้ความรู้สึกเหมือนเป็นเครื่องมือจากอนาคต จำได้ว่าตอนนั้นมันทรงพลังกว่า Charles เสียอีก
    เดิมทีเป็น Windows เท่านั้น แต่เคยมีแผนจะทำเวอร์ชันสำหรับแพลตฟอร์มอื่นด้วย หลังจากนั้นก็ถูกซื้อกิจการและโรดแมปก็เปลี่ยนไป ส่วนผมก็เลิกใช้ Windows แล้ว
    เว็บไซต์ทางการของ Fiddler

    • เห็นด้วยมาก ผมยังชอบเล่าถึงความทรงจำเกี่ยวกับเครื่องมือสุดเจ๋งตัวนั้นอยู่บ่อยๆ
      สงสัยว่าคุณเคยหา เครื่องมือทดแทนบน macOS เจอไหม ผมยังหาอันที่ถูกใจจริงๆ ไม่เจอเลย
  • เป็นเครื่องมือที่เหมือนเพชรซ่อนแสง
    ทางเลือกฟรีที่ใกล้เคียงที่สุดคือ mitmproxy แต่พูดตรงๆ คือเทียบกันไม่ได้
    แน่นอนว่ามี Wireshark ด้วย แต่เป็นเครื่องมือสารพัดประโยชน์เกินไปและมี learning curve สูง
    เมื่อก่อนใช้งานได้โดยไม่ต้องสมัครสมาชิก และก็คุ้มค่ากับเงินที่จ่ายมาก

    • ช่วงหน้าร้อนผมลองทำ โคลน ของ Charles Proxy ขึ้นมา ใช้โครงสร้าง iOS VPN → mitm → custom root certificate → logging
      ใช้ gomitmproxy เพื่อจัดการการดักทราฟฟิกและเข้ารหัสใหม่
      ผมเคยอัปโหลดซอร์สไว้ ที่นี่ แต่เซิร์ฟเวอร์ git พังเลยกู้กลับมาไม่ได้
      ช่วงนี้ก็สงสัยว่า AI จะช่วยเปลี่ยนโค้ดง่อยๆ ของผมให้กลายเป็น Charles clone ที่สมบูรณ์ได้ไหม
      แต่ที่น่าหงุดหงิดคือ Apple บังคับให้มี บัญชีนักพัฒนาแบบเสียเงิน ถึงจะเข้าถึง Packet Tunnel API ได้ แถมยังทดสอบบน simulator ไม่ได้อีก เลยเสียเวลางมอยู่เกินวัน
    • ราวปี 2016~17 ผมใช้ mitmproxy กับ mitmdump หนักมาก มันทรงพลังและเขียนสคริปต์ได้ง่าย เลยเหมาะกับงานของผมมากกว่า Charles เยอะ
    • เมื่อก่อนเวลา reverse engineering ส่วนขยายเบราว์เซอร์ หรือแอปมือถือ mitmproxy ก็เอาอยู่แล้ว
    • เหตุผลที่ผมชอบ mitmproxy คือมันรันบนเซิร์ฟเวอร์ได้โดยตรง และถ้าติดตั้ง certificate ที่เชื่อถือได้บนมือถือแล้วเชื่อมทราฟฟิกผ่าน WireGuard ก็จะดูทราฟฟิกทั้งหมดผ่านเว็บได้
      ทุกวันนี้มีแอปจำนวนมากที่ติด certificate pinning จนใช้ไม่ได้ แต่กรณีแบบนั้นก็แก้ด้วย Frida
    • Burp ก็มีเวอร์ชันฟรี (Community Edition) เหมือนกัน
      ลิงก์ดาวน์โหลด Burp
  • Burp Suite ก็ทำอะไรคล้ายกันได้ แต่แนวทางต่างกัน
    Charles โฟกัสที่ การสังเกตและดีบักทราฟฟิก HTTP(S) จึงเหมาะกับการหาปัญหาอย่างรวดเร็ว
    ส่วน Burp จะเน้นด้านความปลอดภัย โดยเด่นเรื่อง intercept, replay, automation และการวิเคราะห์ attack surface
    เพราะงั้นถ้าต้องการแค่การมองเห็นทราฟฟิกก็ใช้ Charles แต่ถ้าจุดประสงค์คือการวิเคราะห์ความปลอดภัยก็ใช้ Burp

    • Caido ก็เป็นอีกตัวเลือกที่น่าสนใจ แม้จะเป็นหน้าใหม่แต่โตเร็วมาก และฟีเจอร์หลายอย่างของ Burp ในช่วงหลังๆ ก็แทบจะ ได้แรงบันดาลใจ มาจาก Caido
    • สำหรับ use case ของผม Burp อย่างเดียวก็พอแล้ว แม้แต่เวอร์ชัน community ก็ทำงานได้ดีพอสมควร
    • อีกทางเลือกหนึ่งคือ ZAP(Zed Attack Proxy) ซึ่งฟรีทั้งหมดและเป็นโอเพนซอร์ส
  • ผมไม่ได้ต้องการฟีเจอร์ซับซ้อนมาก เลยใช้ Charles มานาน แต่เมื่อไม่กี่ปีก่อนเปลี่ยนไปใช้ Proxyman แล้วรู้สึกว่าใช้ง่ายกว่ามาก

    • Proxyman แพงกว่านิดหน่อย แต่คุ้มค่ากว่าประมาณ 100 เท่า ทั้ง UI แบบเนทีฟ, คีย์ลัด, ตัวช่วยติดตั้ง certificate และ ตัวแก้ไขสคริปต์ ก็ทรงพลังกว่า Charles มาก
    • ผมเองก็ใช้ Charles มานานกว่า 10 ปี แต่ถ้าเป็นผู้ใช้ macOS, Proxyman ให้ความรู้สึกเป็นธรรมชาติและสะดวกกว่ามาก
    • ที่ทำงานเก่าของผม Charles ไม่ได้อยู่ใน รายชื่อซอฟต์แวร์ที่ได้รับอนุมัติ เลยใช้ Requestly แทน หลังจากนั้นลองกลับไปใช้ Charles อีกครั้ง แต่สุดท้ายก็กลับมาใช้ Requestly เพราะมันเรียบง่ายกว่า
    • Charles แทบจะสมบูรณ์แบบในแง่ฟังก์ชันอยู่แล้ว แต่ถ้าปรับ UI อีกนิดเดียวก็น่าจะเป็นเครื่องมือที่สมบูรณ์แบบได้
      โครงสร้างเมนูค่อนข้างซับซ้อน และฟีเจอร์ด้าน DNS ยังไม่พอ ผมก็เคยลอง Proxyman เหมือนกัน แต่ไม่ได้รู้สึกว่าดีกว่าชัดเจน เลยไม่ได้ซื้อไลเซนส์เพิ่ม
    • ผมใช้ทั้งสองตัวควบคู่กัน Proxyman ไม่มีฟีเจอร์ จัดกลุ่มเซสชัน เลยยังเลิกใช้ Charles แบบเด็ดขาดไม่ได้
      ขอบคุณนักพัฒนาของทั้งสองเครื่องมือ
  • สงสัยว่าทำไมสิ่งนี้ถึงขึ้นมาอยู่บน หน้าแรกของ Hacker News ตอนนี้ ทั้งที่คิดว่าเป็นเครื่องมือที่คนรู้จักกันดีอยู่แล้ว

    • มีคนที่เพิ่งเคยได้ยินชื่อเหมือนกัน เลยดีใจที่มีการแนะนำ
    • ผมก็งงเหมือนกัน ช่วงหลังไม่ได้มีอัปเดตอะไรใหม่ แต่ไม่รู้ว่าทำไมถึงกลับมาเป็นที่สนใจอีก
  • สำหรับงานง่ายๆ ผมใช้เวอร์ชันฟรีของ HTTP Toolkit
    มันเปิด หน้าต่าง Firefox ของตัวเองขึ้นมาเพื่อดักทราฟฟิก เลยสะดวกดีเพราะไม่ต้องไปยุ่งกับการตั้งค่าเบราว์เซอร์ที่ใช้ทำงาน

  • ตอนเริ่มพัฒนา iOS ในปี 2011, Charles เป็นของจำเป็นสำหรับ การดีบัก HTTP API
    ดีใจที่เห็นว่ายังได้รับการดูแลต่อเนื่องมาจนถึงทุกวันนี้

  • ผมเพิ่งใช้ Charles Proxy ครั้งแรกเมื่อปีที่แล้ว และมันยอดเยี่ยมมาก
    มันยังมี เวอร์ชันแอปมือถือ สำหรับเวลาที่ต้องใช้ SSL proxy กับแอปมือถือด้วย

  • ผมยังคิดว่ามันเป็นหนึ่งในซอฟต์แวร์ที่ดีที่สุดอยู่ดี
    ช่วงนี้กำลังใช้ Proxyman

    • ผมก็ย้ายจาก Charles ไป Proxyman เหมือนกัน มันทำ remote debugging ได้ด้วย แค่ต่อ iPhone ด้วยสายก็ตรวจสอบได้ทันที
  • ผมเป็น ผู้ใช้ Burp แต่ช่วงนี้ Caido กำลังมาแรง
    มันเบาและรันแบบ headless mode ได้ แม้จะยังเน้นด้านความปลอดภัย แต่ก็ออกแบบมาให้ proxy ทราฟฟิกทั้งหมดบน VPS หรือคอนเทนเนอร์ได้

    • ผมเป็น ผู้ร่วมก่อตั้ง Caido ขอบคุณที่พูดถึง และตอนนี้เราก็กำลังขยายไปยัง สาย DevSecOps ด้วย