Il tuo visualizzatore di estremi elenca un processo VPN accanto al dominio di un'azienda pubblicitaria, e questo abbinamento avvia una storia che i dati non possono sostenere. Il nome è una ricerca inversa dipinta sopra un estremo numerico, e cambia ogni volta che cambia la ricerca. Le colonne che superano l'esame sono gli indirizzi, lo stato della connessione e il PID che possiede il socket.

Niente in una tabella di socket descrive ciò che è viaggiato dentro una connessione. Qualunque cosa porti un nome host è già stata interpretata per te.

Un nome risolto è una traduzione, non un campo

Il visualizzatore chiede al resolver di trasformare un indirizzo in un nome, allo stesso modo in cui funziona una query PTR nel DNS. La risposta può arrivare da una cache locale, da una voce del file hosts, da un annuncio di scoperta dei vicini o da un fornitore che la settimana scorsa ha ceduto l'indirizzo a qualcun altro, e lo strumento non ha modo di distinguere queste fonti. Due macchine che osservano una connessione possono stampare nomi diversi per lo stesso indirizzo di pari, cosa difficile da spiegare se credi che il nome sia arrivato dal filo. Tratta l'etichetta come una comodità per gli occhi umani e non come un'affermazione su chi ha ricevuto i byte.

La documentazione di TCPView descrive le colonne di estremo, stato e processo e documenta la disattivazione dei nomi risolti, cosa che vale la pena fare prima di leggere qualsiasi significato in un dominio. Disattivare la risoluzione rende l'incertezza visibile invece di crearla: hai ancora un indirizzo, e il lavoro di decidere cosa significhi è semplicemente tornato a te.

Leggi le colonne numeriche in ordine

Lavora da sinistra a destra e fermati alla prima colonna che risponde alla tua domanda. L'estremo locale mostra a cosa si è legato il processo, l'estremo remoto mostra se esiste un pari, lo stato mostra se l'associazione è viva, e il PID collega la riga a un eseguibile.

Le tre osservazioni qui sotto sono forme illustrative e non output catturato da qualche macchina qui. Sono raggruppate per ciò che ciascuna può sostenere, perché è la domanda che le persone fanno davvero a una riga di socket:

What the row showsWhat it rules outWhat it cannot show
An open listener with no peer addressAny remote party; nothing beyond this host has reached the portWhether the local service is well configured, or who is allowed to use it
An association in the open stateThat the entry is cosmetic; a peer address exists and was acceptedWhich application data crossed it, or whether that peer is trustworthy
An association whose counters moveThat the conversation is idle or already staleWhat was requested, what came back, or who started it

Un ascoltatore aperto che le altre macchine non riescono a raggiungere, legato all'indirizzo di loopback, è il modo in cui molti client VPN espongono il proprio canale di controllo. Un binding jolly significa che il processo ha accettato connessioni su ogni interfaccia, e se questo è pericoloso dipende dal firewall dell'host e non dalla riga stessa. Solo un'associazione che esiste e porta contatori assomiglia all'accusa che le persone di solito vogliono muovere, e anche quella riga si ferma prima del carico utile.

Verifica la proprietà prima di nominare un colpevole

L'identità del processo è il punto in cui la maggior parte delle accuse fallisce davvero. I PID vengono riutilizzati, gli aggiornatori e gli assistenti del browser generano figli di breve durata, e un client VPN può consegnare il proprio traffico a un servizio di sistema privilegiato. Confronta il percorso dell'eseguibile e il processo padre invece del nome visualizzato, perché il nome visualizzato è scelto da chi ha compilato il binario.

tcpvcon -n -a
Get-Process -Id 4188 | Select-Object Id, ProcessName, Path

La stessa lettura esiste su Linux, dove le statistiche dei socket possono portare informazioni sul processo quando hai privilegi sufficienti per vedere i socket di altri utenti. Chiedere i socket stabilite legate alla porta 443 o da essa restringe l'output alle righe che contano:

ss -tunp state established '( sport = :443 or dport = :443 )'

Cattura il timestamp insieme alla riga. Un PID da solo è un riferimento mobile, perché quando apri un gestore di processi il socket può appartenere a un successore e il percorso che ispezioni può non essere quello che teneva la connessione. Registra la coppia di estremi, lo stato e il PID come un'unica osservazione, e il risultato sopravvive a un riavvio o a un secondo parere.

Quanto vale ancora un nome

Un nome host non è una prova senza valore. Registra che qualcuno ha associato quell'indirizzo a quel nome a un certo punto. Quell'associazione merita attenzione quando l'indirizzo appartiene a un fornitore che serve migliaia di clienti non correlati. È un'affermazione più debole di una destinazione, ed è l'unica affermazione che l'etichetta può sostenere.

Quando un nome sembra sbagliato, confronta l'indirizzo con gli intervalli pubblicati dal fornitore e poi chiedi cosa stava facendo il processo in quel momento: un controllo di aggiornamento, una chiamata di licenza, un invio di telemetria o una stretta di mano del tunnel. Queste attività lasciano forme di connessione diverse, e abbinare la forma al momento è più informativo che abbinare il nome a un'azienda di cui non ti fidi.

Preserva la riga prima di terminare un assistente condiviso o disinstallare qualcosa. Una conclusione difendibile copre un estremo osservato, il suo stato e il suo proprietario; un verdetto su un intero marchio costruito su un'etichetta risolta non è una prova, e non lo è nemmeno la rassicurazione che un host di download familiare debba essere innocuo.

Articoli correlati