విలోమ టెథరింగ్ ఫోన్ ట్రాఫిక్ను కంప్యూటర్కు తరలించి ఆ కంప్యూటర్ కనెక్షన్ ద్వారా బయటకు పంపుతుంది. USB కేబుల్ మాత్రమే ఇది చేయదు: ఫోన్కు దాని రూటింగ్ను స్వీకరించే క్యాప్చర్ సేవ కావాలి, కంప్యూటర్కు ఆ ప్యాకెట్లను ముందుకు తీసుకెళ్లే రిలే కావాలి. మార్గంలో నాలుగు దాటులు ఉన్నాయి: అప్లికేషన్, ఫోన్లో క్యాప్చర్, USB రిలే మరియు హోస్ట్ నిష్క్రమణ, ప్రతి ఒక్కటి వేరే యజమాని కలిగి ఉంది. ఈ రన్బుక్ ఆ మార్గాన్ని నిర్మిస్తుంది, హోస్ట్ VPNని సరైన స్థానంలో ఉంచుతుంది మరియు ఫలితాన్ని నమ్మే ముందు ప్రతి దాటును తనిఖీ చేస్తుంది.

ఏదైనా అమలు చేసే ముందు దాటలను మ్యాప్ చేయండి

ప్రతి దాటు తన స్వంత విధానాన్ని వర్తింపజేస్తుంది, కాబట్టి ఒక చివర పనిచేసే ఫలితం మరొక చివర గురించి ఏమీ చెప్పదు. అప్లికేషన్ గమ్యాన్ని మరియు పరిష్కర్తను ఎంచుకుంటుంది, క్యాప్చర్ సేవ ఏ ట్రాఫిక్ రిలేలోకి ప్రవేశిస్తుందో నిర్ణయిస్తుంది, రిలే దాన్ని హోస్ట్ సాకెట్లకు పంపుతుంది, హోస్ట్ రూటింగ్ మరియు VPN గమ్యం చివరగా చూసే చిరునామాను నిర్ణయిస్తాయి.

HopOwnerWhat it decides
Application requestThe appDestination, resolver, address family
Capture servicePhone VpnService appWhich traffic enters the relay at all
ADB relayHost processForwarding phone flows to host sockets
Host egressHost routing and VPNExit address and host policy

ఒక సమయంలో ఒక VPN సేవ క్లయింట్ మాత్రమే ఫోన్ క్యాప్చర్ పాత్రను కలిగి ఉండగలదు, కాబట్టి రెండవ సాధారణ VPN యాప్ రిలే మీద పేరుకుపోదు. VPN కంప్యూటర్కు చెందినదైతే, క్యాప్చర్ సేవ ఆ కంప్యూటర్ వైపు ప్రవేశ లింకు, దూర సొరంగం ఇప్పటికే ఫలితాన్ని రక్షిస్తోందని రుజువు కాదు.

ఫోన్ను తాకే ముందు రిలేను సిద్ధం చేయండి

Gnirehtet ఈ నిర్మాణానికి పత్రీకరించిన ఉదాహరణ: ఫోన్లో root లేని VPN సేవ క్లయింట్ మరియు హోస్ట్లో ADB ద్వారా మోసుకెళ్లే రిలే, IPv4 మీద TCP మరియు UDPకి మద్దతు ఇస్తుంది. దాని నిల్వ ప్రాజెక్టు ఇక చురుకుగా నిర్వహించబడదని కూడా చెబుతుంది, కాబట్టి దీన్ని సూచన నిర్మాణంగా మరియు ప్రయోగశాలకు పనిచేసే సాధనంగా పరిగణించండి, నిర్వహించే సమూహంలో ప్రమాణీకరించదగిన మద్దతు ఉత్పత్తిగా కాదు.

adb devices
adb shell getprop ro.build.version.release
gnirehtet run

మొదట adb devices అమలు చేయండి. హోస్ట్ డీబగ్గింగ్ కీని అంగీకరించని ఫోన్ అనధికారమని నివేదించబడుతుంది, పరికరంలో అభ్యర్థన అంగీకరించే వరకు రిలే కనెక్ట్ కాదు. gnirehtet run క్లయింట్ను ఇన్స్టాల్ చేస్తుంది, రిలేను ప్రారంభిస్తుంది మరియు క్యాప్చర్ను సక్రియం చేస్తుంది; దశలను వేరు చేసే సంస్కరణలో బదులుగా పత్రీకరించిన install, relay మరియు start ఉప ఆదేశాలను ఉపయోగించండి.

ADB ప్రవేశం పరికర నియంత్రణ సంబంధం, నెట్వర్క్ సెట్టింగ్ కాదు. మీరు నియంత్రించే కంప్యూటర్కు మాత్రమే అధికారం ఇవ్వండి, పని ముగిసినప్పుడు ఆ అధికారాన్ని ఉపసంహరించడానికి ప్రణాళిక వేయండి.

హోస్ట్ VPNని తిరిగి మార్గంలోకి తీసుకురండి

రిలే హోస్ట్లోని సాధారణ ప్రక్రియ, కాబట్టి దాని తదుపరి కనెక్షన్లు హోస్ట్ రూటింగ్ పట్టికను అనుసరిస్తాయి. పూర్తి సొరంగ ప్రొఫైల్ వాటిని మోసుకెళ్తుంది; విభజిత సొరంగం మోసుకెళ్లకపోవచ్చు. హోస్ట్ VPN ప్రతి యాప్ నియంత్రణలను ఉపయోగిస్తే, రిలే బైనరీని అనుమతించిన సమితిలో చేర్చండి, లేకపోతే బ్రౌజర్ రక్షితంగా కనిపిస్తున్నప్పటికీ రిలే భౌతిక ఇంటర్ఫేస్నే ఉపయోగిస్తూనే ఉంటుంది.

ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay

హోస్ట్ VPNని కనెక్ట్ చేయడానికి ముందు మరియు తర్వాత మొదటి రెండు ఆదేశాలను అమలు చేయండి. చిరునామా మారకపోతే, క్లయింట్ విండో ఏం చెప్పినా రిలే సొరంగంలో లేదు. ప్రైవేట్-మాత్రమే సొరంగం పబ్లిక్ గమ్యాలను హోస్ట్ సాధారణ నిష్క్రమణపై వదిలేస్తుంది, అది లీక్ లాగా కనిపిస్తుంది కానీ మీరు సెట్ చేసిన విధానమే.

రిలే ద్వారా వెళ్లే ట్రాఫిక్కు DNS హోస్ట్లో పరిష్కరించబడుతుంది, కాబట్టి ఏ సర్వర్ పేర్లను చూస్తుందో హోస్ట్ పరిష్కర్త నిర్ణయిస్తుంది. ఫోన్లో ప్రైవేట్ DNS సెట్టింగ్ రిలేను దాటదు, ఫోన్ వైపు పరిష్కర్త పరీక్ష హోస్ట్ అన్వేషణలను వివరించదు.

ప్రతి దాటును విడివిడిగా తనిఖీ చేయండి

ఈ క్రమంలో మూడు తనిఖీలు: ఫోన్ రిలేను చేరుతుంది, రిలే హోస్ట్ విధానం కింద గమ్యాన్ని చేరుతుంది, యాప్ గమ్యాన్ని సరిగ్గా పరిష్కరించి ఉపయోగిస్తుంది. పేజీలను మళ్లీ లోడ్ చేసి ఊహించడం బదులు మొదటి వైఫల్యం వద్ద ఆపండి.

adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V

కనెక్టివిటీ డంప్లో VPN నెట్వర్క్ ఎంట్రీ క్యాప్చర్ సేవ సక్రియంగా ఉందని చూపుతుంది; రిలే సొంత లాగ్ ప్రవాహాలు వస్తున్నాయా అని చూపుతుంది. వాటిలో ఒకటి లేకపోతే సమస్య శుభ్రంగా విడిపోతుంది: క్యాప్చర్ లేకపోతే ఫోన్ వైపు, ప్రవాహాలు లేకపోతే హోస్ట్ వైపు.

హోస్ట్లో పనిచేసే బ్రౌజర్ హోస్ట్ బ్రౌజర్ మార్గాన్ని నిరూపిస్తుంది, రిలే ప్రక్రియ మార్గాన్ని కాదు. ప్రతి ఒక్కటి నివేదించే చిరునామాలను పోల్చి, ప్రైవేట్ వనరును మరియు పబ్లిక్ పేజీని కూడా పరీక్షించండి, ఎందుకంటే ప్రైవేట్-మాత్రమే సొరంగం ఒకదాన్ని రూట్ చేయగలదు మరొకటి కాదు.

విడగొట్టి వైఫల్య ప్రవర్తనను ఎంచుకోండి

వెనక్కి తీసుకోవడం రన్బుక్లో భాగం. రిలేను ఆపి తీసివేయండి, క్యాప్చర్ క్లయింట్ను అన్ఇన్స్టాల్ చేయండి, పని ముగిసినప్పుడు ఫోన్ డెవలపర్ ఎంపికల నుండి హోస్ట్ డీబగ్గింగ్ అధికారాన్ని ఉపసంహరించండి.

gnirehtet stop
gnirehtet uninstall
adb kill-server

రిలే మాయమైనప్పుడు ఫోన్ ఏం చేయాలో నిర్ణయించండి. స్పష్టమైన ఎంపిక లేకుంటే అది మొబైల్ డేటాకు తిరిగి మీరు రూట్ చేయాలనుకున్న ట్రాఫిక్ను లీక్ చేయవచ్చు, కాబట్టి కనెక్షన్ నిరోధ ప్రవర్తనను లేదా VPN విధానాన్ని ఉద్దేశపూర్వకంగా సెట్ చేసి దానిపై ఆధారపడే ముందు విడగొట్టడాన్ని పరీక్షించండి.

అధికారం ఇచ్చిన హోస్ట్, రిలే సంస్కరణ, హోస్ట్ సొరంగ విధానం మరియు విడగొట్టే దశలను నమోదు చేయండి. ఆ నమోదే తదుపరి విలోమ-టెథరింగ్ సెటప్ను మరో పునర్శోధన మధ్యాహ్నం బదులు పునరావృతమయ్యేలా చేస్తుంది.

సంబంధిత వ్యాసాలు