Три различита алата пријављују три различита дупликата, и само је један од њих мрежни догађај на који можете да делујете. Поновно слање TCP је пошиљалац који поново шаље опсег, дупликат ACK је прималац који понавља потврду, а одбијање ESP понављања је сигурносна асоцијација која одбија редни број који је већ прихватила. Ниједно од три не подразумева остала. Читајте сваки бројач на слоју који га ствара пре него што их повежете у једну причу.

Три бројача који никада не мере исти догађај

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

ESP ради у сопственом простору секвенци. Свака сигурносна асоцијација нумерише пакете које шаље, а прималац држи прозор бројева које је већ прихватио, па се ESP пакет који стигне двапут одбацује само по тим правилима. Зато поново послати TCP сегмент путује у новом ESP пакету са новим редним бројем, што је исправно понашање на оба слоја. Исти бајтови могу изгледати нови у једном бројачу а стари у другом, и ниједан слој не лаже.

Шта анализатор може, а шта не може да види

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

tshark -r trace.pcap -Y "tcp.analysis.retransmission" | wc -l
tshark -r trace.pcap -Y "tcp.analysis.duplicate_ack" | wc -l

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

ESP бројачи живе у стању кернела

ESP редни бројеви припадају сигурносној асоцијацији, а не TCP току, па је гејтвеј место на којем треба питати. Списак стања пријављује бројаче пакета и грешака по асоцијацији које ниједан снимак не може да реконструише.

ip -s xfrm state
tshark -r trace.pcap -Y "esp" -T fields -e esp.seq | head

RFC 4303 дефинише редни број и прозор против понављања који га троши, због чега бројач расте и када ништа није у реду. Монотони спољашњи редни бројеви без одговарајуће TCP аномалије указују на другог пошиљаоца или дуплирану путању, а не на олују поновног слања. Спољашњи снимак шифрованог тунела обично скрива унутрашње TCP редне бројеве, па не може да докаже шта је унутрашњи стек урадио. Снимајте унутар тунела само где политика дозвољава и никада не искључујте заштиту од понављања да ућуткате неповезано упозорење.

Где гледиште мења одговор

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

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

Читање бројева у исправном редоследу

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

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

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