ใช้พร็อกซีของโทรศัพท์ Android ผ่าน USB ด้วย adb forwarding
ทำความเข้าใจการเชื่อมต่อ adb-forward จากแล็ปท็อปไปยังพร็อกซี HTTP ที่โฮสต์บนโทรศัพท์ รวมถึงที่อยู่ loopback การออกผ่านเครือข่ายมือถือ และรูปแบบ SSH SOCKS แยกต่างหาก
หากอุปกรณ์ Android ที่ได้รับอนุญาตรันพร็อกซี HTTP ที่เข้าถึงได้ผ่าน adb บนพอร์ต 8080 อยู่แล้ว ให้ส่งต่อพอร์ตของแล็ปท็อปไปยังพอร์ตนั้น:
adb -s DEVICE_SERIAL forward tcp:6400 tcp:8080
ใช้หมายเลขซีเรียลจริงของอุปกรณ์ จากนั้นตั้งค่าพร็อกซี HTTP ของเบราว์เซอร์บนแล็ปท็อปเป็น 127.0.0.1:6400 พอร์ตแรกคือปลายทางของแล็ปท็อป พอร์ตที่สองคือบริการของโทรศัพท์ adb ให้เส้นทาง TCP ไม่ใช่โปรโตคอลพร็อกซี
laptop browser
-> laptop 127.0.0.1:6400
-> adb USB forwarding
-> phone TCP port 8080
-> phone's outbound network
พร็อกซีของโทรศัพท์ต้องรองรับการดำเนินการที่ขอ รวมถึง CONNECT สำหรับ HTTPS ของเบราว์เซอร์ ใช้การดีบัก USB เฉพาะกับอุปกรณ์ที่ได้รับอนุญาตและคอมพิวเตอร์ที่เชื่อถือได้ เส้นทางนี้ไม่ต้องการให้ผู้ให้บริการยอมรับการเชื่อมต่ออินเทอร์เน็ตที่ไม่ได้ขอเข้าสู่โทรศัพท์
ตรวจสอบการออก แยกจากการเข้าถึงผ่าน USB พร็อกซีใช้เครือข่ายขาออกที่โทรศัพท์เลือก เว้นแต่แอปของพร็อกซีจะผูกเครือข่ายอื่น Wi-Fi ที่ใช้งานอยู่ VPN หรือการกำหนดเส้นทางแอปอย่างชัดเจนอาจทำให้การออกต่างจากข้อมูลมือถือ
หากโทรศัพท์รันเซิร์ฟเวอร์ SSH แทน ให้ส่งต่อพอร์ตนั้นและสร้าง SOCKS บนแล็ปท็อป:
adb -s DEVICE_SERIAL forward tcp:2222 tcp:2222
ssh -N -D 127.0.0.1:8899 -p 2222 [email protected]
ที่นี่เบราว์เซอร์ใช้ SOCKS ที่ 127.0.0.1:8899 และ SSH เปิดการเชื่อมต่อปลายทางบนโทรศัพท์ นี่เป็นทางเลือกแทนการส่งต่อพร็อกซี HTTP โดยตรง ทั้งสองรูปแบบไม่ต้องใช้ผู้ฟังสาธารณะ
เมื่อเสร็จแล้ว ให้ลบรายการ adb ที่ระบุ เช่น adb -s DEVICE_SERIAL forward --remove tcp:6400 การปิดเบราว์เซอร์ไม่ได้ลบสถานะการส่งต่อ