Dumarating ang mga support ticket na nagsasabing isang address ang ipinapakita ng app habang iba ang naitala ng server, at pagkatapos ay itatanong kung alin sa dalawa ang nagsisinungaling. Wala sa dalawa; dalawang obserbasyon ito ng dalawang magkaibang bagay. Ang address na nakatali sa isang interface, ang address na nakatali sa isang socket at ang source address na nakikita ng isang malayong serbisyo ay sumasagot sa tatlong magkaibang tanong. Ang VPN ay nagdaragdag ng konteksto ng network sa telepono at hindi nito ginagawang isang numero para sa buong device ang tatlong iyon. Basahin ang mga pangalan ng field sa ticket bago basahin ang mga address.

Ano ang karaniwang inilalarawan ng ticket

Isipin ang isang telepono sa Wi-Fi na may nakataas na tunnel. May LAN address ang Wi-Fi interface, may itinalagang panloob na address ang tunnel interface, at ang kahilingang lumalabas sa tunnel ay dumarating sa isang pampublikong serbisyo mula sa alinmang source na nakakaligtas sa anumang pagsasalin sa daan. Ang app na nagpi-print ng panloob na address at ang server na nagtatala ng isinaling source ay parehong tumpak na nag-uulat, at hindi kailanman magtutugma ang dalawang halaga.

Nagkakaiba ang tatlong obserbasyon sa kung ano ang mapapatunayan nito, hindi lamang sa kung ano ang inilalarawan nito.

ObservationWhat it describesWhat it cannot prove
An address on a local interfaceOne configured attachment: Wi-Fi, cellular or a tunnelThe source a remote site receives
A socket's local endpointThe binding used by that one connectionThe address after translation further along
The peer address at a serviceWhat arrived at that observation pointAny other interface on the phone

Itabi ang talahanayang iyon sa tabi ng code na naglalagay ng mga halagang ito sa ticket, dahil karamihan ng kalituhan dito ay pagpapalit ng column at hindi sira ng network.

Ano ang masasagot at hindi masasagot ng isang tawag sa socket

Sa antas ng API, iniuulat ng getsockname ang lokal na endpoint na kasalukuyang nakatali sa isang partikular na socket. Para sa konektadong socket, iyon ang source na pinili ng kernel para sa koneksiyong iyon, na mas espesipiko na kaysa sa anumang listahan ng interface. Hindi ito paghahanap ng pampublikong address, at ang pagtawag dito sa isang socket na hindi nakatali ay halos walang sinasabi sa iyo. Anuman ang ibalik nito ay maaari pa ring muling isulat sa bandang huli ng landas, kaya ang obserbasyon lamang ng serbisyo mismo ang may awtoridad sa kung ano ang natanggap ng serbisyo.

Sa mga platform ng Apple, may hiwalay na ibabaw ang panig ng mga interface: inililista ng mga setting ng tunnel ang mga address na itinalaga sa tunnel interface. Ang pagbabasa ng mga iyon ay nagsasabi kung paano na-configure ang tunnel, at hindi nito sinasabi kung aling landas ang tinahak ng isang partikular na kahilingan, dahil ang routing at mga tuntunin kada app ang nagpapasya niyan para sa bawat koneksiyon.

Ginagawang nakikita ng split tunnelling ang agwat. Maaaring lumabas ang isang kahilingan sa tunnel habang ang susunod, na patungo sa ibang destinasyon o pamilya ng address, ay hindi, kaya ang dalawang resulta mula sa parehong app na may pagitan ng ilang segundo ay maaaring tapat at magkaiba.

Piliin ang obserbasyong tumutugma sa tanong

Pumili nang sinasadya sa halip na sukatin ang lahat. Para sa nakikita ng backend, itala ang source sa backend, at kung saan may reverse proxy sa harap, basahin ang address ng client mula sa forwarding header na aktuwal na itinatakda ng iyong deployment, at hindi mula sa anumang ipinadala ng client.

Para malaman kung naka-configure ang tunnel, basahin ang interface. Para malaman kung ginamit ito ng trapiko ng app na ito, magpadala ng trapiko mula sa app na iyon patungo sa destinasyong kontrolado mo at ihambing ang source sa dalawang dulo.

Karapat-dapat sa sariling pangungusap ang mga tuntunin kada app. Ang resulta ng browser ay ebidensiya tungkol sa browser na iyon, at ang pinamamahalaang tunnel kada app ay maaaring maglagay ng dalawang app sa parehong telepono sa magkaibang landas sa parehong sandali. Ang pagpapatunay ng saklaw ay nangangahulugan ng pagpapadala ng trapiko mula sa app na pinag-uusapan, sa pamilya ng address na pinag-uusapan.

Ang mga pangalan ng interface ay hindi detektor

Huwag ding gamitin ang pangalan ng interface bilang pagsusuri ng VPN. Ang mga pangalan ay hindi pampublikong kontrata, at ang isang telepono ay maaaring may ilang kalakip habang isa lamang sa mga ito ang nagdadala ng iyong kahilingan.

Pangalanan ang field ayon sa obserbasyong hawak nito. local_interface_address, socket_local_endpoint at service_observed_source ay awkward at walang kalabuan, at ang kawalan ng kalabuan ang nais mo kapag ang halaga ay napunta sa isang support ticket makalipas ang isang linggo. Ang nag-iisang column na tinatawag na device IP ay kokolektahin ang tatlo at pagkatapos ay pagkakatiwalaan na parang isa ito.

Ilayo ang pagkakakilanlan sa column ng address

Ang ibinahaging labasan ng VPN ay hindi pagkakakilanlan ng gumagamit, at ang pribadong address ay hindi kredensiyal sa pag-access. Pareho nilang inilalarawan ang isang landas at hindi isang tao, at ang ituring ang alinman sa mga ito bilang pagpapatunay ay ginagawang desisyon sa awtorisasyon ang isang aksidente sa routing.

Kapag may nagtanong kung anong address ang mayroon ang telepono, ang kapaki-pakinabang na sagot ay isang tanong tungkol sa aling koneksiyon at aling tagamasid. Karapat-dapat sipiin ang depinisyon ng getsockname para sa gitnang kaso, dahil inaayos nito ang tanong sa socket nang hindi nagpapanggap na inaayos ang dalawa pa.

Pagkatapos ay isulat kung alin sa tatlo ang talagang kailangang ipakita ng iyong produkto, at burahin ang dalawa pa mula sa interface.

Kaugnay na mga artikulo