Քանի ստուգիչ գումար ունի VPN փաթեթը։ Կախված է
Թիվը կախված է IP տարբերակներից, փոխադրվող արձանագրությունից և պաշտպանության ձևաչափից։ Վերնագրի ստուգիչ գումարները, վերին շերտի գումարները և ամբողջականության պիտակները տարբերվում են։
Այն պնդումը, թե VPN փաթեթը կրում է ուղիղ երկու ստուգիչ գումար, հնչում է կոկիկ և բավական հաճախ սխալ է, որ արժե քանդել։ Թիվը կախված է նրանից, թե որ IP տարբերակներն են հայտնվում, որ փոխադրական արձանագրությունն է կրվում և ինչ պաշտպանության ձևաչափ է օգտագործում թունելը։ Վերնագրի ստուգիչ գումարը, վերին շերտի ստուգիչ գումարը և գաղտնագրային ամբողջականության պիտակը երեք մեխանիզմ են՝ երեք ընդգրկույթով։ Դրանց հաշվարկը սկսվում է նշելով, թե ինչ է ծածկում յուրաքանչյուրը։
Ստուգեք, թե որ IP տարբերակներն են իրականում լարի վրա
IPv4 վերնագրերը կրում են 16-բիթանոց վերնագրի ստուգիչ գումար, իսկ IPv6 վերնագրերը նման բան չեն կրում։ Այդ մեկ փաստը փոխում է թիվը յուրաքանչյուր թունելի համար, քանի որ IPv4-ը IPv6-ի մեջ և IPv6-ը IPv4-ի մեջ փաթաթելը տարբեր փաստաթղթեր է ստեղծում։ Թունելը կարող է կրել երկու ընտանիքներն էլ միաժամանակ, և այդ դեպքում մի ուղղությունը կարող է պարունակել դաշտ, որ մյուսը չունի։ Նախքան որևէ բան հաշվելը հաստատեք տարբերակները։
Դասավորությունը գրեք որպես վերնագրերի ցանկ, ոչ որպես նկար։ Հերթականությունը կարևոր է գրառումը կարդալիս, և ստուգիչ գումարի դաշտի առկայությունը կամ բացակայությունը առաջին նշվող բանն է։
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
Առաջին տողն իր IP վերնագրերում ոչ մի տեղ IP վերնագրի ստուգիչ գումար չունի, մինչդեռ երկրորդը երկու ունի, երբ երկու վերնագրերն էլ IPv4 են։ Նույն թունելային տեխնոլոգիան, տարբեր թիվ, և տողերից ոչ մեկը ամբողջական լարի ձևաչափ չէ։
Ստուգեք, թե ինչ է ծածկում յուրաքանչյուր ստուգիչ գումար
Ծածկույթը այն մասն է, որ մարդիկ բաց են թողնում, և հենց այն է, ինչը թիվը դարձնում է իմաստալից։ IPv4 վերնագրի ստուգիչ գումարը պաշտպանում է վերնագիրը և ուրիշ ոչինչ, ուստի ոչինչ չի ասում դրա հետևի բեռնվածքի մասին։ IPv6-ի վրա UDP ստուգիչ գումարը ծածկում է կեղծ վերնագիր, ինչպես նաև UDP վերնագիրն ու բեռնվածքը, այսինքն հասնում է կրվող փաթեթի մեջ, երբ տվյալագրամը թունելավորված է։ TCP-ն ունի իր սեփական ստուգիչ գումարը՝ կեղծ վերնագրից նմանատիպ կախվածությամբ։ Սրանք երեք տարբեր ընդգրկույթներ են, թեև երեքն էլ կոչվում են ստուգիչ գումար։
RFC 791-ը սահմանում է IPv4 վերնագրի ստուգումը և դրա վերահաշվարկը յուրաքանչյուր թռիչքի ժամանակ, իսկ RFC 8200-ը սահմանում է վերին շերտի մշակումը IPv6-ի վրա՝ ներառյալ կեղծ վերնագիրը։ Փաստաթղթերից ոչ մեկը չի ասում, որ VPN փաթեթն ունի ստուգիչ գումարների հաստատուն քանակ, որովհետև ոչ մեկը թունել չի նկարագրում։
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Առանձին ստուգեք ամբողջականության պաշտպանությունը
ESP ամբողջականությունը գաղտնագրային պաշտպանություն է՝ իր սեփական ծածկույթով և ալգորիթմից կախված ներկայացմամբ։ Այն IP կամ UDP ստուգիչ գումար չէ այլ անվան տակ, և դրա երկարությունը փոխվում է ընտրված կառուցվածքից կախված։ Ամբողջականության ստուգումը ծածկում է փաթեթի սահմանված մասը, որը կախված օգտագործվող ռեժիմից կարող է ներառել ESP վերնագիրն ու բեռնվածքի մի մասը։ Այն հայտնի լայնության ստուգիչ գումարի դաշտ համարելը հենց այն տեղն է, որտեղ այս բացատրությունների մեծ մասը քանդվում է։
Նախքան բայթերը հաշվելը կարդացեք ընտրված կառուցվածքը և արդյունքը նկարագրեք որպես ամբողջականության պաշտպանություն, ոչ որպես այլ պիտակով ստուգիչ գումար։ Ապակոդավորիչը կասի դաշտի անունը, եթե հարցնեք։
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Նախքան հաշվելը ստուգեք դիտարկման կետը
Ներքին ինտերֆեյսի գրառումը և լարի վրա գրառումը կարող են ցույց տալ բոլորովին տարբեր շերտեր։ Ներքին ինտերֆեյսում թունելն արդեն հանված է, ուստի տեսնում եք կրվող փաթեթը և արտաքին վերնագրերից ոչ մեկը։ Լարի վրա տեսնում եք արտաքին վերնագրերը և գաղտնագրված բեռնվածք, որը չեք կարող կարդալ։ Տեսարաններից ոչ մեկը սխալ չէ, և դրանք նույն օբյեկտի տեսարաններ չեն։ Նշեք, թե որտեղ է արվել գրառումը, նախքան որևէ թիվ մեջբերելը։
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
Առաջին հրամանը ցույց է տալիս արտաքին փաթեթն իր ամբողջականության հետքով, իսկ երկրորդը՝ կրվող փաթեթն իր սեփական փոխադրական ստուգիչ գումարով։ Երկու գրառումների թվերը գումարելը ոչինչ երկու անգամ չի հաշվում, բայց նույն փաթեթը երկու անգամ է բացատրում։
Համեմատեք թիվը իրական գրառման հետ
Ապակոդավորեք մեկ փաթեթ ամբողջությամբ և նշեք յուրաքանչյուր դաշտ, որ ապակոդավորիչը կոչում է ստուգիչ գումար կամ ամբողջականության արժեք։ Ապա համեմատեք յուրաքանչյուր նշում ձեր գրած դասավորության հետ և ջնջեք նրանք, որոնք պատկանում են շերտի, որն իրականում չեք հաշվում։ Այն թիվը, որ դիմանում է այդ վարժությանը, պաշտպանելի է, իսկ հիշողությունից մեջբերվածը՝ ոչ։
Կրկնեք պատասխանի ուղղության համար, որովհետև երկու ընտանիքներն էլ կրող թունելը կարող է տարբերվել ուղղությամբ և հոսքով։ Ապա ասեք թիվը իր ընդգրկույթով, օրինակ երեք ստուգիչ գումար այս ներքին փաթեթի համար այս դիտարկման կետում, ոչ որպես VPN փաթեթների ընդհանուր հատկություն։
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum