
by hyperion-cs

ตัวนี้คือ DPI Checkers จาก hyperion-cs เป็นเครื่องมือที่เอาไว้เช็คว่าอินเทอร์เน็ตที่บ้านเราโดนผู้ให้บริการอินเทอร์เน็ต (ISP) ตรวจสอบหรือเซ็นเซอร์ข้อมูลผ่าน DPI หรือเปล่า โดย DPI ย่อมาจาก DeepPacket Inspection ซึ่งเป็นเทคนิคที่ ISP ใช้แอบดูข้อมูลในแพ็กเก็ตเน็ตเราเพื่อบล็อกหรือจำกัดการเข้าถึงเว็บไซต์บางอย่าง โปรเจกต์นี้เขียนมาเพื่อวัตถุประสงค์วิจัยและการศึกษาเท่านั้น ใครจะใช้ต้องรับผิดชอบตามกฎหมายในประเทศตัวเอง เขามีหลายตัวเช็คให้เลือกใช้ตามความต้องการ ทั้งแบบรันบนเบราว์เซอร์และแบบโปรแกรม standalone ที่ลงเครื่องได้เลย
จุดเด่นที่สำคัญที่สุดคือตัว DPI-CH ซึ่งเป็นเครื่องมือตัวใหญ่สุดในกลุ่มนี้ ไม่ถูกจำกัดด้วย sandbox ของเบราว์เซอร์เหมือนเวอร์ชันอื่น ทำให้เช็คได้ลึกและละเอียดกว่ามาก ตัวนี้เขียนด้วยภาษา Go มี build ให้โหลดใช้บน Windows Mac และ Linux ส่วน Android กำลังทำมา อีกตัวที่น่าสนใจคือ TCP 16-20 checker ที่รันบนเบราว์เซอร์ได้เลย ไม่ต้องติดตั้งอะไร แค่เปิดลิงก์แล้วกดเช็ค มันจะทดสอบการเชื่อมต่อไปยังเว็บไซต์ยอดนิยมที่โฮสต์บนเซิร์ฟเวอร์ในรัสเซียเพื่อดูว่า ISP เราบล็อกวิธีนี้หรือไม่
นอกจากนี้ยังมีตัวเช็ค IPv4Whitelisted Subnets ที่เอาไว้ตรวจสอบว่า ISP เราอนุญาตให้เข้าถึงแค่ subnet IP บางช่วงหรือเปล่า ซึ่งเป็นวิธีเซ็นเซอร์อีกรูปแบบหนึ่งที่นิยมใช้ในบางประเทศ
ฟีเจอร์เสริมที่เจ๋งคือตัวเช็คแบบเว็บส่วนใหญ่รองรับพารามิเตอร์ผ่าน URL ได้ เช่น เราสามารถกำหนด timeout เองได้ว่าจะรอการตอบกลับนานแค่ไหน หรือใส่ host ที่อยากเช็คเพิ่มเองได้ เช่นเซิร์ฟเวอร์ส่วนตัวที่เรามี สำหรับตัว IPv4 Whitelisted Subnets ยังสามารถปรับได้ว่าจะเช็คกี่ host ต่อ subnet หรือจะเช็คแค่ subnet ที่มี prefix /24 หรือไม่ ซึ่งช่วยให้ผลลัพธ์แม่นยำขึ้น อีกตัวที่น่าสนใจคือ TCP 16-20 DWC หรือ Domain Whitelist Checker ที่เอาไว้หาว่าเว็บไหนบ้างที่ถูกขึ้นบัญชีขาวในระบบ DPI ข้อมูลนี้มีประโยชน์มากถ้าเราอยากรู้ว่าอะไรโดนบล็อก อะไรไม่โดน และอยากหาทางเลี่ยงการบล็อกทางเทคนิคแล้วโปรเจกต์นี้ใช้หลายภาษาและเทคโนโลยีผสมกัน ตัวหลัก DPI-CH เขียนด้วย Go ซึ่งเหมาะกับการทำ networking tool เพราะ compile ออกมาเป็นไฟล์เดียวรันได้ทุก OS ส่วนเครื่องมือเว็บเขียนด้วย JavaScript รันตรงบนเบราว์เซอร์ ใช้ fetch API หรือ XMLHttpRequest ในการทดสอบการเชื่อมต่อไปยังเซิร์ฟเวอร์เป้าหมาย ตัว DWC ใช้ Python 3 ร่วมกับ curl ในการทำงาน โดยต้องมีเซิร์ฟเวอร์ที่ตั้งค่าพิเศษบนเน็ตเวิร์คที่ถูกจำกัดด้วย สถาปัตยกรรมโดยรวมเป็นแบบ client-side คือประมวลผลที่เครื่องผู้ใช้ ไม่มีเซิร์ฟเวอร์กลางมาเก็บข้อมูลเรา ทำให้เป็นส่วนตัวและปลอดภัยกว่า
ตัวนี้เหมาะกับคนที่สงสัยว่าอินเทอร์เน็ตบ้านตัวเองโดนจำกัดหรือเปล่า โดยเฉพาะในประเทศที่มีการเซ็นเซอร์อินเทอร์เน็ต เช่น รัสเซีย หรือบางประเทศในเอเชียกลางและตะวันออกกลาง นักวิจัยด้านความปลอดภัยหรือนักกิจกรรมดิจิทัลก็ใช้ได้เพื่อเก็บข้อมูลประจักษ์พยานว่า ISP ทำอะไรอยู่ หรือแม้แต่คนทั่วไปที่รู้สึกว่าเว็บบางเว็บโหลดช้าผิดปกติ หรือเข้าไม่ได้แต่คนอื่นเข้าได้ ก็ลองเอาไปเช็คดูได้ อีก use case คือการใช้ข้อมูลที่ได้ไปปรับแต่ง VPN หรือ proxy ให้เลี่ยงการบล็อกได้มีประสิทธิภาพขึ้น เพราะเรารู้ว่า ISP ใช้วิธีไหนในการกรอง
ข้อดีที่โดดเด่นเมื่อเทียบกับทางเลือกอื่นคือความหลากหลายของเครื่องมือใน repo เดียว ไม่ต้องไปหาที่อื่นให้ยุ่งยาก ตัว DPI-CH ที่เป็น standalone ไม่ติดข้อจำกัดของเบราว์เซอร์ทำให้เช็คได้ลึกกว่าเว็บเช็คเกอร์ทั่วไป อีกอย่างคือโปรเจกต์นี้ open source เราสามารถดูโค้ดได้ว่าเขาทดสอบยังไง ไม่ต้องกลัวว่าจะมีมัลแวร์หรือเก็บข้อมูลเราไปขาย
นอกจากนี้ยังมีเอกสารและคู่มือใช้งานค่อนข้างละเอียด โดยเฉพาะตัว DPI-CH ที่มีหน้า docs แยกไว้รวมถึง GIF สาธิตการใช้งานให้ดูด้วย ส่วนตัวเว็บเช็คเกอร์ก็ใช้งานง่าย ไม่ต้องติดตั้งอะไร แค่มีเบราว์เซอร์ก็เช็คได้เลย
ข้อจำกัดที่ควรรู้ก่อนใช้คือตัวเว็บเช็คเกอร์บางตัวอาจใช้ไม่ได้ถ้า ISP บล็อกโดเมน hyperion-cs.github.io เอง ซึ่งก็มีทางแก้คือโหลดไฟล์มาเปิดในเครื่องตัวเองแทน ตัว IPv4 Whitelist Checker ใช้เวลานานมากอาจถึงหลายสิบนาที แล้วถ้าใช้มือถือห้ามล็อกหน้าจอหรือสลับแอพไปอย่างอื่นระหว่างเช็ค ไม่งั้นอาจค้างได้ อีกอย่างคือบางตัวเช็คไม่ได้ผลถ้า ISP ใช้วิธีบล็อกหลายชั้นร่วมกัน เช่น บล็อกทั้ง subnet และTLS SNI พร้อมกัน ซึ่งเบราว์เซอร์ไม่สามารถปลอมแปลง SNI ได้ตามธรรมชาติของมันอยู่แล้ว สุดท้ายคือต้องปิด VPN ระหว่างเช็คไม่งั้นผลจะไม่ตรง
โดยรวมแล้วถ้าเพื่อนสงสัยว่าอินเทอร์เน็ตบ้านตัวเองโดนจำกัดหรือมีการเซ็นเซอร์แบบลึกๆ อยู่หรือเปล่า แนะนำให้ลองตัวนี้เลย เริ่มจากเว็บเช็คเกอร์ง่ายๆ ก่อนเพราะไม่ต้องติดตั้งอะไร ถ้าอยากรู้ลึกกว่านั้นค่อยโหลดตัว DPI-CH มารัน ข้อมูลที่ได้จะช่วยให้เราเข้าใจว่า ISP ทำอะไรอยู่และหาทางรับมือได้ถูกจุด แต่ก็อย่าลืมว่าใช้เพื่อการศึกษาและวิจัยเท่านั้น ต้องรับผิดชอบตามกฎหมายในประเทศตัวเองด้วยนะ