หากอุปกรณ์ 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 การปิดเบราว์เซอร์ไม่ได้ลบสถานะการส่งต่อ

บทความที่เกี่ยวข้อง