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

അനുബന്ധ ലേഖനങ്ങൾ