Snimak sadrži šest Echo zahtjeva i tri odgovora, a neko u tiketu napiše 50 posto gubitka paketa. Taj broj može biti tačan za snimak i netačan za tunel. Šest zahtjeva može pripadati dvama različitim razgovorima s dva različita ugovora o isporuci. Grupišite ih prije nego što podijelite, i omjer prestaje biti zanimljivi dio izvještaja.

Korak 1: razdvojite tokove po izvoru i odredištu

Echo zahtjev nosi izvor i odredište, a ta dva polja određuju kojem razgovoru pripada. Sonda koju generiše gateway koristi gateway adresu tunela, dok sonda proslijeđena u ime LAN hosta zadržava adresu tog hosta. Suprotna strana može imati povratnu rutu za jednu, a ne za drugu, zbog čega se dvije grupe ponašaju različito iz razloga koji nemaju veze s tunelom.

Podijelite snimak po tim poljima prije nego što bilo šta prebrojite, i zadržite odredište kao dio ključa. Dva toka prema različitim peerovima nisu uporediva čak i kada dijele izvor.

Zapišite grupe s njihovim brojevima, jer sljedeći korak odlučuje koji odgovori pripadaju kojoj grupi. Grupa s tri zahtjeva i bez odgovarajućeg odgovora je nalaz. Grupa s tri zahtjeva i tri odgovora je osnovna linija.

Korak 2: uparite po identifikatoru i rednom broju

Echo format u RFC 792 nosi identifikator i redni broj, i tretira ih kao polja koja uparuju odgovor s njegovim zahtjevom. Oba su potrebna za taj posao. Sam redni broj nije jedinstven, jer različiti pošiljaoci ili procesi mogu ponovo koristiti istu vrijednost unutar jednog prozora snimka. Identifikator sužava pošiljaoca, a redni broj poziciju, i par zajedno čini poklapanje odbranjivim.

Odgovor obrće smjer adresa svog zahtjeva, pa je poklapanje par zahtjev-odgovor, a ne dva identična torke. Uporedite izvor zahtjeva s odredištem odgovora i odredište zahtjeva s izvorom odgovora, zatim potvrdite da se identifikator i redni broj slažu.

Zadržite i prozor posmatranja, jer dug snimak može sadržavati legitimno ponovno korištenje oba polja. Skraćivanje prozora na jedan rafal uklanja većinu te dvosmislenosti. To također čini brojanja ponovljivim za svakoga ko čita tiket.

tshark -r capture.pcap -Y 'icmp.type == 8' -T fields -e frame.time -e ip.src -e ip.dst -e icmp.ident -e icmp.seq
tshark -r capture.pcap -Y 'icmp.type == 0' -T fields -e frame.time -e ip.src -e ip.dst -e icmp.ident -e icmp.seq

Korak 3: uporedite torke na istoj granici

Ako se prevođenje mrežnih adresa nalazi između tačke snimanja i peera, adrese u zahtjevu i odgovoru će se razlikovati po dizajnu. Uporedite torke na jednoj granici, ili prenesite mapiranje eksplicitno da bi razlika bila obračunata. Miješanje zahtjeva prije prevođenja s odgovorima poslije prevođenja stvara neslaganja koja nikada nisu postojala na žici.

Odlučite granicu prije nego što počnete brojati, i navedite je u izvještaju da sljedeća osoba može reproducirati grupisanje. Jedan snimak na strani klijenta i drugi na strani servera su dvije različite granice. Svaka odgovara na drugo pitanje o tome gdje je odgovor nestao.

Grupa prevedenih sondi također nasljeđuje vlastito stanje uređaja za prevođenje, što može biti stvarni razlog zašto odgovor nikada ne stigne. Provjerite to stanje prije nego što okrivite put iza njega.

tcpdump -ni any icmp and host 10.90.0.1 -c 20
tshark -r capture.pcap -Y 'icmp' -T fields -e ip.src -e ip.dst -e ip.ttl | head -20

Korak 4: recite šta snimak može, a šta ne može dokazati

Uočeni jaz ne dokazuje da je daleki host ostao tih. Tačka snimanja može vidjeti samo jedan smjer, filter može odbaciti odgovor, ili se bafer mogao preliti tokom prozora. Svako od toga daje istu odsutnost i drugačiji zaključak.

Zabilježite lokaciju snimanja, izraz filtera i brojače odbacivanja uz brojanja, jer se omjer bez njih ne može revidirati. Ta tri reda čine broj odbranjivim kasnije.

Zatim odvojite šta posmatranje utvrđuje od onoga što sugerira, u dvije rečenice umjesto jedne. Prva rečenica navodi brojanja i granicu. Druga navodi hipotezu i šta bi je potvrdilo.

Kada je pitanje da li određeni put odbacuje pakete, kontrolisana sonda s eksplicitnom izvornom adresom jači je dokaz od pasivnog brojanja miješanog saobraćaja. Pošaljite je s iste mašine, u isto vrijeme, istom peeru. Promijenite jednu varijablu i poređenje ostaje.

Prijavite grupe i sljedeću granicu

Izvještaj ima tri reda: definiciju grupe, uparena brojanja unutar svake grupe i granicu na kojoj je poređenje napravljeno. Čitalac tada može vidjeti da je jedna grupa odgovorila potpuno, a druga nije, što ukazuje na rutu ili dozvolu, a ne na slučajan gubitak.

Priložite datoteku snimka i izraze filtera da se grupisanje može reproducirati. Sažetak bez datoteke je tvrdnja, a ne rezultat.

ping -c 5 -I 10.80.0.6 10.90.0.1
ping -c 5 -I 10.30.0.25 10.90.0.1
tshark -r capture.pcap -Y 'icmp.type == 8 || icmp.type == 0' -T fields -e ip.src -e ip.dst -e icmp.ident -e icmp.seq | sort | uniq -c | head

Kada jedna grupa pokaže pet odgovora, a druga nijedan, nalaz je da jedan izvor ima ispravnu povratnu rutu, a drugi ne. To je mnogo bolji tiket od miješanog procenta, i usmjerava sljedeću provjeru na povratnu rutu umjesto na nepovezanu VPN instancu.

Povezani članci