Zachycení pořízená uprostřed sezení jsou obvyklým důvodem, proč stopa IKEv2 vypadá jako šum, protože strany už obnovují klíče nebo si vyměňují šifrované obsahy, když záznam začíná. Začněte místo toho novým pokusem o připojení, aby první zprávou v souboru byla ta, která otevírá vyjednávání. Následující pořadí čtení to předpokládá a označuje bod, ve kterém paket přestává cokoli dokazovat o vzdálené straně. Právě vynechání tohoto kroku vede k tomu, že funkční tunel je diagnostikován jako blokovaný port.

Ověřte, že se díváte na úvodní výměnu

Vyjednávání IKEv2 začíná zprávou IKE_SA_INIT, typem výměny 34 a ID zprávy 0. Iniciátor volí nenulové SPI a SPI respondéra je v tomto prvním požadavku nulové a v odpovědi nenulové. Tyto tři skutečnosti oddělují nový pokus od obnovy klíčů nebo od zprávy IKE_AUTH, která náhodou stojí na začátku zachycení.

Pole hlavičky jsou čitelná, stejně jako obsahy návrhu, výměny klíčů a nonce. Čitelnost není autentizace: žádná ze stran v tomto okamžiku neprokázala identitu a soukromá hodnota Diffie-Hellman se nikdy na lince neobjeví.

Vypište pole jako tabulku, místo abyste projížděli panel dekódování, protože opakované přenosy a neshodná SPI jsou ve sloupcích zřejmá.

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

Čtěte výstup po dvojicích. Požadavek s ID zprávy 0 následovaný odpovědí se stejným ID a nenulovým SPI respondéra je jedna výměna, i když se objeví třikrát, protože požadavek byl přenesen znovu. Tři shodné požadavky nejsou tři přihlášení a právě takové zacházení vede k závěru, že klient se zacyklil, když je jen trpělivý. Seřaďte podle ID zprávy a poté podle časové značky a celý rozhovor se smrští na krátký seznam pokusů.

Přečtěte odmítnutí dřív než úspěch

Odpověď není automaticky pokrok. Respondér může odpovědět oznámením cookie a očekávat, že iniciátor to zkusí znovu, nebo zprávou INVALID_KE_PAYLOAD, která uvede skupinu, již by místo ní přijal. Obě dorazí jako správně vytvořené zprávy IKE a obě vypadají jako dokončená výměna pro filtr, který jen počítá pakety.

Otevřete obsah oznámení a přečtěte typ dřív než cokoli jiného. Výzva cookie znamená, že se respondér brání proti podvrženým zdrojovým adresám a klient musí odeslat znovu s přiloženým cookie. Neplatná skupina znamená, že se oba návrhy neshodují, což žádné opakování nezmění, dokud se nepohne konfigurace jedné strany.

Pouze IKE_AUTH, druhá výměna, nese šifrovanou identitu a obsahy autentizace. Dokončené IKE_SA_INIT vám tedy říká, že se strany shodly na algoritmech a odvozených klíčích, a naprosto nic o tom, zda budou přihlašovací údaje přijaty. Očekávejte tam také dvě zprávy a očekávejte, že obě budou bez klíčů sezení neprůhledné.

Port 4500 není jeden protokol

Úvodní výměnu obvykle přenáší UDP 500. Jakmile proběhne zjišťování NAT, IKE přejde na 4500 a před každou zprávu vloží čtyřbajtový nulový marker, který není ESP. Zapouzdřené ESP na stejném portu začíná naopak nenulovým SPI ESP a jednobajtový keepalive NAT je třetí podoba, která se objeví, když se nic jiného neděje.

Filtr, který odpovídá jen portu, míchá všechny tři, a proto "na 4500 je provoz" vyřeší tak málo. Rozdělte pohled podle protokolu, než o vzdálené straně cokoli uzavřete.

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

Ticho popisuje pozorovací bod

Požadavky bez odpovědí stanovují přesně jednu věc: v tom místě zachycení se žádná odpověď neobjevila. Filtrování, trasa, která odpověď posílá jinam, nedostupný respondér nebo respondér, kterému se návrh nelíbí, dávají všichni stejný prázdný výsledek a obecná sonda UDP je neoddělí.

Nedostupnost ICMP je důkaz jiného druhu. Přečtěte citovaný paket uvnitř a určete, které zařízení ho vyslalo, protože administrativní odmítnutí routeru není autentizovaná chyba vzdálené strany.

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

Propojte stejný pokus se serverovými záznamy tam, kde je smíte číst. Dorazil požadavek, odpověděla služba a kde se odpověď zastavila? Tyto tři odpovědi vás pošlou k problému s cestou nebo k problému se zásadami a stojí méně než čtvrté obměnění přihlašovacích údajů.

Související články