Tiga alat berbeda melaporkan tiga duplikat berbeda, dan hanya satu di antaranya peristiwa jaringan yang bisa Anda tangani. Retransmisi TCP adalah pengirim yang mengirim ulang suatu rentang, ACK duplikat adalah penerima yang mengulang pengakuan, dan penolakan replay ESP adalah asosiasi keamanan yang menolak nomor urut yang sudah diterimanya. Tidak ada satu pun dari ketiganya yang menyiratkan yang lain. Baca setiap penghitung pada lapisan yang menghasilkannya sebelum Anda menyatukannya menjadi satu cerita.

Tiga penghitung yang tidak pernah mengukur peristiwa yang sama

Anotasi retransmisi TCP berarti pengirim meletakkan lagi rentang urutan di kabel. Kehilangan adalah salah satu penyebabnya, dan tangkapan yang Anda pegang mungkin saja kehilangan paket asli atau pengakuan yang akan menjelaskan waktunya. ACK duplikat adalah penerima yang mengulang pengakuan kumulatif menurut aturan pemulihan TCP, yang bukan penulisan aplikasi duplikat dan bukan salinan kedua data.

ESP bekerja di ruang urutannya sendiri. Setiap asosiasi keamanan memberi nomor paket yang dikirimnya, dan penerima menyimpan jendela nomor yang sudah diterimanya, sehingga paket ESP yang datang dua kali dibuang hanya atas dasar itu. Karena itu segmen TCP yang dikirim ulang berjalan dalam paket ESP baru dengan nomor urut baru, yang merupakan perilaku benar pada kedua lapisan. Byte yang sama bisa terlihat baru di satu penghitung dan lama di penghitung lain, dan tidak ada lapisan yang berbohong.

Apa yang bisa dan tidak bisa dilihat penganalisis

Mulailah dari kosakata penganalisis, karena nama filter menggambarkan pengamatan, bukan bagian dalam titik akhir. Menghitung dengan nama yang sama seperti yang dipakai alat membuat Anda jujur tentang apa yang benar-benar diukur. Hitungan dari tangkapan yang tidak lengkap adalah hitungan dari apa yang bertahan, bukan dari apa yang terjadi di kabel.

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

Baca informasi pakar di samping angka-angka itu, karena peringatan checksum dan urutan mengubah berapa bobot yang pantas mereka terima. Jejak gabungan dari dua sensor bisa menampilkan satu frame dua kali, dan menghitung kedua salinan menciptakan peristiwa pemulihan yang tidak pernah terjadi.

Penghitung ESP hidup di status kernel

Nomor urut ESP milik asosiasi keamanan, bukan aliran TCP, jadi gateway adalah tempat bertanya. Daftar status melaporkan penghitung paket dan galat per asosiasi yang tidak bisa direkonstruksi oleh tangkapan mana pun.

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

RFC 4303 menetapkan nomor urut dan jendela anti-replay yang mengonsumsinya, itulah sebabnya penghitung naik meskipun tidak ada yang salah. Nomor urut luar yang monoton tanpa anomali TCP yang cocok menunjuk ke pengirim lain atau jalur duplikat, bukan ke badai retransmisi. Tangkapan luar dari terowongan terenkripsi biasanya menyembunyikan nomor urut TCP dalam, jadi tidak dapat membuktikan apa yang dilakukan tumpukan dalam. Tangkap di dalam terowongan hanya di tempat kebijakan mengizinkan, dan jangan pernah mematikan anti-replay untuk membungkam peringatan yang tidak terkait.

Di mana titik pandang mengubah jawaban

Sebelum mengeskalasi, tuliskan bagaimana tangkapan diambil: antarmuka, apakah proses tangkapan melaporkan paket hilang, dan apakah stempel waktu dapat dibandingkan antarsensor. Satu titik pandang tidak dapat melihat kedua ujung jalur, jadi setiap pernyataan tentang perilaku penerima adalah inferensi, bukan pengukuran. Jejak yang diambil di gateway dan jejak yang diambil di host akan berbeda pendapat tentang urutan saat beban tinggi, dan perbedaan itu biasanya milik tangkapan, bukan milik terowongan. Mengorelasikan dua pandangan itulah yang mengubah hitungan menjadi bukti.

Gunakan satu aliran aplikasi yang diizinkan dan catat penghitung titik akhir di samping hitungan tangkapan pada saat yang sama. Jika angkanya berbeda, percayai lapisan yang memiliki peristiwa itu dan perlakukan yang lain sebagai artefak pengamatan sampai terbukti sebaliknya. Aturan itu menyelesaikan sebagian besar tiket ini tanpa menyentuh konfigurasi terowongan.

Membaca angka dalam urutan yang benar

Mulailah dari lapisan tempat pertanyaan diajukan: peringatan TCP dijawab dari tangkapan TCP, dan penolakan ESP dijawab dari penghitung asosiasi keamanan di gateway. Baru setelah itu tanyakan apakah kedua pandangan menggambarkan paket yang sama. Kesimpulan yang membutuhkan kedua lapisan harus menyebut keduanya, karena klaim tentang terowongan yang hanya bersandar pada anotasi TCP adalah dugaan.

Catat lapisan, penghitung, dan titik pandang untuk setiap temuan, dan pembaca berikutnya tidak akan melebur tiga peristiwa menjadi satu kesalahan imajiner. Eskalasi dengan ketiga bidang itu dan perbaikannya biasanya mengikuti dari yang pertama.

Artikel terkait