Cantas sumas de verificación ten un paquete VPN? Depende
O número depende das versións de IP, do protocolo transportado e do formato de protección. As sumas de verificación de cabeceira, de capa superior e as etiquetas de integridade difiren.
A afirmación de que un paquete VPN leva exactamente dúas sumas de verificación soa ordenada e é abondo frecuentemente falsa como para merecer unha análise. O número depende de que versións de IP aparecen, que protocolo de transporte se leva e que formato de protección usa o túnel. Unha suma de verificación de cabeceira, unha suma de verificación de capa superior e unha etiqueta criptográfica de integridade son tres mecanismos con tres alcances. Contalas comeza por marcar que cobre cada unha.
Comprobe que versións de IP están realmente no cable
As cabeceiras IPv4 levan unha suma de verificación de cabeceira de 16 bits, e as cabeceiras IPv6 non levan nada semellante. Ese único feito cambia o número para cada túnel, porque envolver IPv4 dentro de IPv6 e envolver IPv6 dentro de IPv4 producen documentos distintos. Un túnel pode levar ambas as familias á vez, e entón unha dirección pode conter un campo que a outra non ten. Estableza as versións antes de contar nada.
Escriba a disposición como unha lista de cabeceiras en lugar dunha imaxe. A orde importa ao ler unha captura, e a presenza ou ausencia do campo de suma de verificación é o primeiro que hai que marcar.
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
A primeira liña non ten ningunha suma de verificación de cabeceira IP nas súas cabeceiras IP, mentres que a segunda ten dúas cando ambas as cabeceiras son IPv4. A mesma tecnoloxía de túnel, un número distinto, e ningunha das liñas é un formato de cable completo.
Comprobe que cobre cada suma de verificación
A cobertura é a parte que a xente salta, e é o que fai que un número teña sentido. A suma de verificación de cabeceira IPv4 protexe a cabeceira e nada máis, así que non di nada da carga útil que hai detrás. Unha suma de verificación UDP sobre IPv6 cobre unha pseudocabeceira máis a cabeceira e a carga útil UDP, o que significa que chega ata o paquete transportado cando o datagrama vai por túnel. TCP ten a súa propia suma de verificación cunha dependencia similar da pseudocabeceira. Son tres alcances distintos aínda que as tres se chamen sumas de verificación.
O RFC 791 define a comprobación de cabeceira IPv4 e o seu recálculo en cada salto, e o RFC 8200 define o tratamento da capa superior sobre IPv6, incluída a pseudocabeceira. Ningún dos dous documentos di que un paquete VPN teña un número fixo de sumas de verificación, porque ningún describe un túnel.
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Comprobe a protección de integridade por separado
A integridade de ESP é unha protección criptográfica con cobertura propia e unha representación que depende do algoritmo. Non é unha suma de verificación IP ou UDP con outro nome, e a súa lonxitude varía segundo a construción elixida. Unha comprobación de integridade cobre unha porción definida do paquete, que segundo o modo pode incluír a cabeceira ESP e parte da carga útil. Contala como un campo de suma de verificación de anchura coñecida é onde a maioría destas explicacións se desmoronan.
Lea a construción elixida antes de contar bytes, e describa o resultado como protección de integridade e non como unha suma de verificación con outra etiqueta. O decodificador nomearalle o campo se llo pide.
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Comprobe o punto de observación antes de contar
Unha captura na interface interna e unha captura no cable poden mostrar capas completamente distintas. Na interface interna o túnel xa está quitado, así que ve o paquete transportado e ningunha das cabeceiras externas. No cable ve as cabeceiras externas e unha carga útil cifrada que non pode ler. Ningunha das dúas vistas é incorrecta, e non son vistas do mesmo obxecto. Indique onde se tomou a captura antes de citar calquera número.
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
O primeiro comando mostra o paquete externo co seu tráiler de integridade, e o segundo mostra o paquete transportado coa súa propia suma de verificación de transporte. Sumar números de ambas as capturas non conta nada dúas veces, pero explica o mesmo paquete dúas veces.
Contraste o número cunha captura real
Decodifique un paquete por completo e marque cada campo que o decodificador denomine suma de verificación ou valor de integridade. Despois compare cada marca coa disposición que escribiu, e borre as que pertenzan a unha capa que non está a contar. Un número que sobreviva a ese exercicio é defendible, e un número citado de memoria non o é.
Repita para a dirección de resposta, porque un túnel que leva ambas as familias pode diferir por dirección e por fluxo. Despois diga o número co seu alcance, por exemplo tres sumas de verificación para este paquete interno neste punto de observación, e non como unha propiedade dos paquetes VPN en xeral.
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum