ESP ถอดรหัสได้เรียบร้อยแต่แพ็กเก็ตภายในก็ยังไปไม่ถึงไหน
ตัวนับ ESP เพิ่มขึ้นขณะที่แอปไม่เห็นอะไรเลย ส่วนหัวถัดไปใน trailer ต้องตรงกับแพ็กเก็ตภายใน ซึ่งเป็นความผิดพลาดคนละแบบกับการพลาดตัวเลือก
ตัวนับการรับ ESP เพิ่มขึ้น อุโมงค์ยังคงอยู่ แต่แอปพลิเคชันไม่เคยเห็นแพ็กเก็ตเลย การถอดรหัสทำงาน การตรวจสอบความสมบูรณ์ผ่าน แล้วผู้รับต้องตัดสินใจว่าสิ่งที่ถูกป้องกันอยู่นั้นแท้จริงคืออะไร ความไม่ตรงกันของรูปแบบจะปรากฏขึ้นที่ขั้นตอนสุดท้ายนั้นเอง และเมื่อมองจากภายนอกก็ไม่ได้ดูเหมือนปัญหาไฟร์วอลล์เลย
สิ่งที่คุณเห็นเมื่อป้ายบอกความเท็จ
ไม่มีอะไรในบันทึกของไคลเอนต์ที่แยกเรื่องนี้ออกจากหลุมดำของการกำหนดเส้นทาง ทั้งสองอย่างทำให้แอปพลิเคชันหมดเวลาควบคู่กับอุโมงค์ที่ปกติ ซึ่งเป็นเหตุให้ตัวนับถูกตำหนิก่อน
ตัวนับการรับที่เพิ่มขึ้นเป็นข่าวดีจริง ๆ แพ็กเก็ตมาถึงและผ่านการพิสูจน์ตัวตน แต่มันไม่ใช่หลักฐานว่าแพ็กเก็ตภายในมีความหมายต่อสิ่งใดที่อยู่เหนือชั้นการเข้ารหัส
ชนิดข้อมูลอาศัยอยู่ใน trailer
ในโหมดอุโมงค์ IPsec ปกติ ข้อมูลที่ ESP ป้องกันไว้จะบรรจุแพ็กเก็ต IP ภายในที่สมบูรณ์หนึ่งแพ็กเก็ต ฟิลด์ส่วนหัวถัดไปใน trailer ระบุว่าข้อมูลนั้นคืออะไร และมันไม่ใช่พอร์ต TCP ไม่ใช่หมายเลขโปรโตคอลในส่วนหัวชั้นนอก และไม่ใช่ส่วนหนึ่งของฟิลด์ SPI กับหมายเลขลำดับเริ่มต้น RFC 4303 หัวข้อ 2.6 กำหนดให้มันเป็นฟิลด์ชนิดข้อมูล ซึ่งเป็นชื่อที่แม่นยำสำหรับงานที่แม่นยำ
ค่าที่คุณจะพบนั้นเล็กและควรจดจำไว้: IPv4 คือ 4 (0x04) และ IPv6 คือ 41 (0x29)
ตัวเลขเหล่านั้นมาจากการจัดสรรหมายเลขโปรโตคอลของ IANA ไม่ใช่ธรรมเนียมท้องถิ่น ผู้ส่งที่ประกาศ IPv4 แต่ห่อแพ็กเก็ต IPv6 ได้สร้างความไม่สอดคล้องของรูปแบบ และไม่มีกฎไฟร์วอลล์ใดซ่อมไบต์ที่ขัดกับป้ายของตัวเองได้
วิธีแยกเรื่องนี้ออกจากผู้ต้องสงสัยปกติ
แพ็กเก็ตที่หายไปส่วนใหญ่ไม่ใช่ข้อบกพร่องในการเข้ารหัส ตรวจสอบตัวเลือกก่อน เพราะตัวเลือกทราฟฟิกที่ตัด prefix IPv6 ออกจะทิ้งทราฟฟิกก่อนที่อะไรจะถูกห่อหุ้ม จากนั้นตรวจสอบการกำหนดเส้นทาง แล้วจึงตรวจสอบการกรองภายในบนโฮสต์ผู้รับ เมื่อตัดสิ่งเหล่านี้ออกแล้วเท่านั้น ความไม่ตรงกันของรูปแบบข้อมูลจึงกลายเป็นคำอธิบายที่เป็นไปได้
การดักจับที่เข้ารหัสไว้จะไม่ช่วยตัดสิน เพราะส่วนหัวถัดไปที่ถูกป้องกันอยู่ภายในข้อมูลที่เข้ารหัส คุณต้องมีการวินิจฉัยการใช้งานหรือจุดสังเกตที่ถอดรหัสแล้วซึ่งได้รับการสนับสนุน และทั้งสองอย่างต้องได้รับอนุญาตก่อนใช้
ถ้าไม่มีใครแสดงหลักฐานนั้นได้ คุณไม่ได้มีบั๊กรูปแบบ คุณมีทฤษฎี และตัวเลือกยังคงเป็นเดิมพันที่ดีกว่า
สิ่งที่การซ่อมไม่ใช่
อย่าปิดการตรวจสอบความสมบูรณ์เพื่อให้ทราฟฟิกผ่าน อย่าเขียนแพ็กเก็ตที่เข้ารหัสใหม่บนเราเตอร์ตัวกลาง เพราะมันทำงานไม่ได้และจะทำให้โฟลว์เสียหายทั้งที่ดูเหมือนช่วยได้ในการดักจับ อย่าเปิดกฎไฟร์วอลล์ของแอปให้กว้างขึ้นด้วยทฤษฎีว่าพอร์ตถูกบล็อก ไม่มีข้อใดในนั้นแตะต้องความไม่ตรงกันของป้าย
ถ้าความไม่ตรงกันที่ยืนยันได้มาจากการใช้งานของคู่ค้า ให้เก็บการจำลองที่ทำให้สะอาดแล้วน้อยที่สุดและนำไปยังช่องทางที่ได้รับการสนับสนุนของการใช้งานนั้น
ตรวจสอบโฟลว์ ไม่ใช่ตัวนับ
หลังการแก้ไข ให้ทดสอบโฟลว์ IPv6 จริงตั้งแต่ต้นจนจบ: คำขอของแอปพลิเคชันผ่านอุโมงค์ คำตอบของมัน และคู่ที่อยู่ที่แต่ละฝั่งสังเกตเห็น ตัวนับ ESP ที่เพิ่มขึ้นพิสูจน์เพียงว่าแพ็กเก็ตถูกรับและผ่านการพิสูจน์ตัวตนเท่านั้น มันไม่ได้บอกอะไรเลยว่าแพ็กเก็ตภายในใช้งานได้หรือไม่
บันทึกผลทั้งสองลงในตั๋ว การขยับของตัวนับพร้อมโฟลว์ที่ทำงานได้คือการซ่อม ส่วนการขยับของตัวนับเพียงอย่างเดียวก็คือสิ่งที่คุณมีก่อนเริ่มต้นนั่นเอง