PCAPdroid เป็นแอปพลิเคชัน Open Source ตัวตึงบน F-Droid ที่เปลี่ยน Android ของคุณให้เป็นเครื่องมือวิเคราะห์ Network ( Network Sniffer ) ระดับโปร โดยจุดเด่นที่สุดคือ “ไม่ต้อง Root เครื่อง” ครับ นี่คือรายละเอียดเจาะลึกที่คุณควรรู้ก่อนใช้งาน
หลักการทำงาน ( Local VPN )
PCAPdroid จะสร้าง Virtual VPN ขึ้นมาภายในเครื่อง เพื่อดักจับ Traffic ทั้งหมดที่วิ่งเข้า-ออกผ่าน Network Interface แล้วนำมาวิเคราะห์ให้เราดูในรูปแบบที่อ่านง่าย ( Readable Format ) โดยที่ข้อมูลไม่ได้ถูกส่งออกไปยัง Server ภายนอกแต่อย่างใด
ฟีเจอร์ที่น่าสนใจ
- App-specific Analysis: เลือกดู Traffic แยกตามแอปได้เลย ( เช่น ดูว่า Facebook หรือแอปที่คุณเขียนเอง ยิงไปหา IP ไหนบ้าง )
- Traffic Decryption: สามารถถอดรหัส HTTPS/TLS เพื่อดูเนื้อหาข้างใน API Request / Response ได้ ( ต้องติดตั้งเครื่องมือเสริมและ CA Certificate )
- Malware Detection: มีระบบแจ้งเตือนหากตรวจพบการเชื่อมต่อที่ดูอันตรายหรือเชื่อมต่อไปยัง Domain ที่ติด Blacklist
- Export to PCAP: สามารถบันทึกไฟล์เป็นนามสกุล
.pcapเพื่อนำไปเปิดวิเคราะห์อย่างละเอียดด้วย Wireshark บนคอมพิวเตอร์ได้ - HTTP Server: เปิดโหมด Remote เพื่อดู Traffic ผ่าน Browser บนคอมพิวเตอร์ในวง LAN เดียวกันได้ทันที
วิธีการตั้งค่าเพื่อ Debug API ( HTTPS )
เนื่องจาก Android มีความปลอดภัยสูง การจะดูเนื้อหา API ที่เป็น HTTPS คุณต้องทำขั้นตอนเพิ่มเติมดังนี้
- ติดตั้ง PCAPdroid จาก F-Droid: ( แนะนำเวอร์ชันจาก F-Droid เพราะฟีเจอร์ครบกว่า Play Store )
- ติดตั้ง PCAPdroid CA Certificate: เข้าไปที่การตั้งค่าของแอปเพื่อสร้างใบรับรอง แล้วนำไปลงในเครื่อง ( Settings > Security > Encryption & Credentials > Install from storage )
- ใช้กับแอปที่พัฒนาเอง: หากคุณเป็น Developer อย่าลืมเพิ่ม Network Security Config ในโปรเจกต์ Android เพื่อให้แอปยอมรับ User CA:
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
ข้อดี vs ข้อจำกัด
| ข้อดี | ข้อจำกัด |
| ไม่ต้อง Root ก็ใช้งานได้เกือบครบ | ถ้าไม่ Root จะไม่สามารถ bypass SSL Pinning ของแอปดังๆ (เช่น Facebook, Banking) ได้ |
| UI ใช้ง่าย เห็น Real-time Traffic | การเปิดถอดรหัส HTTPS ค่อนข้างยุ่งยากสำหรับมือใหม่ |
| ประหยัดทรัพยากรเครื่อง | การรัน VPN ตลอดเวลาอาจกินแบตเตอรี่เพิ่มขึ้นเล็กน้อย |
อ่านเพิ่มเติม
About the author