PySkyWiFi: Wi‑Fi tốc độ thấp miễn phí trên các chuyến bay đường dài
(robertheaton.com)PySkyWiFi: Wi‑Fi trên chuyến bay đường dài hoàn toàn miễn phí nhưng ngớ ngẩn đến khó tin
- Khi máy bay đạt độ cao 10.000 feet, tác giả mở laptop ra để dùng Internet
- Sau khi kết nối với Wi‑Fi trên máy bay và mở trình duyệt, trang đăng nhập mạng yêu cầu thông tin thẻ tín dụng
- Khi thấy trên trang đăng nhập có thông báo đăng nhập miễn phí vào tài khoản tích lũy dặm bay, tác giả đã phát hiện ra một lỗ hổng của tường lửa
- Tác giả đã tìm ra cách đăng nhập vào tài khoản JetStreamers Diamond Altitude để truy cập Internet
Prototype 1: Nhắn tin tức thời
- Tác giả nghĩ ra cách gửi và nhận tin nhắn thông qua trường tên của tài khoản tích lũy dặm bay
- Bằng cách đăng nhập cùng một tài khoản tích lũy dặm bay trên hai máy tính rồi cập nhật và đọc trường tên, tác giả đã triển khai một ứng dụng chat đơn giản
- Để tự động hóa quá trình này, tác giả đã viết một công cụ dòng lệnh
Prototype 2: Tiêu đề tin tức thời gian thực, giá cổ phiếu, tỷ số bóng đá
- Tác giả đã viết một chương trình truyền thông tin thời gian thực qua tài khoản tích lũy dặm bay
- Chương trình hoạt động bằng cách để một máy tính dưới mặt đất định kỳ kiểm tra trường tên của tài khoản tích lũy dặm bay, rồi gửi ngược thông tin được yêu cầu trở lại máy bay
Triển khai thực tế: PySkyWiFi
- PySkyWiFi là một công cụ đơn giản hóa giao thức TCP/IP để truyền các yêu cầu HTTP thông qua tài khoản tích lũy dặm bay
- Trên máy tính dưới mặt đất, chương trình xử lý các yêu cầu HTTP rồi gửi lại phản hồi cho máy bay thông qua tài khoản tích lũy dặm bay
Cách PySkyWiFi hoạt động
-
PySkyWiFi gồm hai thành phần:
- Sky Proxy: proxy chạy trên laptop ở trên máy bay
- Ground Daemon: daemon chạy trên máy tính có kết nối Internet ở dưới mặt đất
-
Sky Proxy chia các yêu cầu HTTP thành những mảnh nhỏ và ghi chúng vào trường tên của tài khoản tích lũy dặm bay
-
Ground Daemon đọc các mảnh này, xử lý yêu cầu HTTP, sau đó lại chia phản hồi thành các mảnh nhỏ và ghi vào tài khoản tích lũy dặm bay
-
Sky Proxy đọc các mảnh phản hồi đó và ghép chúng lại thành phản hồi HTTP ban đầu
Logic giao tiếp của PySkyWiFi
-
Logic giao tiếp của PySkyWiFi được chia thành hai lớp:
- Transport Layer: chia dữ liệu thành các mảnh nhỏ và quản lý chế độ gửi/nhận
- Network Layer: đảm nhiệm việc truyền dữ liệu thực tế
-
Transport Layer chia dữ liệu thành các mảnh nhỏ để gửi đi, và khi bên nhận xác nhận thì mới gửi mảnh tiếp theo
-
Network Layer dùng trường tên của tài khoản tích lũy dặm bay để gửi và nhận dữ liệu
Tối ưu hóa và cải tiến
- Để vượt qua giới hạn độ dài trường của tài khoản tích lũy dặm bay, tác giả sử dụng mã hóa base26
- Tác giả dùng nhiều trường để tăng băng thông
Kết luận
- Tác giả đã thành công tải trang chủ blog bằng
curlvới PySkyWiFi - Đây là chuyến bay vừa hiệu quả nhất vừa kém hiệu quả nhất của tác giả
Tóm tắt của GN⁺
- PySkyWiFi đưa ra một cách sáng tạo để giảm chi phí Wi‑Fi trên máy bay
- Cách truy cập Internet bằng cách khai thác lỗ hổng trong tài khoản tích lũy dặm bay là một ý tưởng thú vị
- Dự án này giúp hiểu rõ hơn về các nguyên lý cơ bản của giao thức mạng và truyền thông
- Một dự án có chức năng tương tự là các dịch vụ proxy như
Tor
1 bình luận
Ý kiến Hacker News
Vài năm trước, người bạn đời của tôi dùng Google Voice để gửi tin nhắn SMS. Rất tiện vì có thể xem và trả lời tin nhắn ngay trong hộp thư đến Gmail
Trên chuyến phà 20 giờ từ Ý sang Hy Lạp, tôi không muốn dùng Internet vệ tinh trả phí
Vài tuần trước, khi đưa bọn trẻ đến một lớp học trong trung tâm thương mại, tôi đã thử dùng Wi‑Fi miễn phí
Gần đây, tôi nhận ra DNS toàn cục trên máy bay vẫn hoạt động tốt ngay cả khi chưa thanh toán
Có ý kiến cho rằng lúc nào ở trên máy bay cũng mệt và không làm được gì
Có người kể lại trải nghiệm quên sạc tai nghe trên máy bay nên phải mở nhạc bằng loa laptop
Gợi nhớ về dịch vụ cung cấp thông tin qua tin nhắn SMS mà Google từng có
Có ý kiến cho rằng khái niệm TCP-over-shared-editable-fields rất thú vị
Có ý kiến cho rằng viết phần mềm vô dụng vừa vui vừa có ích
Có người kể lại trải nghiệm hồi đại học khi mạng LAN bị chặn sau 10 giờ tối