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