Једно снимање садржи шест Echo захтева и три одговора, а неко у тикету напише губитак пакета од 50 процената. Тај број може бити тачан за снимање и нетачан за тунел. Шест захтева може припадати двама различитим разговорима са два различита уговора о испоруци. Групишите их пре него што поделите, и однос престаје да буде занимљиви део извештаја.

Корак 1: раздвојите токове по извору и одредишту

Echo захтев носи извор и одредиште, а та два поља одређују којем разговору припада. Сонда коју генерише гејтвеј користи тунелску адресу гејтвеја, док сонда прослеђена у име LAN хоста задржава адресу тог хоста. Супротна страна може имати повратну руту за једну, а не за другу, због чега се две групе понашају различито из разлога који немају везе са тунелом.

Поделите снимање по тим пољима пре него што било шта пребројите, и задржите одредиште као део кључа. Два тока ка различитим партнерима нису упоредива чак и када деле извор.

Запишите групе са њиховим бројевима, јер следећи корак одлучује који одговори припадају којој групи. Група са три захтева и без одговарајућег одговора је налаз. Група са три захтева и три одговора је основна линија.

Корак 2: упарите по идентификатору и секвенци

Echo формат у RFC 792 носи идентификатор и редни број, и третира их као поља која спајају одговор са његовим захтевом. Оба су потребна за тај посао. Сам редни број није јединствен, јер различити пошиљаоци или процеси могу поново користити исту вредност у једном прозору снимања. Идентификатор сужава пошиљаоца, а секвенца позицију, и пар заједно чини поклапање одбрањивим.

Одговор обрће смер адреса свог захтева, па је поклапање пар захтев-одговор, а не две идентичне торке. Упоредите извор захтева са одредиштем одговора и одредиште захтева са извором одговора, затим потврдите да се идентификатор и секвенца слажу.

Задржите и прозор посматрања, јер дуго снимање може садржати законито поновно коришћење оба поља. Скраћивање прозора на један рафал уклања већину те двосмислености. То такође чини бројања поновљивим за свакога ко чита тикет.

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: упоредите торке на истој граници

Ако превођење мрежних адреса стоји између тачке снимања и партнера, адресе у захтеву и одговору ће се разликовати по пројекту. Упоредите торке на једној граници, или пренесите мапирање експлицитно да би разлика била обрачуната. Мешање захтева пре превођења са одговорима после превођења ствара неспагања која никада нису постојала на жици.

Одлучите о граници пре него што почнете да бројите, и наведите је у извештају да би следећа особа могла да понови груписање. Једно снимање на страни клијента и друго на страни сервера су две различите границе. Свака одговара на друго питање о томе где је одговор нестао.

Група преведених сонди такође наслеђује сопствено стање уређаја за превођење, што може бити прави разлог зашто одговор никада не стигне. Проверите то стање пре него што окривите пут иза њега.

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: реците шта снимање може, а шта не може да докаже

Уочени јаз не доказује да је далеки хост ћутао. Тачка снимања може видети само један смер, филтер може одбацити одговор, или се бафер могао прелити током прозора. Свако од тога даје исто одсуство и другачији закључак.

Забележите локацију снимања, израз филтера и бројаче одбацивања поред бројања, јер се однос без њих не може ревидирати. Управо та три реда чине број одбрањивим касније.

Затим одвојте шта посматрање утврђује од онога што сугерише, у две реченице уместо једне. Прва реченица наводи бројања и границу. Друга наводи хипотезу и шта би је потврдило.

Када је питање да ли одређени пут одбацује пакете, контролисана сонда са експлицитном изворном адресом је јачи доказ од пасивног бројања мешаног саобраћаја. Пошаљите је са исте машине, у исто време, истом партнеру. Промените једну променљиву и поређење остаје.

Пријавите групе и следећу границу

Извештај има три реда: дефиницију групе, упарена бројања унутар сваке групе и границу на којој је поређење направљено. Тада читалац може да види да је једна група одговорила потпуно, а друга није, што указује на руту или дозволу, а не на случајан губитак.

Приложите датотеку снимања и изразе филтера да би груписање могло да се понови. Резиме без датотеке је тврдња, а не резултат.

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

Када једна група покаже пет одговора, а друга ниједан, налаз је да један извор има исправну повратну руту, а други не. То је много бољи тикет од мешаног процента, и усмерава следећу проверу на повратну руту уместо на неповезану VPN инстанцу.

Повезани чланци