Saya menemukan terlalu banyak kesalahan checksum yang salah dari TCPDUMP yang dilakukan pada server GNU Linux 64bit. Ada hampir 50% chekcums yang salah dalam ekspor?
cksum 0xe61f (salah (-> 0x8c37)
Bagaimana kita bisa menafsirkan data ini? Apakah itu banyak mempengaruhi kinerja?
network-monitoring
tcpdump
checksum
Vishal
sumber
sumber
tcpdump --dont-verify-checksums
untuk mengabaikan ini.Jawaban:
Anda melihat checksum "salah" karena fitur yang disebut TCP checksum offloading. Bidang checksum untuk paket TCP yang keluar tidak dihitung sebelumnya oleh sistem operasi, tetapi ditetapkan ke 0 dan dibiarkan untuk perhitungan oleh prosesor NIC. The Wireshark FAQ memiliki penjelasan yang lebih rinci.
sumber
tcpdump
mencetak paket pertama dengan "checksum yang salah" bersama dengan komentar "PERINGATAN: Paket dilanjutkan di segmen TCP selanjutnya". Lalu ada beberapa lagi dengan "checksum yang salah" diikuti dengan komentar "" Paket SMB-over-TCP: (data mentah atau lanjutan?) ". Saya kira checksum dalam paket pertama set akan benar jika semua yang berikutnya paket (yang sebenarnya tidak memiliki checksum di tempattcpdump
meraih nilai checksum) telah disusun kembali menjadi keseluruhan ≤ 64KiB keseluruhannya.