PySkyWiFi: Wi‑Fi ความเร็วต่ำฟรีบนเที่ยวบินระยะไกล
(robertheaton.com)PySkyWiFi: Wi‑Fi บนเที่ยวบินระยะไกลที่ฟรีสนิทและเหลือเชื่อในความพิลึก
- เมื่อเครื่องบินไต่ถึงระดับความสูง 10,000 ฟุต ผู้เขียนก็หยิบโน้ตบุ๊กออกมาเพื่อใช้อินเทอร์เน็ต
- เชื่อมต่อกับ Wi‑Fi บนเครื่องแล้วเปิดเบราว์เซอร์ ก็พบว่าหน้าล็อกอินเครือข่ายขอข้อมูลบัตรเครดิต
- บนหน้าล็อกอินมีข้อความให้ล็อกอินบัญชีสะสมไมล์ฟรี ทำให้พบช่องโหว่ของไฟร์วอลล์
- ผู้เขียนหาวิธีล็อกอินเข้า JetStreamers Diamond Altitude account เพื่อเข้าถึงอินเทอร์เน็ตได้
Prototype 1: ข้อความโต้ตอบแบบทันที
- คิดวิธีส่งข้อความไปมาผ่านฟิลด์ชื่อในบัญชีสะสมไมล์
- ล็อกอินบัญชีสะสมไมล์เดียวกันบนคอมพิวเตอร์สองเครื่อง แล้วอัปเดตและอ่านค่าฟิลด์ชื่อเพื่อทำแชตแบบง่าย ๆ
- เพื่อทำกระบวนการนี้ให้เป็นอัตโนมัติ จึงเขียนเครื่องมือบรรทัดคำสั่งขึ้นมา
Prototype 2: พาดหัวข่าวเรียลไทม์ ราคาหุ้น และผลฟุตบอล
- เขียนโปรแกรมที่ส่งข้อมูลเรียลไทม์ผ่านบัญชีสะสมไมล์
- ทำงานโดยให้คอมพิวเตอร์บนพื้นดินคอยตรวจฟิลด์ชื่อของบัญชีสะสมไมล์เป็นระยะ แล้วส่งข้อมูลที่ร้องขอกลับไปยังเครื่องบิน
การใช้งานจริง: PySkyWiFi
- PySkyWiFi เป็นเครื่องมือที่ทำให้โปรโตคอล TCP/IP เรียบง่ายลง เพื่อส่งคำขอ HTTP ผ่านบัญชีสะสมไมล์
- คอมพิวเตอร์บนพื้นดินจะประมวลผลคำขอ HTTP แล้วส่งคำตอบกลับมายังเครื่องบินผ่านบัญชีสะสมไมล์
หลักการทำงานของ PySkyWiFi
-
PySkyWiFi มีสององค์ประกอบ:
- Sky Proxy: พร็อกซีที่รันบนโน้ตบุ๊กบนเครื่องบิน
- Ground Daemon: เดมอนที่รันบนคอมพิวเตอร์ซึ่งเชื่อมต่ออินเทอร์เน็ตอยู่บนพื้นดิน
-
Sky Proxy จะแบ่งคำขอ HTTP ออกเป็นชิ้นเล็ก ๆ แล้วเขียนลงในฟิลด์ชื่อของบัญชีสะสมไมล์
-
Ground Daemon จะอ่านชิ้นข้อมูลเหล่านี้ ประมวลผลคำขอ HTTP แล้วแบ่งคำตอบกลับเป็นชิ้นเล็ก ๆ เพื่อเขียนกลับลงในบัญชีสะสมไมล์
-
Sky Proxy จะอ่านชิ้นส่วนคำตอบเหล่านี้แล้วประกอบกลับเป็นคำตอบ HTTP เดิม
ตรรกะการสื่อสารของ PySkyWiFi
-
ตรรกะการสื่อสารของ PySkyWiFi แบ่งเป็นสองเลเยอร์:
- Transport Layer: แบ่งข้อมูลเป็นชิ้นเล็ก ๆ และจัดการโหมดส่งกับรับ
- Network Layer: ทำหน้าที่ส่งข้อมูลจริง
-
Transport Layer จะแบ่งข้อมูลเป็นชิ้นเล็ก ๆ เพื่อส่ง และเมื่อฝั่งรับยืนยันแล้วจึงส่งชิ้นถัดไป
-
Network Layer ใช้ฟิลด์ชื่อของบัญชีสะสมไมล์ในการรับส่งข้อมูล
การปรับแต่งและการปรับปรุง
- ใช้การเข้ารหัสแบบ base26 เพื่อหลบข้อจำกัดด้านความยาวฟิลด์ของบัญชีสะสมไมล์
- ใช้หลายฟิลด์เพื่อเพิ่มแบนด์วิดท์
บทสรุป
- ผู้เขียนสามารถโหลดหน้าแรกของบล็อกด้วย
curlผ่าน PySkyWiFi ได้สำเร็จ - โปรเจ็กต์นี้เป็นเที่ยวบินที่ทั้งมีประสิทธิผลที่สุดและไร้ประสิทธิผลที่สุดในเวลาเดียวกัน
สรุปโดย GN⁺
- PySkyWiFi นำเสนอวิธีสุดสร้างสรรค์ในการลดค่าใช้จ่าย Wi‑Fi บนเครื่องบิน
- วิธีเข้าถึงอินเทอร์เน็ตด้วยการอาศัยช่องโหว่ของบัญชีสะสมไมล์นั้นน่าสนใจมาก
- โปรเจ็กต์นี้ช่วยให้เข้าใจหลักการพื้นฐานของโปรโตคอลเครือข่ายและการสื่อสาร
- โปรเจ็กต์ที่มีแนวคิดคล้ายกันมีบริการพร็อกซีอย่าง
Tor
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เมื่อหลายปีก่อน คู่ของผู้แสดงความคิดเห็นใช้ Google Voice เพื่อส่งข้อความ SMS
เคยอยู่บนเรือเฟอร์รี่ 20 ชั่วโมงจากอิตาลีไปกรีซ และไม่อยากใช้อินเทอร์เน็ตผ่านดาวเทียมแบบเสียเงิน
เมื่อไม่กี่สัปดาห์ก่อน ตอนพาเด็ก ๆ ไปเรียนที่ห้าง ก็พยายามใช้ Wi‑Fi ฟรี
ไม่นานมานี้พบว่าบนเครื่องบิน global DNS ยังใช้งานได้ดีแม้ไม่จ่ายเงิน
มีความเห็นว่าบนเครื่องบินมักจะเหนื่อยตลอดและทำอะไรไม่ได้เลย
มีคนเล่าว่าเคยลืมชาร์จหูฟังบนเครื่องบิน เลยเปิดเพลงผ่านลำโพงโน้ตบุ๊ก
มีคนรำลึกถึงบริการข้อมูลผ่านข้อความ SMS ที่ Google เคยให้บริการ
มีความเห็นว่าแนวคิด TCP-over-shared-editable-fields น่าสนใจ
มีความเห็นว่าการเขียนซอฟต์แวร์ไร้สาระนั้นทั้งสนุกและได้ประโยชน์
มีคนเล่าถึงประสบการณ์ในมหาวิทยาลัยเมื่อหลายปีก่อนที่มีการตัดเครือข่าย LAN หลัง 4 ทุ่ม