మీ iPhone యాప్ ఒక IP చూపుతుండగా సర్వర్ మరొకటి నమోదు చేయడం ఎందుకు
ఇంటర్ఫేస్ చిరునామా, సాకెట్ ముగింపు బిందువు మరియు సర్వర్ నమోదు చేసే మూలం వేర్వేరు ప్రశ్నలకు సమాధానం ఇస్తాయి. VPN సందర్భాన్ని జోడిస్తుంది; వాటిని ఒకే సంఖ్యగా చేయదు.
మద్దతు టికెట్లు వస్తాయి: యాప్ ఒక చిరునామాను చూపిస్తోంది కానీ సర్వర్ మరొకటి నమోదు చేసింది, తర్వాత రెండింటిలో ఏది అబద్ధం చెబుతోందని అడుగుతారు. ఏదీ కాదు; ఇవి రెండు వేర్వేరు విషయాల రెండు పరిశీలనలు. ఇంటర్ఫేస్కు కట్టుబడిన చిరునామా, సాకెట్కు కట్టుబడిన చిరునామా, మరియు దూర సేవ చూసే మూల చిరునామా మూడు వేర్వేరు ప్రశ్నలకు సమాధానం ఇస్తాయి. VPN ఫోన్కు నెట్వర్క్ సందర్భాన్ని జోడిస్తుంది మరియు ఆ మూడింటినీ ఒకే పరికర-వ్యాప్త సంఖ్యగా కుదించదు. చిరునామాలను చదవడానికి ముందు టికెట్లోని ఫీల్డ్ పేర్లను చదవండి.
టికెట్ సాధారణంగా ఏమి వివరిస్తుంది
Wi-Fiలో టన్నెల్ పైకి ఉన్న ఫోన్ను ఊహించండి. Wi-Fi ఇంటర్ఫేస్లో LAN చిరునామా ఉంది, టన్నెల్ ఇంటర్ఫేస్లో కేటాయించిన లోపలి చిరునామా ఉంది, మరియు టన్నెల్ ద్వారా బయటకు వెళ్లే అభ్యర్థన మార్గంలో ఏదైనా అనువాదాన్ని తట్టుకున్న మూలం నుండి పబ్లిక్ సేవకు చేరుతుంది. లోపలి చిరునామాను ముద్రించే యాప్ మరియు అనువదించిన మూలాన్ని నమోదు చేసే సర్వర్ రెండూ ఖచ్చితంగా నివేదిస్తాయి, ఆ రెండు విలువలు ఎప్పటికీ సరిపోలవు.
మూడు పరిశీలనలు ఏమి వివరిస్తాయి అనేదానిలో మాత్రమే కాదు, ఏమి నిరూపించగలవు అనేదానిలో కూడా భిన్నంగా ఉంటాయి.
| Observation | What it describes | What it cannot prove |
|---|---|---|
| An address on a local interface | One configured attachment: Wi-Fi, cellular or a tunnel | The source a remote site receives |
| A socket's local endpoint | The binding used by that one connection | The address after translation further along |
| The peer address at a service | What arrived at that observation point | Any other interface on the phone |
ఆ పట్టికను ఈ విలువలను టికెట్లో నింపే కోడ్ పక్కన ఉంచండి, ఎందుకంటే ఇక్కడ చాలా గందరగోళం నెట్వర్క్ లోపం కాదు, నిలువు వరుసల గందరగోళం.
సాకెట్ కాల్ ఏమి సమాధానం ఇవ్వగలదు, ఏమి ఇవ్వలేదు
API స్థాయిలో, getsockname ప్రస్తుతం నిర్దిష్ట సాకెట్కు కట్టుబడి ఉన్న స్థానిక ముగింపు బిందువును నివేదిస్తుంది. కనెక్ట్ అయిన సాకెట్కు అది ఆ కనెక్షన్ కోసం కెర్నల్ ఎంచుకున్న మూలం, ఇది ఏదైనా ఇంటర్ఫేస్ జాబితా కంటే ఇప్పటికే నిర్దిష్టం. ఇది పబ్లిక్ చిరునామా శోధన కాదు, కట్టుబడని సాకెట్పై దాన్ని పిలవడం మీకు దాదాపు ఏమీ చెప్పదు. అది తిరిగి ఇచ్చేది తర్వాత మార్గంలో తిరిగి రాయబడవచ్చు, కాబట్టి సేవ ఏమి స్వీకరించిందనే దానిపై సేవ యొక్క స్వంత పరిశీలనకే అధికారం ఉంది.
Apple ప్లాట్ఫారమ్లలో ఇంటర్ఫేస్ల వైపు వేరే ఉపరితలం ఉంది: టన్నెల్ సెట్టింగ్లు టన్నెల్ ఇంటర్ఫేస్కు కేటాయించిన చిరునామాలను జాబితా చేస్తాయి. వాటిని చదవడం టన్నెల్ ఎలా కాన్ఫిగర్ చేయబడిందో చెబుతుంది, ఇచ్చిన అభ్యర్థన ఏ మార్గం తీసుకుందో చెప్పదు, ఎందుకంటే రూటింగ్ మరియు ప్రతి యాప్ నియమాలు ప్రతి కనెక్షన్కు దాన్ని నిర్ణయిస్తాయి.
విభజిత టన్నెలింగ్ ఆ అంతరాన్ని కనిపించేలా చేస్తుంది. ఒక అభ్యర్థన టన్నెల్ ద్వారా బయటకు వెళ్లవచ్చు, తదుపరిది వేరే గమ్యం లేదా వేరే చిరునామా కుటుంబం వైపు లక్ష్యంగా ఉన్నప్పుడు వెళ్లకపోవచ్చు, కాబట్టి ఒకే యాప్ యొక్క సెకన్ల వ్యవధిలో వచ్చిన రెండు ఫలితాలు నిజాయితీగా మరియు భిన్నంగా ఉండవచ్చు.
ప్రశ్నకు సరిపోయే పరిశీలనను ఎంచుకోండి
అన్నింటినీ కొలవడం కాకుండా ఉద్దేశపూర్వకంగా ఎంచుకోండి. బ్యాకెండ్ చూసే దానికి బ్యాకెండ్లో మూలాన్ని నమోదు చేయండి, మరియు ముందు రివర్స్ ప్రాక్సీ ఉంటే, క్లయింట్ చిరునామాను క్లయింట్ పంపిన ఏది నుండో కాదు, మీ డిప్లాయ్మెంట్ నిజంగా సెట్ చేసే ఫార్వర్డింగ్ హెడర్ నుండి చదవండి.
టన్నెల్ కాన్ఫిగర్ అయిందో లేదో తెలుసుకోవడానికి ఇంటర్ఫేస్ చదవండి. ఈ యాప్ ట్రాఫిక్ దాన్ని ఉపయోగించిందో లేదో తెలుసుకోవడానికి ఆ యాప్ నుండి మీరు నియంత్రించే గమ్యానికి ట్రాఫిక్ పంపి రెండు చివరల్లో మూలాన్ని పోల్చండి.
ప్రతి యాప్ నియమాలు తమ సొంత వాక్యానికి అర్హత పొందుతాయి. బ్రౌజర్ ఫలితం ఆ బ్రౌజర్ గురించిన సాక్ష్యం, మరియు నిర్వహిత ప్రతి యాప్ టన్నెల్ ఒకే ఫోన్లోని రెండు యాప్లను ఒకే క్షణంలో వేరే మార్గాలపై ఉంచగలదు. కవరేజీని ధృవీకరించడం అంటే సంబంధిత యాప్ నుండి, సంబంధిత చిరునామా కుటుంబంలో ట్రాఫిక్ పంపడం.
ఇంటర్ఫేస్ పేర్లు డిటెక్టర్ కాదు
ఇంటర్ఫేస్ పేరును VPN తనిఖీగా కూడా ఉపయోగించవద్దు. పేర్లు పబ్లిక్ ఒప్పందం కాదు, మరియు ఒక ఫోన్లో అనేక కనెక్షన్లు ఉండవచ్చు, వాటిలో ఒకటి మాత్రమే మీ అభ్యర్థనను మోస్తుంది.
ఫీల్డ్కు అది ఉంచుకునే పరిశీలన పేరు పెట్టండి. local_interface_address, socket_local_endpoint మరియు service_observed_source మొరటైనవి మరియు అస్పష్టత లేనివి, మరియు విలువ వారం తర్వాత మద్దతు టికెట్లో పడినప్పుడు మీకు కావలసినది ఆ స్పష్టతే. device IP అనే ఒకే నిలువు వరుస మూడింటినీ సేకరిస్తుంది, తర్వాత అది ఒకటే అన్నట్లు నమ్ముతారు.
గుర్తింపును చిరునామా నిలువు వరుసకు బయట ఉంచండి
పంచుకున్న VPN నిష్క్రమణ వినియోగదారు గుర్తింపు కాదు, మరియు ప్రైవేట్ చిరునామా ప్రవేశ ఆధారం కాదు. రెండూ వ్యక్తిని కాదు, మార్గాన్ని వివరిస్తాయి, వాటిలో దేన్నైనా ప్రామాణీకరణగా పరిగణించడం రూటింగ్ ప్రమాదాన్ని అధికార నిర్ణయంగా మారుస్తుంది.
ఫోన్లో ఏ చిరునామా ఉందని ఎవరైనా అడిగితే, ఉపయోగకరమైన సమాధానం ఏ కనెక్షన్ మరియు ఏ పరిశీలకుడు అనే ప్రశ్న. getsockname నిర్వచనాన్ని మధ్య కేసుకు ఉటంకించడం విలువైనది, ఎందుకంటే అది సాకెట్ ప్రశ్నను పరిష్కరిస్తుంది మరియు మిగిలిన రెండింటిని పరిష్కరించినట్లు నటించదు.
తర్వాత మూడింటిలో మీ ఉత్పత్తి నిజంగా ఏది చూపాలో రాయండి, మిగిలిన రెండింటిని ఇంటర్ఫేస్ నుండి తొలగించండి.