มีการตรวจสอบข้อผิดพลาดที่ไม่ถูกต้องมากเกินไปใน TCPDUMP


23

ฉันพบข้อผิดพลาดในการตรวจสอบที่ไม่ถูกต้องมากเกินไปจากTCPDUMPบนเซิร์ฟเวอร์ GNU Linux 64 บิต มีการส่งออก chekcsums ที่ไม่ถูกต้องเกือบ 50% หรือไม่

cksum 0xe61f (ไม่ถูกต้อง (-> 0x8c37)

เราจะตีความข้อมูลนี้ได้อย่างไร มันส่งผลกระทบต่อประสิทธิภาพเป็นอย่างมากหรือไม่?


4
ใช้tcpdump --dont-verify-checksumsเพื่อละเว้นสิ่งเหล่านี้
วิลเล็ม

คำตอบ:


31

คุณเห็นการตรวจสอบ "ไม่ถูกต้อง" เนื่องจากมีคุณสมบัติที่เรียกว่า TCP checksum offloading ฟิลด์ checksum สำหรับแพ็กเก็ต TCP ขาออกไม่ได้ถูกคำนวณล่วงหน้าโดยระบบปฏิบัติการ แต่ตั้งค่าเป็น 0 และปล่อยไว้สำหรับการคำนวณโดยตัวประมวลผล NIC แทน Wireshark คำถามที่พบบ่อยมีคำอธิบายรายละเอียดเพิ่มเติม


ฉันเห็นว่า แต่มันเป็นเรื่องเฉพาะสำหรับ "หากแพ็กเก็ตที่มีการตรวจสอบ TCP ที่ไม่ถูกต้องล้วนถูกส่งมาจากเครื่องที่ Wireshark กำลังทำงานอยู่" และก็ไม่ชัดเจนว่าการตรวจสอบที่ถูกต้องตามกฎหมายมากเกินไปจะส่งผลกระทบต่อประสิทธิภาพเครือข่ายอย่างไร
วิษณุ

4
คุณควรเห็น checksums ที่ไม่ถูกต้องบนแพ็กเก็ตที่ส่งโดยเครื่องของคุณ นี่ไม่ใช่เฉพาะของ Wireshark ซอฟต์แวร์จับภาพแพ็คเก็ตใด ๆ ที่ทำงานในระดับนี้จะให้ผลลัพธ์ที่คล้ายกัน หากคุณเห็นการตรวจสอบล้มเหลวในแพ็กเก็ตที่ได้รับอาจมีปัญหาแน่นอน - แพ็กเก็ตเหล่านี้จะถูกทิ้งโดยสแต็ก TCP และทริกเกอร์การส่งสัญญาณใหม่รวมถึงอัลกอริทึมควบคุมความแออัดซึ่งจะมีผลกระทบโดยตรงกับปริมาณข้อมูล
the-wabbit

ข้อผิดพลาดในการตรวจสอบมีเฉพาะในแพ็คเก็ตที่ส่ง ขอบคุณ!
วิษณุ

ฉันเห็น checksums ที่ไม่ถูกต้องในแพ็กเก็ต SMB ขนาดใหญ่ที่เข้ามาซึ่งต้องประกอบใหม่ tcpdumpพิมพ์แพ็กเก็ตแรกด้วย "การตรวจสอบที่ไม่ถูกต้อง" พร้อมกับความคิดเห็น "คำเตือน: แพ็คเก็ตจะดำเนินการต่อในส่วน TCP ในภายหลัง" "การตรวจสอบที่ไม่ถูกต้อง" ตามด้วยความเห็น "" แพ็คเก็ต SMB-over-TCP: (ข้อมูลดิบหรือความต่อเนื่อง?) "ฉันคิดว่าการตรวจสอบในแพ็คเก็ตแรกของชุดจะถูกต้องถ้าทั้งหมดที่ตามมา แพ็คเก็ต (ซึ่งจริงๆแล้วไม่มีการตรวจสอบในสถานที่ที่tcpdumpมีค่าการตรวจสอบโลภ) ได้รับการประกอบเข้าด้วยกันทั้ง≤ 64KiB ทั้งหมดของพวกเขา
David Tonhofer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.