คุณแคปเจอร์แพ็กเก็ตขนาด 1400 ไบต์บนอินเทอร์เฟซอุโมงค์ แล้วแคปเจอร์อีกครั้งบนอินเทอร์เฟซกายภาพ แต่ตัวเลขกลับไม่ตรงกัน ที่อยู่ต่างกัน ขนาดต่างกัน และไฟล์ที่สองดูเหมือนบทสนทนาคนละเรื่อง ไม่มีอะไรเสีย สองแพ็กเก็ตที่ต่างกันอยู่คนละชั้น และช่องว่างระหว่างทั้งสองคือสิ่งที่อุโมงค์ทำกับทราฟฟิกของคุณ อ่านทั้งสองมุมมองก่อนจะโทษ MTU

สองมุมมอง และแพ็กเก็ตที่แต่ละมุมมองแสดง

แคปเจอร์ที่ทำบนอินเทอร์เฟซอุโมงค์แสดงแพ็กเก็ตชั้นใน: เพย์โหลดของแอปพลิเคชันที่พาแหล่งต้นทางและปลายทางเดิมไป ก่อนที่จะมีการป้องกันใด ๆ ถูกใช้ แคปเจอร์บนอินเทอร์เฟซกายภาพแสดงแพ็กเก็ตชั้นนอก: ส่วนหัว IP ส่วนหัวขนส่ง การห่อหุ้ม และจากนั้นคือแพ็กเก็ตชั้นในที่เข้ารหัสแล้วในฐานะเพย์โหลด บทสนทนาเดียวกัน วัตถุต่างกัน เมื่อคุณระบุได้ว่าไฟล์มีอันไหน ความไม่ตรงกันก็ไม่ใช่ปริศนาอีกต่อไป

ความต่างของขนาดคือโอเวอร์เฮด และความต่างของที่อยู่คือการออกแบบ ลองกลับมุมมองดู แล้วความสับสนก็คาดเดาได้: ผู้คนเอาแพ็กเก็ตชั้นในขนาด 1400 ไบต์ไปเทียบกับแพ็กเก็ตชั้นนอกขนาด 1450 ไบต์ ตัดสินว่ามีอะไรผิด แล้วเริ่ม เปลี่ยนการตั้งค่า MTU ที่ไม่เคยเป็นความผิด ติดป้ายไฟล์ด้วยอินเทอร์เฟซและชั้น เพราะป้ายนั้นคือสิ่งแรกที่ผู้อ่านต้องการและสิ่งแรกที่ผู้คนมักละไว้

ตัดสินใจเลือกชั้นก่อนเริ่มแคปเจอร์

ตัดสินใจว่าชั้นไหนตอบคำถามของคุณก่อนที่แพ็กเก็ตแรกจะถูกเขียน คำถามเรื่อง MTU มักต้องใช้มุมมองชั้นนอก เพราะนั่นคือที่ที่ส่วนหัวสะสมและที่ที่ขีดจำกัดของเส้นทางปรากฏ คำถามเรื่องแอปพลิเคชันมักต้องใช้มุมมองชั้นใน เพราะนั่นคือที่ที่เพย์โหลดที่คุณสนใจยังอยู่ การแคปเจอร์ทั้งสองแบบโดยไม่มีแผนจะได้ไฟล์สองไฟล์และไม่มีข้อสรุป

ใช้การทดสอบที่ไม่เป็นอันตรายและได้รับอนุญาต แล้วกรองตามแหล่ง ปลายทาง และเวลาที่คุณสนใจ อ่านอินเทอร์เฟซและตัวเลือกการกรองของเครื่องมือแคปเจอร์ก่อนเก็บข้อมูล เพราะเมทาดาทามักเพียงพอและแชร์ง่ายกว่าข้อมูลมาก ถือว่าแคปเจอร์ชั้นในเป็นข้อมูลอ่อนไหวโดยค่าเริ่มต้น เพราะมันเก็บข้อมูลแอปพลิเคชันที่ยังไม่เข้ารหัสซึ่งจะได้รับการป้องกันต่อไปตามเส้นทาง

ความต่างของขนาดบรรจุอะไรอยู่จริง

แพ็กเก็ตชั้นนอกพาส่วนหัวเพิ่มเติมและวัสดุป้องกัน และจะพาไปเท่าไรขึ้นอยู่กับโปรโตคอลและตัวเลือกของมัน การแบ่งส่วน การรวมกลุ่ม หรือการจัดเรียงใหม่ตามเส้นทางอาจทำให้ความสัมพันธ์แบบหนึ่งต่อหนึ่งที่ดูเหมือนมีอยู่ระหว่างแพ็กเก็ตชั้นในกับแพ็กเก็ตชั้นนอกที่พามันไปนั้นแตกออก ดังนั้นการเทียบขนาดต่อขนาดจึงไม่สามารถทำได้ทุกครั้ง สำหรับข้อสงสัยว่าเป็นความผิดพลาดของ MTU ให้มองหาข้อมูลป้อนกลับเรื่องขนาดและจุดที่ทราฟฟิกหยุด แล้วนำไปเทียบกับสิ่งที่แอปพลิเคชันรายงาน รูปแบบการส่งซ้ำที่ไม่มีการตอบกลับเป็นสัญญาณที่ต่างจากข้อผิดพลาด ICMP ที่พาขนาดของฮอปถัดไปมา

แพ็กเก็ตเดียวที่ออกจากโฮสต์ไม่ได้พิสูจน์อะไรเลยว่าปลายทางไกลได้รับหรือไม่ ถ้าแคปเจอร์ของคุณสิ้นสุดที่อินเทอร์เฟซของคุณเอง คุณเพียงแสดงว่าเคอร์เนลเปล่งบางสิ่งออกมา ซึ่งเป็นหลักฐานที่อ่อนที่สุดเท่าที่มีเกี่ยวกับเส้นทาง รวมแคปเจอร์เข้ากับอาการที่ทำซ้ำได้: ปลายทางเดิม การกระทำเดิม ขนาดเดิม รันสองครั้งโดยเปลี่ยนตัวแปรหนึ่งตัว

อ่านผลของออฟโหลดไปสู่ตัวเลข

การแบ่งส่วนฝั่งโฮสต์และออฟโหลดอื่น ๆ เพิ่มความคลาดเคลื่อนที่สอง และเป็นตัวที่ทำให้แคปเจอร์ภายในเครื่องไม่ตรงกับสาย แคปเจอร์ภายในเครื่องอาจแสดงบัฟเฟอร์ที่อะแดปเตอร์แบ่งภายหลัง ดังนั้นเฟรมบนลิงก์จึงเล็กกว่าและมีจำนวนมากกว่าที่ไฟล์บอก นั่นคือเหตุผลที่บัฟเฟอร์ขนาดใหญ่ในไฟล์แคปเจอร์ไม่ได้พิสูจน์ว่าเฟรมที่ใหญ่เกินขนาดข้ามทุกลิงก์ไปแล้ว ถ้าขนาดมีความสำคัญต่อข้อสรุปของคุณ ให้บันทึกว่าแคปเจอร์ถูกเก็บที่ไหนและออฟโหลดทำงานบนอินเทอร์เฟซนั้นหรือไม่

ไม่เช่นนั้นคุณกำลังวัดความสะดวกของโฮสต์แทนพฤติกรรมของเส้นทาง ไฟล์สองไฟล์ที่ติดป้ายอินเทอร์เฟซและสถานะออฟโหลดจะยุติข้อโต้แย้งเหล่านี้เกือบทั้งหมดได้ในหนึ่งนาที

จุดที่แคปเจอร์เลิกเป็นหลักฐาน

การเห็นแพ็กเก็ตชั้นนอกที่เข้ารหัสแสดงว่ามีขอบเขตการป้องกันอยู่ภายใต้เงื่อนไขการทดสอบนี้ และไม่ได้บอกอะไรเกี่ยวกับแอปพลิเคชันอื่นบนอุปกรณ์ การจัดการของผู้ให้บริการ หรือสถานะของปลายทางเอง การเห็นข้อความธรรมดาภายในอุโมงค์ก็ไม่ได้หมายความว่าอุโมงค์เสีย แต่หมายความว่าคุณแคปเจอร์เหนือจุดเข้ารหัส ซึ่งเป็นที่ที่ชอบด้วยเหตุผลในการดู แคปเจอร์คือหลักฐานเกี่ยวกับสถานที่ ไม่ใช่คำตัดสินเกี่ยวกับระบบ และตั๋วควรบรรยายเช่นนั้น เก็บประโยคขอบเขตไว้ในรายงาน เพราะมันคือสิ่งที่กันไม่ให้ข้อสังเกตเพียงครั้งเดียวกลายเป็นข้อกล่าวอ้างจากการตรวจสอบ

ตั้งชื่อแต่ละไฟล์ด้วยอินเทอร์เฟซ ตัวกรอง และเวลา แล้วลบเมื่อการสอบสวนจบ คู่มือ tcpdump อธิบายอินเทอร์เฟซและแฟล็กตัวกรองที่ใช้ที่นี่ รวมถึงตัวที่ทำให้แคปเจอร์มีขนาดเล็ก

ถ้าจำเป็นต้องแชร์หลักฐาน ให้แชร์ขนาด เวลา และแฟล็ก แทนข้อมูล คำถามคือเรื่องขนาดแพ็กเก็ต และคำตอบไม่ค่อยต้องใช้ข้อมูลของใคร

บทความที่เกี่ยวข้อง