Slik leser du en VPN-socket uten å stole på et domenenavn
Et vertsnavn ved siden av en prosess er et gjetning om en adresse. Les de numeriske endepunktene, tilkoblingstilstanden og PID-en som eier den, før du klandrer en VPN-klient.
Endepunktsfremviseren din viser en VPN-prosess ved siden av domenet til et reklamefirma, og den koblingen starter en historie som dataene ikke kan støtte. Navnet er et omvendt oppslag malt over et numerisk endepunkt, og det endrer seg hver gang oppslaget endrer seg. Kolonnene som tåler gransking, er adressene, tilkoblingstilstanden og PID-en som eier socketen.
Ingenting i en socket-tabell beskriver hva som reiste inne i en tilkobling. Alt som bærer et vertsnavn, er allerede tolket for deg.
Et oppløst navn er en oversettelse, ikke et felt
Fremviseren ber resolvatoren gjøre en adresse om til et navn, på samme måte som en PTR-forespørsel virker i DNS. Svaret kan komme fra en lokal hurtigbuffer, en oppføring i hosts-filen, en kunngjøring om nabo-oppdagelse eller en leverandør som ga adressen til noen andre forrige uke, og verktøyet har ingen måte å skille disse kildene. To maskiner som overvåker én tilkobling, kan skrive ut ulike navn for samme peer-adresse, noe som er vanskelig å forklare hvis du tror navnet kom fra ledningen. Behandle etiketten som en bekvemmelighet for menneskeøyne og ikke som en påstand om hvem som mottok bytene.
Dokumentasjonen for TCPView beskriver kolonnene for endepunkt, tilstand og prosess og dokumenterer hvordan oppløste navn slås av, noe som er verdt å gjøre før du leser noe inn i et domene. Å slå av oppløsning gjør usikkerheten synlig i stedet for å skape den: du har fortsatt en adresse, og arbeidet med å avgjøre hva den betyr har bare flyttet tilbake til deg.
Les de numeriske kolonnene i rekkefølge
Arbeid fra venstre mot høyre og stopp ved den første kolonnen som svarer på spørsmålet ditt. Det lokale endepunktet viser hva prosessen bandt til, det fjerne endepunktet viser om det finnes en peer i det hele tatt, tilstanden viser om assosiasjonen er levende, og PID-en knytter raden til en kjørbar fil.
De tre observasjonene nedenfor er illustrative former og ikke utdata fanget fra noen maskin her. De er gruppert etter hva hver av dem kan støtte, fordi det er spørsmålet folk faktisk stiller til en socket-rad:
| What the row shows | What it rules out | What it cannot show |
|---|---|---|
| An open listener with no peer address | Any remote party; nothing beyond this host has reached the port | Whether the local service is well configured, or who is allowed to use it |
| An association in the open state | That the entry is cosmetic; a peer address exists and was accepted | Which application data crossed it, or whether that peer is trustworthy |
| An association whose counters move | That the conversation is idle or already stale | What was requested, what came back, or who started it |
En åpen lytter som andre maskiner ikke kan nå, bundet til loopback-adressen, er hvordan mange VPN-klienter eksponerer sin egen kontrollkanal. En jokertegnbinding betyr at prosessen godtok tilkoblinger på hvert grensesnitt, og om det er farlig avhenger av vertens brannmur og ikke av raden selv. Bare en assosiasjon som finnes og bærer tellere, ligner anklagen folk vanligvis vil fremsette, og selv den raden stopper før nyttelasten.
Bekreft eierskap før du utpeker en skyldig
Prosessidentitet er der de fleste anklager faktisk feiler. PID-er gjenbrukes, oppdateringsprogrammer og nettleserhjelpere starter kortlivede barn, og en VPN-klient kan overlate trafikken sin til en privilegert systemtjeneste. Sammenlign stien til den kjørbare filen og foreldreprosessen i stedet for visningsnavnet, fordi visningsnavnet velges av den som bygde binæren.
tcpvcon -n -a
Get-Process -Id 4188 | Select-Object Id, ProcessName, Path
Den samme lesningen finnes på Linux, der socket-statistikk kan bære prosessinformasjon når du har nok privilegier til å se andre brukeres sockets. Å be om etablerte sockets bundet til eller fra port 443 snevrer inn utdataene til radene som betyr noe:
ss -tunp state established '( sport = :443 or dport = :443 )'
Ta vare på tidsstempelet sammen med raden. En PID alene er en flyttende referanse, fordi når du åpner en prosessbehandler, kan socketen tilhøre en etterfølger, og stien du undersøker er kanskje ikke den som holdt tilkoblingen. Noter endepunktparet, tilstanden og PID-en som én observasjon, så overlever funnet en omstart eller en annen mening.
Hva et navn fortsatt er verdt
Et vertsnavn er ikke verdiløst bevis. Det registrerer at noen knyttet den adressen til det navnet på et tidspunkt. Den koblingen fortjener oppmerksomhet når adressen tilhører en leverandør som betjener tusenvis av ubeslektede kunder. Det er en svakere påstand enn en destinasjon, og det er den eneste påstanden etiketten kan støtte.
Når et navn ser feil ut, sammenlign adressen med leverandørens publiserte områder og spør deretter hva prosessen gjorde i det øyeblikket: en oppdateringssjekk, en lisenskalling, en telemetri-POST eller en tunnelhåndtrykk. Disse aktivitetene etterlater ulike tilkoblingsformer, og å matche formen med øyeblikket er mer informativt enn å matche navnet med et firma du ikke stoler på.
Bevar raden før du avslutter en delt hjelper eller avinstallerer noe. En forsvarlig konklusjon dekker ett observert endepunkt, dets tilstand og dets eier; en dom over et helt merke bygget på en oppløst etikett er ikke bevis, og det er heller ikke beroligelsen om at en kjent nedlastingsvert må være ufarlig.