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

การดักจับอยู่ตรงไหนเมื่อเทียบกับอะแดปเตอร์

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

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

การ offload ตอนส่งมีผลอย่างไรต่อเส้นทาง

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

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

การห่อหุ้มเพิ่มวัตถุที่สอง

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

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

พิสูจน์ความสมบูรณ์ของไฟล์ด้วยแฮช

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

sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head

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

ระบุเส้นทางของอะแดปเตอร์โดยไม่ทำให้เป็นถาวร

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

การปิด offload ทั้งระบบเป็นการทดสอบที่ชวนใจและเป็นค่าเริ่มต้นที่ไม่ดี การตั้งค่าทั้งโฮสต์ส่งผลต่อทราฟฟิกไกลเกินกว่าการทดลองและอาจมีต้นทุนประสิทธิภาพจริง จึงควรถือว่าการเปลี่ยนแปลงใด ๆ เช่นนั้นเป็นเรื่องชั่วคราว บันทึกไว้ และย้อนกลับ ใช้การวินิจฉัยที่ผู้ผลิตสนับสนุนก่อนจะคงวิธีเลี่ยงที่ยืมมาจากเครื่องอื่น

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

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