Snimke uzete usred sesije uobičajen su razlog zašto IKEv2 trag izgleda kao šum, jer strane već obnavljaju ključeve ili razmjenjuju šifrirane terete kada snimanje počne. Umjesto toga počnite novim pokušajem povezivanja, tako da prva poruka u datoteci bude ona koja otvara pregovore. Redoslijed čitanja u nastavku to pretpostavlja i označava tačku u kojoj paket prestaje dokazivati bilo šta o drugoj strani. Preskakanje tog koraka vodi do toga da se ispravan tunel dijagnostikuje kao blokiran port.

Potvrdite da gledate početnu razmjenu

IKEv2 pregovori počinju sa IKE_SA_INIT, tipom razmjene 34, ID-om poruke 0. Inicijator bira SPI različit od nule, a SPI odgovarača je nula u tom prvom zahtjevu i različit od nule u odgovoru. Te tri činjenice razdvajaju novi pokušaj od obnove ključeva ili od IKE_AUTH poruke koja se slučajno nalazi na vrhu snimke.

Polja zaglavlja su čitljiva, kao i tereti prijedloga, razmjene ključeva i nonce. Čitljivost nije autentifikacija: nijedna strana nije dokazala identitet u ovoj fazi, a privatna vrijednost Diffie-Hellmana nikada se ne pojavljuje na žici.

Štampajte polja kao tabelu umjesto da skrolate kroz panel za dekodiranje, jer ponovna slanja i neusklađeni SPI postaju očigledni u kolonama.

tshark -r ike.pcapng -Y "isakmp" -T fields -e frame.number -e ip.src -e udp.srcport -e isakmp.exchangetype -e isakmp.messageid -e isakmp.initiator_spi -e isakmp.responder_spi

Čitajte izlaz u parovima. Zahtjev sa ID-om poruke 0 iza kojeg slijedi odgovor sa istim ID-om i SPI-jem odgovarača različitim od nule jeste jedna razmjena, čak i kada se pojavi tri puta jer je zahtjev ponovo poslan. Tri identična zahtjeva nisu tri prijave, i upravo takvo tretiranje vodi do zaključka da klijent kruži u petlji dok je samo strpljiv. Sortirajte po ID-u poruke, zatim po vremenu, i cijeli razgovor se sažima u kratku listu pokušaja.

Pročitajte odbijanje prije nego uspjeh

Odgovor nije automatski napredak. Odgovarač može odgovoriti cookie obavještenjem i očekivati da inicijator pokuša ponovo, ili sa INVALID_KE_PAYLOAD koji imenuje grupu koju bi radije prihvatio. Oba dolaze kao ispravno formirane IKE poruke, i oba izgledaju kao završena razmjena filteru koji samo broji pakete.

Otvorite teret obavještenja i pročitajte tip prije svega ostalog. Cookie izazov znači da se odgovarač brani od lažiranih izvornih adresa i klijent mora ponovo poslati sa pridodatim cookiejem. Neispravna grupa znači da se dva prijedloga ne slažu, što nijedno ponavljanje neće promijeniti dok se konfiguracija jedne strane ne pomjeri.

Samo IKE_AUTH, druga razmjena, nosi šifrirani identitet i terete autentifikacije. Završeni IKE_SA_INIT vam zato kaže da se strane slažu o algoritmima i izvedenim ključevima, i baš ništa o tome hoće li akreditivi biti prihvaćeni. Očekujte i tamo dvije poruke i očekujte da će obje biti neprozirne bez ključeva sesije.

Port 4500 nije jedan protokol

UDP 500 obično nosi početnu razmjenu. Nakon što se izvrši otkrivanje NAT-a, IKE prelazi na 4500 i ispred svake poruke stavlja četverobajtni nulti marker koji nije ESP. Enkapsulirani ESP na istom portu počinje pak ne-nultim ESP SPI-jem, a jednobajtni NAT keepalive treći je oblik koji se pojavljuje kada se ništa drugo ne dešava.

Filter koji upoređuje samo port miješa sva tri, zbog čega "ima saobraćaja na 4500" tako malo rješava. Podijelite prikaz po protokolu prije nego zaključite bilo šta o drugoj strani.

tshark -r ike.pcapng -Y "udp.port == 4500 && isakmp" -T fields -e frame.number -e isakmp.exchangetype
tshark -r ike.pcapng -Y "udp.port == 4500 && !isakmp" -T fields -e frame.number -e esp.spi

Tišina opisuje tačku posmatranja

Zahtjevi bez odgovora dokazuju tačno jednu stvar: u toj tački snimanja nijedan odgovor se nije pojavio. Filtriranje, ruta koja odgovor šalje negdje drugdje, nedostupan odgovarač ili odgovarač koji ne voli prijedlog svi daju isti prazan rezultat, a generička UDP provjera ih neće razdvojiti.

ICMP nedostupnost je dokaz druge vrste. Pročitajte citirani paket unutar njega i utvrdite koji ga je uređaj emitovao, jer administratorovo odbijanje rutera nije autentifikovana greška druge strane.

tshark -r ike.pcapng -Y "icmp.type == 3" -T fields -e frame.number -e ip.src -e icmp.code

Povežite isti pokušaj sa zapisima na strani servera tamo gdje vam je dozvoljeno da ih čitate. Je li zahtjev stigao, je li usluga odgovorila i gdje se odgovor zaustavio? Ta tri odgovora vode vas do problema s putanjom ili do problema s politikom, i koštaju manje od četvrtog mijenjanja akreditiva.

Povezani članci