שימוש בפרוקסי של טלפון 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. סגירת הדפדפן אינה מסירה את מצב ההעברה.