Viename įraše yra šešios Echo užklausos ir trys atsakymai, ir kažkas biliete parašo 50 procentų paketų nuostolį. Šis skaičius gali būti teisingas įrašui ir neteisingas tuneliui. Šešios užklausos gali priklausyti dviem skirtingiems pokalbiams su dviem skirtingomis pristatymo sutartimis. Sugrupuokite jas prieš dalydami, ir santykis nustos būti įdomiausia ataskaitos dalimi.

1 žingsnis: atskirkite srautus pagal šaltinį ir paskirties vietą

Echo užklausa neša šaltinį ir paskirties vietą, ir šie du laukai nusako, kuriam pokalbiui ji priklauso. Tiesos sugeneruotas zondas naudoja tiesos tunelio adresą, o LAN pagrindinio kompiuterio vardu persiųstas zondas išlaiko to kompiuterio adresą. Priešingoje pusėje vienam gali būti grįžimo maršrutas, o kitam ne, todėl abi grupės elgiasi skirtingai dėl priežasčių, neturinčių nieko bendra su tuneliu.

Padalykite įrašą pagal šiuos laukus prieš ką nors skaičiuodami, ir palikite paskirties vietą raktų dalimi. Du srautai į skirtingus partnerius nepalyginami net tada, kai jie dalijasi šaltiniu.

Užrašykite grupes su jų skaičiais, nes kitas žingsnis nusprendžia, kurie atsakymai priklauso kuriai grupei. Grupė su trimis užklausomis ir nė vienu atitinkančiu atsakymu yra radinys. Grupė su trimis užklausomis ir trimis atsakymais yra bazinė linija.

2 žingsnis: suderinkite pagal identifikatorių ir seką

RFC 792 Echo formatas neša identifikatorių ir sekos numerį, ir juos laiko laukais, kurie susieja atsakymą su jo užklausa. Šiam darbui reikia abiejų. Vien sekos numeris nėra unikalus, nes skirtingi siuntėjai ar procesai gali pakartotinai naudoti tą pačią reikšmę viename įrašo lange. Identifikatorius susiaurina siuntėją, o seka – poziciją, ir būtent pora kartu daro atitikimą apginamą.

Atsakymas apverčia savo užklausos adresų kryptį, todėl atitikimas yra užklausos-atsakymo pora, o ne du identiški kortežai. Palyginkite užklausos šaltinį su atsakymo paskirties vieta ir užklausos paskirties vietą su atsakymo šaltiniu, tada patvirtinkite, kad identifikatorius ir seka sutampa.

Išsaugokite ir stebėjimo langą, nes ilgas įrašas gali turėti teisėtą abiejų laukų pakartotinį naudojimą. Sutrumpinus langą iki vieno pliūpsnio, didžioji dalis šios dviprasmybės išnyksta. Tai taip pat daro skaičius atkuriamus kiekvienam, kuris skaito bilietą.

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

3 žingsnis: palyginkite kortežus toje pačioje riboje

Jei tinklo adresų vertimas yra tarp įrašo taško ir partnerio, užklausos ir atsakymo adresai skirsis pagal projektą. Palyginkite kortežus vienoje riboje, arba perkelkite atvaizdavimą aiškiai, kad skirtumas būtų įskaitytas. Sumaišius užklausas prieš vertimą su atsakymais po vertimo, sukuriami neatitikimai, kurių laide niekada nebuvo.

Nuspręskite ribą prieš pradėdami skaičiuoti ir nurodykite ją ataskaitoje, kad kitas žmogus galėtų atkurti grupavimą. Vienas įrašas kliento pusėje ir kitas serverio pusėje yra dvi skirtingos ribos. Kiekviena atsako į skirtingą klausimą apie tai, kur dingo atsakymas.

Išverstų zondų grupė taip pat paveldi paties vertimo įrenginio būseną, kuri gali būti tikroji priežastis, kodėl atsakymas niekada neateina. Patikrinkite tą būseną prieš kaltindami kelią už jos.

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

4 žingsnis: pasakykite, ką įrašas gali ir ko negali įrodyti

Stebėtas tarpas neįrodo, kad tolimas kompiuteris tylėjo. Įrašo taškas gali matyti tik vieną kryptį, filtras gali numesti atsakymą, arba buferis galėjo persipildyti per langą. Kiekvienas iš jų duoda tą patį nebuvimą ir skirtingą išvadą.

Užrašykite įrašo vietą, filtro išraišką ir numetimų skaitiklius šalia skaičių, nes santykis be jų negali būti audituojamas. Būtent šios trys eilutės daro skaičių vėliau apginamą.

Tada atskirkite, ką stebėjimas nustato, nuo to, ką jis siūlo, dviejuose sakiniuose, o ne viename. Pirmas sakinys nurodo skaičius ir ribą. Antras nurodo hipotezę ir kas ją patvirtintų.

Kai klausimas yra, ar konkretus kelias numeta paketus, valdomas zondas su aiškiu šaltinio adresu yra stipresnis įrodymas nei pasyvus mišraus srauto skaičiavimas. Siųskite jį iš to paties kompiuterio, tuo pačiu metu, tam pačiam partneriui. Pakeiskite vieną kintamąjį, ir palyginimas išlieka.

Praneškite apie grupes ir kitą ribą

Ataskaitoje yra trys eilutės: grupės apibrėžimas, suderinti skaičiai kiekvienoje grupėje ir riba, kurioje buvo atliktas palyginimas. Tada skaitytojas gali pamatyti, kad viena grupė atsakė visiškai, o kita ne, kas nurodo maršrutą ar leidimą, o ne atsitiktinį nuostolį.

Pridėkite įrašo failą ir filtro išraiškas, kad grupavimą būtų galima atkurti. Santrauka be failo yra teiginys, o ne rezultatas.

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

Kai viena grupė rodo penkis atsakymus, o kita – nė vieno, radinys yra tas, kad vienas šaltinis turi veikiantį grįžimo maršrutą, o kitas – ne. Tai daug geresnis bilietas nei mišrus procentas, ir jis nukreipia kitą patikrinimą į grįžimo maršrutą, o ne į nesusijusią VPN instanciją.

Susiję straipsniai