Մեկ շաբաթ փորձում եք անվճար VPN հաճախորդ կամ բրաուզերի ընդլայնում, անջատում եք այն, և ինտերնետը կանգ է առնում։ Wi-Fi պատկերակը դեռ կապ է ցույց տալիս, նույն երթուղիչի մյուս սարքերը նորմալ են աշխատում, և զննարկումը վերադարձնում են միայն երկու բան՝ հավելվածի վերամիացումը կամ դրա հեռացումը։ Այս օրինաչափությունը գաղտնագրությամբ ստեղծված կախվածություն չէ։ Դա կարգավորում է, որը հավելվածը գրել է մի տեղ, որը թունելինը չէ։

Հաճախորդը փոփոխում է կարգավորումներ, որոնք թունելինը չեն

Windows-ում կամ macOS-ում գաղտնիության հաճախորդը սովորաբար դիպչում է միանգամից երեք տեղի։ Այն սահմանում է համակարգի HTTP պրոքսին՝ նույն դաշտը, որը ցույց է տալիս Internet Options-ը։ Տեղադրում է վիրտուալ ադապտեր, հաճախ TAP դրայվեր, որպեսզի կարողանա փաթեթներ որսալ։ Եվ վերագրում է լուծիչների ցանկը, մինչդեռ անջատելու կոճակը սեղմելիս անհետանում է միայն թունելը։

Բրաուզերի ընդլայնումն ավելի նեղ բան է։ Այն սովորաբար փոխում է իր պրոֆիլը կամ այն պրոքսին, որին հետևում է մեկ բրաուզեր։ Այդ պատճառով մեկ բրաուզեր կարող է ձախողվել, մինչ հրամանի տողի գործիքները շարունակում են աշխատել, կամ հակառակը՝ ընդլայնումը երբեք լիազորություն չի ունեցել դիպչելու մյուս շերտերին։ Թե որ շերտն է այն խմբագրել, դա է որոշում, թե որ գործիքները կխափանվեն։

Ինչպես էլ լինի, այդ հնացած որոշումը կայացրել է ծրագիր, որը պատճառ չուներ այն հետ շրջելու։ Թունելը տեսանելի մասն էր և միակ մասը՝ մաքուր անջատման ուղով։ Մնացած ամեն ինչ պահոցում գրված կարգավորում է, որը գոյատևում է գործընթացից հետո, ուստի հավելվածի հեռացումը միակ քայլն է, որը երեքն էլ միանգամից հետ է շրջում։ Այդ պահոցները նոր տեղադրումից առաջ կարդալն է, որ ախտանիշը դարձնում է ախտորոշում։

Երեք մնացորդ, երեք տարբեր խափանում

Առաջին մնացորդը պրոքսի է, որը ոչ մի բանի չի ուղղորդում՝ LAN պրոքսիի վանդակը դեռ նշված, կամ կարգավորման սկրիպտի URL, որը ցույց է տալիս localhost-ի այն պորտին, որտեղ այլևս լսող գործընթաց չկա։ Բրաուզերը յուրաքանչյուր հարցում ուղարկում է այդ մեռած պորտին և կախվում է, քանի դեռ ժամանակի սպառումը մեռած ցանց է թվում։ Երկրորդը ադապտերն է, որը դեռ տիրապետում է լռելյայն երթուղուն, որովհետև TAP-Windows սարքը կամ մատակարարի երթուղավորման դրայվերը հեռացումից հետո էլ իրական ինտերֆեյս է մնում։ Այն պահում է իրեն տրված երթուղին, և երթևեկությունը անհետանում է մի թունելի մեջ, որը չկա։ Ոչ մի մնացորդ իրեն չի հայտարարում. երկուսն էլ ճիշտ խափանման տեսք ունեն։

Երրորդը DNS-ն է, և այն ավելի շուտ է ձախողվում, քան մյուս երկուսը։ Եթե լուծիչների ցանկում միայն թունելով հասանելի սերվերներ կան, ամեն հարցում ժամանակի սպառումով ավարտվում է, նախքան մեկ էջ կպահանջվի, ուստի բրաուզերը հաղորդում է անհասանելի կայքի, այլ ոչ մեռած պրոքսիի մասին։ Որն էլ որ ունենաք, դրանցից ոչ մեկը ցանցի իմաստով խափանում չէ։ Յուրաքանչյուրը մնացորդ է, որը ոչ ոք չի չեղարկել, և յուրաքանչյուրը վերանորոգվում է այլ տեղ։

Անցեք չորս շերտերով հերթով

Սկսեք հավելվածին ամենամոտից և իջեք ներքև, որովհետև շերտերը ձախողվում են տեսանելիության այդ կարգով։ Փոխեք մեկ շերտ յուրաքանչյուր փորձարկման մեջ և ամեն մեկից հետո նորից ստուգեք։ Ամեն ինչ միանգամից վերականգնելը սովորաբար վերադարձնում է զննարկումը և թողնում է ձեզ առանց կարողության ասելու, թե որ մնացորդն է դա արել, ուստի հաջորդ տեղադրումը նույն հանելուկը նորից է ստեղծում։ Հերթականությունը՝ պրոքսի, ադապտերներ, երթուղիներ, լուծիչներ։

Windows-ում յուրաքանչյուր ստուգում մեկ հրաման է, որ գալիս է օպերացիոն համակարգի հետ, ուստի ոչինչ տեղադրել պետք չէ։ Գործարկեք դրանք հերթով և արդյունքը պահեք միասին, որովհետև չորս պատասխանները իմաստ են ստանում միայն կողք կողքի, և դրանք հաղորդում են պրոքսին, ադապտերները, IPv4 երթուղիները և լուծիչների ցանկը՝ այդ հերթականությամբ։

netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress

Linux-ը և macOS-ը ունեն իրենց հրամանները, և դրանք փոխարինելի չեն։ Linux-ում երթուղիները գալիս են ip route-ից, իսկ լուծիչը՝ resolvectl status-ից, որտեղ տիրապետում է systemd-resolved-ը, հակառակ դեպքում՝ cat /etc/resolv.conf։ macOS-ում երթուղիները գալիս են netstat -rn-ից, լուծիչները՝ scutil --dns-ից, իսկ համակարգի պրոքսին՝ scutil --proxy-ից։ macOS-ի այն ընթերցողը, ով գործարկում է ip route, ստանում է command not found, և այնտեղ /etc/resolv.conf-ը գեներացված կաղապար է, ոչ թե հեղինակավոր կարգավորում։ Ստուգեք հարթակը շերտից առաջ, այլապես առաջին հրամանը կդառնա գտածոն։

Յուրաքանչյուր շերտի համար տվեք մեկ հարց՝ արդյոք այս արժեքը դեռ ուղղորդում է մի բանի, որը գոյություն ունի, մինչ հավելվածը փակ է։ Մեռած պորտի վրա պրոքսին, առանց թունելի ադապտերը, անջատված ինտերֆեյսով լռելյայն երթուղին և թունելի ներսում լուծիչը բոլորը պատասխանում են ոչ։ Մեկ ոչ պատասխանն էլ բավական է ախտանիշը բացատրելու համար, դրա համար է կարևոր մեկ փոփոխություն յուրաքանչյուր փորձարկման մեջ։

Պրոքսին թունել չէ

Պրոքսին ընդունում է հարցումը, բերում է այն այլ տեղից և վերադարձնում պատասխանը, այսինքն՝ գիտի նպատակակետը և տեսնում է այն ամենը, ինչ կայքն ինքը չի գաղտնագրել։ Այն չի կրում այլ արձանագրություններ։ Այն չի պաշտպանում ուղին, եթե նպատակակետն արդեն TLS չի օգտագործում։ Եվ այն կարող է փոխել ամեն ինչ, ինչ տեղադրել է այն, առանց ձեր մասնակցության։

Այս տարբերությունը փոխում է այն հարցը, որն արժե տալ։ Երբ պրոքսին մնում է հետևում, պարզեք, թե որ ծրագիրն է դեռ ղեկավարում ձեր բրաուզերը, այլ ոչ թե արդյոք թունելը բարձրացված է։ Թունելը կարող է լիովին առողջ լինել և բոլորովին անկապ խափանմանը։

Եթե ուզում եք իմանալ, թե ինչ է իրականում արել նման հաճախորդը, դիտեք այն՝ դրա վահանակը կարդալու փոխարեն։ Process Monitor-ը գրանցում է, թե որ ռեգիստրի բանալիներին և ֆայլերին է այն դիպչում, իսկ փաթեթների որսումը ցույց է տալիս, թե ուր է գնացել նրա երթևեկությունը։ Երկուսն էլ սովորական գործիքներ են, և երկուսն էլ մնացորդի հարցին ավելի լավ են պատասխանում, քան ցանկացած կարգավիճակի լույս։ Ոչ մեկը չի պահանջում, որ հավելվածը դեռ աշխատի։

Հեռացրեք բաղադրիչը, ոչ թե ապացույցը

Կայուն լուծումն այն բանից ազատվելն է, ինչը գրել է կարգավորումը։ Հեռացրեք հավելվածը, ջնջեք ավելացրած վիրտուալ ադապտերը, մաքրեք պրոքսին և լուծիչների ցանկը, ապա վերագործարկեք և ստուգեք, երբ հավելվածը դեռ հեռացված է։ Եթե այդ պահին զննարկումն աշխատում է, դուք գտել եք պատճառը, այլ ոչ շրջանցում։ Գրի առեք, թե որ շերտն էր հնացած, որովհետև նույն մատակարարը հակված է նույն սխալը երկու անգամ ուղարկել։

Եթե ախտանիշը վերադառնում է հաջորդ հաճախորդը տեղադրելուց հետո, նորից անցեք չորս շերտերով, նախքան որոշելը, որ ծառայությունը ինչ-որ բան կոտրել է։ Ապացույցը սովորաբար դեռ այնտեղ է՝ չորս տեղերից մեկում։ Երկրորդ հավելվածը հինգերորդ շերտ չի ստեղծում, այլ խմբագրում է չորսից մեկը։

Վերատեղադրումը վերականգնում է պրոքսին, բայց ոչ հնացած ադապտերը, և այն կարող է ցանկում թողնել երկու լուծիչ։ Այս անհամաչափության պատճառով է, որ «հեռացրու և ստուգիր»-ը գերազանցում է «ամեն ինչ վերականգնիր» կոճակին։ Այն նաև հիմք է տալիս համեմատության համար հաջորդ անգամ, երբ կապը կընկնի։

Առնչվող հոդվածներ