엔드포인트 뷰어는 VPN 프로세스를 광고 회사의 도메인 옆에 나열하는데, 그 짝짓기는 데이터가 뒷받침할 수 없는 이야기를 시작합니다. 이름은 숫자 엔드포인트 위에 덧칠된 역방향 조회이며, 조회가 바뀔 때마다 바뀝니다. 검증을 견디는 열은 주소, 연결 상태, 소켓을 소유한 PID입니다.

소켓 표에는 연결 안에서 무엇이 오갔는지 설명하는 것이 없습니다. 호스트 이름을 달고 있는 것은 이미 당신을 대신해 해석된 것입니다.

해석된 이름은 번역이지 필드가 아닙니다

뷰어는 리졸버에게 주소를 이름으로 바꾸라고 요청하는데, 이는 DNS에서 PTR 질의가 동작하는 방식과 같습니다. 응답은 로컬 캐시, hosts 파일 항목, 이웃 탐색 공지, 또는 지난주에 그 주소를 다른 사람에게 넘긴 제공자로부터 올 수 있으며, 도구는 이 출처들을 구분할 방법이 없습니다. 하나의 연결을 지켜보는 두 머신이 같은 피어 주소에 서로 다른 이름을 출력할 수 있는데, 이름이 회선에서 왔다고 믿는다면 설명하기 어렵습니다. 라벨은 사람의 눈을 위한 편의로 취급하고, 누가 바이트를 받았는지에 대한 진술로 보지 마세요.

TCPView 문서는 엔드포인트, 상태, 프로세스 열을 설명하고 해석된 이름을 끄는 방법을 기록하므로, 도메인에 어떤 의미를 읽어 넣기 전에 그렇게 해 둘 가치가 있습니다. 해석을 끄면 불확실성을 만들지 않고 보이게 하며, 당신은 여전히 주소를 쥔 채 그 의미를 결정하는 일을 다시 떠안게 됩니다.

숫자 열을 순서대로 읽으세요

왼쪽에서 오른쪽으로 작업하고 당신의 질문에 답하는 첫 열에서 멈추세요. 로컬 엔드포인트는 프로세스가 무엇에 바인딩되었는지 보여 주고, 원격 엔드포인트는 피어가 있는지 보여 주며, 상태는 연관이 살아 있는지 보여 주고, PID는 행을 실행 파일과 연결합니다.

아래 세 가지 관찰은 여기 어느 머신에서 캡처한 출력이 아니라 예시적인 형태입니다. 각각이 무엇을 뒷받침할 수 있는지에 따라 묶었는데, 사람들이 소켓 행에 실제로 던지는 질문이 그것이기 때문입니다:

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

다른 머신이 도달할 수 없는, 루프백 주소에 바인딩된 열린 리스너는 많은 VPN 클라이언트가 자신의 제어 채널을 노출하는 방식입니다. 와일드카드 바인딩은 프로세스가 모든 인터페이스에서 연결을 받아들였다는 뜻이며, 그것이 위험한지는 행 자체가 아니라 호스트 방화벽에 달려 있습니다. 존재하고 카운터를 나르는 연관만이 사람들이 흔히 꺼내고 싶어 하는 비난과 닮았고, 그 행조차 페이로드 앞에서 멈춥니다.

범인을 지목하기 전에 소유권을 확인하세요

프로세스 정체성이야말로 대부분의 비난이 실제로 실패하는 지점입니다. PID는 재사용되고, 업데이터와 브라우저 도우미는 수명이 짧은 자식을 만들며, VPN 클라이언트는 자신의 트래픽을 권한 있는 시스템 서비스에 넘길 수 있습니다. 표시 이름은 바이너리를 만든 쪽이 고르는 것이므로, 비교할 것은 실행 파일 경로와 부모 프로세스입니다.

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

같은 읽기가 Linux에도 있는데, 다른 사용자의 소켓을 볼 만큼 권한이 있으면 소켓 통계가 프로세스 정보를 담을 수 있습니다. 포트 443에 또는 그로부터 바인딩된 설정된 소켓을 요청하면 출력이 중요한 행으로 좁혀집니다:

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

행과 함께 타임스탬프를 캡처하세요. PID만으로는 움직이는 참조여서, 프로세스 관리자를 열 무렵 소켓은 이미 후속 프로세스의 것일 수 있고 당신이 들여다보는 경로가 연결을 쥐고 있던 경로가 아닐 수 있습니다. 엔드포인트 쌍, 상태, PID를 하나의 관찰로 기록하면 그 발견은 재시작이나 두 번째 의견에도 살아남습니다.

이름은 아직 무엇의 가치가 있는가

호스트 이름은 무가치한 증거가 아닙니다. 누군가 어느 시점에 그 주소를 그 이름과 연관 지었다는 사실을 기록합니다. 그 연관은 주소가 수천 명의 무관한 고객을 상대하는 제공자의 것일 때 주목할 만합니다. 목적지보다 약한 주장이며, 라벨이 뒷받침할 수 있는 유일한 주장입니다.

이름이 잘못되어 보이면 주소를 제공자의 공개 범위와 비교한 뒤 그 순간 프로세스가 무엇을 하고 있었는지 물으세요. 업데이트 확인, 라이선스 호출, 텔레메트리 전송, 터널 핸드셰이크 같은 활동은 서로 다른 연결 형태를 남기므로, 형태를 순간에 맞추는 것이 이름을 의심스러운 회사에 맞추는 것보다 더 많은 것을 알려 줍니다.

공유 도우미를 종료하거나 무언가를 제거하기 전에 그 행을 보존하세요. 방어할 수 있는 결론은 관찰된 엔드포인트 하나, 그 상태, 그 소유자를 아우르지만, 해석된 라벨 위에 세운 브랜드 전체 판정은 증거가 아니며 잘 알려진 다운로드 호스트니까 무해할 것이라는 안심도 증거가 아닙니다.

관련 글