Como ler un socket VPN sen confiar nun nome de dominio
Un nome de host xunto a un proceso é unha conxectura sobre un enderezo. Le os extremos numéricos, o estado da conexión e o PID propietario antes de culpar un cliente VPN.
O teu visor de extremos lista un proceso VPN xunto ao dominio dunha empresa de publicidade, e ese emparellamento inicia unha historia que os datos non poden soster. O nome é unha busca inversa pintada sobre un extremo numérico, e cambia sempre que cambia a busca. As columnas que sobreviven ao escrutinio son os enderezos, o estado da conexión e o PID que posúe o socket.
Nada nunha táboa de sockets describe o que viaxou dentro dunha conexión. Calquera cousa que leve un nome de host xa foi interpretada por ti.
Un nome resolto é unha tradución, non un campo
O visor pide ao resolvedor que converta un enderezo nun nome, igual que funciona unha consulta PTR no DNS. A resposta pode chegar dunha caché local, dunha entrada no ficheiro hosts, dun anuncio de descuberta de veciños ou dun provedor que entregou o enderezo a outra persoa a semana pasada, e a ferramenta non ten forma de distinguir esas fontes. Dúas máquinas que observan unha conexión poden imprimir nomes distintos para o mesmo enderezo de par, o que é difícil de explicar se cres que o nome saíu do cable. Trata a etiqueta como unha comodidade para ollos humanos e non como unha afirmación sobre quen recibiu os bytes.
A documentación de TCPView describe as columnas de extremo, estado e proceso e documenta como desactivar os nomes resoltos, algo que paga a pena facer antes de ler calquera significado nun dominio. Desactivar a resolución fai visible a incerteza en lugar de creala: segues tendo un enderezo, e o traballo de decidir que significa simplemente volveu a ti.
Le as columnas numéricas en orde
Traballa de esquerda a dereita e detente na primeira columna que responda a túa pregunta. O extremo local mostra a que se vinculou o proceso, o extremo remoto mostra se existe algún par, o estado mostra se a asociación está viva, e o PID conecta a fila cun executable.
As tres observacións seguintes son formas ilustrativas e non saída capturada de ningunha máquina de aquí. Están agrupadas polo que cada unha pode soster, porque esa é a pregunta que a xente fai realmente a unha fila de socket:
| 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 |
Un oínte aberto ao que outras máquinas non poden chegar, vinculado ao enderezo de bucle local, é como moitos clientes VPN expoñen o seu propio canal de control. Unha vinculación comodín significa que o proceso aceptou conexións en todas as interfaces, e se iso é perigoso depende do cortalumes do host e non da fila mesma. Só unha asociación que existe e leva contadores se parece á acusación que a xente adoita querer facer, e mesmo esa fila se detén antes da carga útil.
Verifica a propiedade antes de nomear un culpable
A identidade do proceso é onde a maioría das acusacións fallan de verdade. Os PID reutilízanse, os actualizadores e os axudantes do navegador xeran fillos de vida curta, e un cliente VPN pode entregar o seu tráfico a un servizo de sistema privilexiado. Compara a ruta do executable e o proceso pai en lugar do nome visible, porque o nome visible elíxeo quen construíu o binario.
tcpvcon -n -a
Get-Process -Id 4188 | Select-Object Id, ProcessName, Path
A mesma lectura existe en Linux, onde as estatísticas de sockets poden levar información do proceso cando tes privilexios suficientes para ver os sockets doutros usuarios. Pedir os sockets establecidos vinculados ao porto 443 ou desde el estreita a saída ás filas que importan:
ss -tunp state established '( sport = :443 or dport = :443 )'
Captura a marca de tempo xunto coa fila. Un PID por si só é unha referencia móbil, porque cando abres un xestor de procesos o socket pode pertencer a un sucesor e a ruta que inspeccionas pode non ser a que mantiña a conexión. Rexistra o par de extremos, o estado e o PID como unha soa observación, e o achado sobrevive a un reinicio ou a unha segunda opinión.
Que vale aínda un nome
Un nome de host non é unha proba sen valor. Rexistra que alguén asociou ese enderezo con ese nome nalgún momento. Esa asociación merece atención cando o enderezo pertence a un provedor que atende a miles de clientes non relacionados. É unha afirmación máis feble ca un destino, e é a única afirmación que a etiqueta pode soster.
Cando un nome parece incorrecto, compara o enderezo cos rangos publicados do provedor e despois pregunta que facía o proceso naquel momento: unha comprobación de actualización, unha chamada de licenza, un envío de telemetría ou un apretón de mans do túnel. Esas actividades deixan formas de conexión distintas, e emparellar a forma co momento informa máis que emparellar o nome cunha empresa da que desconfías.
Preserva a fila antes de rematar un axudante compartido ou desinstalar algo. Unha conclusión defendible cobre un extremo observado, o seu estado e o seu propietario; un veredicto de marca enteira construído sobre unha etiqueta resolta non é unha proba, e tampouco o é a tranquilidade de que un host de descargas coñecido deba ser inofensivo.