
ทำไมใช้พร็อกซีแล้วยังเห็น IP: การทดสอบและป้องกัน WebRTC
หน้าตรวจ IP ปกติแสดงพร็อกซี แต่ WebRTC แสดง IP อื่นหรือชื่อ .local สิ่งนี้ยังไม่พิสูจน์การรั่วหากไม่รู้ชนิด ICE candidate และเส้นทางจริง
พร็อกซี HTTP มักส่งต่อเฉพาะเว็บ WebRTC รวบรวม candidate จาก local interface, STUN และ TURN ผ่าน UDP หรือ TCP หาก UDP หรือ IPv6 ไม่เข้าพร็อกซี STUN อาจเห็น public mapping ของเครือข่ายเดิม
| ชนิด | ความหมาย |
|---|---|
host | local, private IP, IPv6 หรือ mDNS; เพียงอย่างเดียวไม่ใช่หลักฐาน public leak |
srflx | NAT mapping จาก STUN; ถ้าเป็น public IP ของ ISP เดิมคือหลักฐานสำคัญ |
prflx | candidate ที่พบระหว่าง connectivity check |
relay | ที่อยู่ TURN server ไม่ใช่อุปกรณ์ปลายทาง |
W3C อธิบายความเสี่ยงในส่วนการเปิดเผย IP
ทดสอบและป้องกัน
บันทึก IPv4/IPv6 เดิมแบบส่วนตัว เปิดพร็อกซี รีสตาร์ต profile และตรวจ HTTP, DNS และทั้งสอง IP family จากนั้นเก็บ type, protocol, address แล้วเทียบกับ proxy, ISP และ TURN srflx ที่มี ISP IP เดิมคือความเสี่ยง ส่วน private หรือ .local ต้องดูบริบท และ relay คือ TURN ดูชนิด ICE
ใช้ tunnel ที่รองรับ UDP และ IPv6 จริง ตรวจ split tunneling และบล็อก UDP ที่ไม่ผ่านพร็อกซีเมื่อรองรับ การปิด WebRTC ทำให้ video call และ screen sharing ใช้ไม่ได้ นักพัฒนาสามารถบังคับ TURN relay-only แต่มี latency และต้นทุนเพิ่ม
PurpleMark มี Forward, Replace, Real, Disable และ Proxy UDP โดย Replace ทำให้ IPv4 ตรงกับ proxy, Real ใช้ข้อมูลจริง, Disable ปิดการอ่าน, Proxy UDP ต้องใช้ Patch 2.8.2.0+ และ Forward คงความสามารถตามการตั้งค่า ต้องทดสอบทุกโหมดกับเครือข่ายจริง
สรุป
ที่อยู่ตัวที่สองไม่ได้แปลว่ารั่วเสมอ ต้องรู้ชนิด candidate และเทียบกับเครือข่ายเดิมกับพร็อกซี PurpleMark ช่วยแยกสภาพแวดล้อมที่ได้รับอนุญาต แต่ไม่แทนการทดสอบหรือกฎแพลตฟอร์ม