Як чытаць сокет VPN, не давяраючы імені дамена
Імя хоста побач з працэсам — гэта здагадка пра адрас. Чытайце лікавыя канчатковыя пункты, стан злучэння і PID, які валодае ім, перш чым вінаваціць кліент VPN.
Ваш праглядальнік канчатковых пунктаў паказвае працэс VPN побач з даменам рэкламнай кампаніі, і гэтая пара пачынае гісторыю, якую даныя не могуць пацвердзіць. Імя — гэта зваротны пошук, намаляваны паверх лікавага канчатковага пункта, і яно змяняецца кожны раз, калі змяняецца пошук. Слупкі, якія вытрымліваюць праверку, — гэта адрасы, стан злучэння і PID, які валодае сокетам.
Нішто ў табліцы сокетаў не апісвае, што прайшло ўнутры злучэння. Усё, што нясе імя хоста, ужо было інтэрпрэтавана за вас.
Развязанае імя — гэта пераклад, а не поле
Праглядальнік просіць рэзалвер ператварыць адрас у імя гэтак жа, як працуе запыт PTR у DNS. Адказ можа прыйсці з лакальнага кэша, запісу ў файле hosts, абвесткі выяўлення суседзяў або ад правайдера, які аддаў адрас камусьці іншаму на мінулым тыдні, і інструмент не мае спосабу адрозніць гэтыя крыніцы. Дзве машыны, якія назіраюць за адным злучэннем, могуць друкаваць розныя імёны для адрасу аднаго і таго ж партнёра, што цяжка растлумачыць, калі вы верыце, што імя прыйшло з дроту. Стаўцеся да этыкеткі як да зручнасці для чалавечага вока, а не як да сцвярджэння пра тое, хто атрымаў байты.
Дакументацыя TCPView апісвае слупкі канчатковага пункта, стану і працэсу і дакументуе адключэнне развязаных імёнаў, што варта зрабіць, перш чым убачыць у дамене нейкі сэнс. Адключэнне развязання робіць няпэўнасць бачнай, а не стварае яе: у вас па-ранейшаму ёсць адрас, і праца па вызначэнні таго, што ён значыць, проста вярнулася да вас.
Чытайце лікавыя слупкі па парадку
Працуйце злева направа і спыніцеся на першым слупку, які адказвае на вашае пытанне. Лакальны канчатковы пункт паказвае, да чаго прывязаўся працэс, аддалены канчатковы пункт паказвае, ці існуе партнёр наогул, стан паказвае, ці жывое аб'яднанне, а PID звязвае радок з выканальным файлам.
Тры назіранні ніжэй — гэта ілюстратыўныя формы, а не вывад, зняты з якой-небудзь машыны тут. Яны згрупаваны па тым, што кожнае можа пацвердзіць, бо гэта і ёсць пытанне, якое людзі звычайна задаюць радку сокета:
| 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 |
Адкрыты слухач, да якога іншыя машыны не могуць дабрацца, прывязаны да адрасу loopback, — гэта тое, як шматлікія кліенты 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 як адно назіранне, і выснова перажыве перазапуск або другое меркаванне.
Што яшчэ вартае імя
Імя хоста — не бясплатны доказ. Яно фіксуе, што нехта звязваў гэты адрас з гэтым імем у нейкі момант. Гэтая сувязь вартая ўвагі, калі адрас належыць правайдеру, які абслугоўвае тысячы незвязаных кліентаў. Гэта больш слабае сцвярджэнне, чым пункт прызначэння, і гэта адзінае сцвярджэнне, якое этыкетка можа падтрымаць.
Калі імя выглядае няправільным, параўнайце адрас з апублікаванымі дыяпазонамі правайдера і затым спытайце, што рабіў працэс у той момант: праверка абнаўлення, званок за ліцэнзіяй, адпраўка тэлеметрыі або рукапоціск тунеля. Гэтыя дзеянні пакідаюць розныя формы злучэння, і супастаўленне формы з момантам больш інфарматыўнае, чым супастаўленне імя з кампаніяй, якой вы не давяраеце.
Захавайце радок, перш чым спыніць агульны памочнік або што-небудзь выдаліць. Абарончая выснова ахоплівае адзін назіраны канчатковы пункт, яго стан і ўладальніка; вердыкт у маштабе брэнда, пабудаваны на развязанай этыкетцы, не з'яўляецца доказам, і супакаенне, што знаёмы хост загрузкі абавязкова бясшкодны, таксама не доказ.