LEAK GUIDE

การตรวจจับการรั่วไหล · หมายเหตุทางเทคนิค

การทดสอบการรั่วไหลต้องดูขาออกของเว็บ WebRTC, DNS, IPv6 และความสอดคล้องของสภาพแวดล้อมไปพร้อมกัน หมายเหตุนี้ช่วยแยกการรั่วไหลจริงออกจากการแยกเส้นทางตามปกติ หรือผลที่เกิดจากโหมด proxy

กลับไปที่ทดสอบการรั่วไหล

Technical Notes

อธิบาย WebRTC, UDP และ DNS Leak

การทดสอบการรั่วไหลต้องดูขาออกของเว็บ WebRTC, DNS, IPv6 และความสอดคล้องของสภาพแวดล้อมไปพร้อมกัน หมายเหตุนี้ช่วยแยกการรั่วไหลจริงออกจากการแยกเส้นทางตามปกติ หรือผลที่เกิดจากโหมด proxy

WebRTC Leak คืออะไร

WebRTC คือความสามารถในการสื่อสารแบบเรียลไทม์ที่มีมาในเบราว์เซอร์ ใช้กับการประชุมทางวิดีโอ การโทรด้วยเสียง การส่งไฟล์แบบ P2P และสถานการณ์อื่น ๆ ในการสร้างการเชื่อมต่อแบบ peer-to-peer เบราว์เซอร์จะค้นหาที่อยู่ฝั่งสาธารณะของตัวเองผ่านเซิร์ฟเวอร์ STUN การตรวจนี้มักใช้ UDP และ proxy แบบ HTTP / SOCKS ทั่วไปไม่จำเป็นต้องดักรับ UDP เสมอไป

หากคำขอ STUN ข้าม proxy และออกจากเครือข่ายภายในโดยตรง สคริปต์บนหน้าเว็บก็อาจได้ IP สาธารณะจริงของคุณ กระบวนการนี้มักไม่ต้องขอสิทธิ์กล้องหรือไมโครโฟน และไม่มีป๊อปอัปยืนยันเพิ่มเติม จึงมักใช้ตรวจว่า proxy ครอบคลุมทราฟฟิกการสื่อสารแบบเรียลไทม์จริงหรือไม่

เครื่องมือนี้ตรวจจับอย่างไร

หน้านี้จะลองตรวจ WebRTC กับเซิร์ฟเวอร์ STUN หลายตัว รวบรวมที่อยู่สาธารณะที่ได้รับกลับมา แล้วเปรียบเทียบกับ IP ขาออก HTTP หากที่อยู่ที่ได้ตรงกับขาออกปัจจุบัน แสดงว่าเส้นทาง UDP น่าจะผ่าน proxy แต่หากได้ที่อยู่ของผู้ให้บริการเครือข่ายในพื้นที่ ก็ควรตรวจสอบเพิ่มเติม

  • ตรวจว่า UDP ออกผ่านขาออกของ proxy หรือไม่
  • ตรวจว่า IPv4 / IPv6 รั่วไหลแยกกันหรือไม่
  • สังเกตว่าเป้าหมาย STUN ที่ต่างกันตรงกับกฎการแยกเส้นทางที่ต่างกันหรือไม่

บทบาทของ STUN และ UDP

UDP เป็นโปรโตคอลรับส่งข้อมูลแบบไม่มีการเชื่อมต่อ มักใช้กับเสียง วิดีโอ เกม และการสื่อสารแบบเรียลไทม์ หน้าที่ของ STUN นั้นเรียบง่าย: คุณส่งแพ็กเก็ต UDP ไปยังเซิร์ฟเวอร์ แล้วเซิร์ฟเวอร์จะบอก IP ต้นทางที่มันเห็น WebRTC อาศัยผลนี้ในการเจรจาการเชื่อมต่อ ที่อยู่ที่ STUN เห็นจึงเป็นหลักฐานสำคัญในการตัดสินการรั่วไหล

วิธีอ่านผลลัพธ์

ไม่พบการรั่วไหลIP สาธารณะที่ WebRTC ส่งกลับมาตรงกับขาออกของ proxy ปัจจุบัน (สำหรับ IPv6 ดูว่าอยู่ใน /64 เดียวกัน) หากไม่ได้รับ IP สาธารณะใดกลับมาเลย แปลว่าการทดสอบครั้งนี้ไม่ได้รับคำตอบ ไม่ใช่หลักฐานว่าปลอดภัย
สงสัยว่ารั่วไหลWebRTC ส่งกลับ IP สาธารณะที่ต่างออกไป และตำแหน่ง ผู้ให้บริการเครือข่าย หรือ ASN ชี้ไปที่เครือข่ายจริงในพื้นที่ของคุณ
การแยกเส้นทางตามปกติเซิร์ฟเวอร์ STUN หลายตัวส่งกลับขาออกของ proxy ต่างกัน แต่ขาออกเหล่านี้ตรงกับเส้นทางหรือกฎที่คุณตั้งค่าไว้

ทำอย่างไรเมื่อพบการรั่วไหล

  • เปลี่ยนไคลเอนต์ proxy เป็นโหมด TUN เพื่อให้ UDP ของ WebRTC ออกผ่านขาออกของ proxy ด้วย
  • Chrome / Edge: ตั้งนโยบายองค์กร <code>WebRtcIPHandling</code> = <code>disable_non_proxied_udp</code> ส่วน Firefox: เปิด <code>media.peerconnection.ice.proxy_only_if_behind_proxy</code> ใน <code>about:config</code> อย่าลบ WebRTC ทิ้งไปเลย เพราะเบราว์เซอร์ที่ไม่มี WebRTC ก็ถูกระบุตัวได้ในตัวเอง
  • Brave: ตั้งนโยบายการจัดการ IP ของ WebRTC เป็น “Disable non-proxied UDP”
  • เมื่อต้องใช้การประชุมหรือโทรด้วยเสียง ให้แก้ไขกฎการแยกเส้นทาง UDP / STUN ในไคลเอนต์ proxy ก่อน

IP ขาออกหลายตัวไม่จำเป็นต้องเป็นการรั่วไหล

หากคุณตั้งค่าการแยกเส้นทางไว้ เซิร์ฟเวอร์ STUN แต่ละตัวอาจวิ่งผ่านโหนดต่างกัน เช่น STUN ของ Google ผ่านขาออกในสหรัฐอเมริกา และ STUN ของ Cloudflare ผ่านขาออกในฮ่องกง กรณีนี้ไม่จำเป็นต้องอันตราย สิ่งสำคัญคือตรงกับกฎที่คุณออกแบบไว้หรือไม่ สิ่งที่ต้องระวังจริง ๆ คือเมื่อที่อยู่ WebRTC ทั้งหมดชี้ไปยังตำแหน่งจริงของคุณหรือ ISP ในพื้นที่

DNS Leak ก็สำคัญไม่แพ้กัน

WebRTC Leak เปิดเผย “IP จริงของคุณ” ส่วน DNS Leak เปิดเผย “โดเมนที่คุณค้นหา” หากคำขอ DNS ไม่ผ่าน proxy ผู้ให้บริการเครือข่ายในพื้นที่หรือ resolver upstream ก็ยังเห็นได้ว่าคุณเข้าเว็บไซต์ใดบ้าง

การตรวจ DNS Leak ในหน้านี้ใช้ probe จริง: CleanIP.io ให้บริการ NS ที่มีสิทธิ์ (authoritative) ที่รัฐยูทาห์ สหรัฐอเมริกา (ns1) และที่ลอสแอนเจลิส สหรัฐอเมริกา (ns2) แห่งละ 1 ตัว สำหรับโซน dp.cleanip.io การตรวจแต่ละครั้งจะ resolve ซับโดเมน <uuid>.dp.cleanip.io ที่แยกกัน 8 รายการ คำขอเหล่านี้จะผ่าน stub resolver ของระบบคุณ -> ISP / VPN / recursive resolver สาธารณะ และไปสิ้นสุดที่ NS ที่มีสิทธิ์ของเรา ซึ่งจะบันทึก IP ของ resolver ที่ส่งคำขอและ EDNS Client Subnet (ถ้ามี) แล้วส่งกลับมาให้คุณเปรียบเทียบ

ดูสัญญาณ 2 อย่างเป็นหลัก: ① ซับเน็ต ECS — หาก recursive resolver ส่งต่อซับเน็ตของไคลเอนต์คุณ (พบบ่อยกับ Google 8.8.8.8) ซับเน็ตนั้นคือหลักฐานชัดเจนที่ระบุตัวไคลเอนต์ของคุณ ② ประเทศของ resolver — การใช้ anycast ข้ามประเทศของ recursive resolver สาธารณะ (1.1.1.1 / 8.8.8.8) เป็นเรื่องปกติ สิ่งสำคัญคือเมื่อคุณคิดว่าเปิด VPN อยู่ ตำแหน่งของ resolver ตรงกับประเทศของขาออก HTTP หรือไม่

ทำไมโหมด proxy กับโหมด TUN จึงให้ผลต่างกัน

Proxy แบบ HTTP / SOCKS มักจัดการเฉพาะ TCP ดังนั้น UDP ที่ STUN ต้องใช้อาจส่งไม่ออก และหน้าเว็บอาจแสดงว่า “ไม่รั่วไหล” แต่นั่นไม่ได้หมายความว่า UDP ถูกส่งผ่าน proxy อย่างปลอดภัย เพียงแค่ UDP ไม่เคยไปถึงเซิร์ฟเวอร์ STUN เท่านั้น โหมด TUN ดักรับทั้ง TCP และ UDP บนอะแดปเตอร์เครือข่ายเสมือน จึงสะท้อนเส้นทางขาออก UDP จริงได้ดีกว่า

โหมดSTUN UDPความหมายของผล
Proxy แบบ HTTP / SOCKSอาจส่งไม่ออก“ไม่รั่วไหล” อาจแค่หมายความว่า UDP ถูกบล็อก
TUN / อะแดปเตอร์เสมือนส่งออกได้จริงเหมาะกว่าสำหรับตรวจขาออก UDP และกฎการแยกเส้นทาง

แนะนำให้ทดสอบซ้ำภายใต้โหมดเครือข่ายที่คุณใช้จริง: หากปกติใช้ TUN ให้ทดสอบด้วย TUN หากพึ่ง proxy ของเบราว์เซอร์ ให้ยืนยันด้วยว่า UDP ที่ถูกบล็อกไม่ได้ถูกตีความผิดว่าปลอดภัย เมื่อตัดสิน WebRTC Leak ให้ดูที่ ASN ตำแหน่ง และ IP ที่ได้กลับมาตรงกับการแยกเส้นทางที่คุณคาดไว้หรือไม่

mimetic
mimetic
mimetic