FH_Overlap - Fragment packets with Overlap data
Host and Router
FH_Overlap.seq [-tooloption ...] -pkt FH_Overlap.def -tooloption: v6eval tool option
1. Check Link0 Link Local address Reachability 2. Check support of Fragment Header
1. Send broken 1st fragment packet 2. Send 2nd fragment packet 2. Wait 5 sec. 3. Send Echo Request 4. If NS received then send NA, and wait Echo Reply again 5. Receive Echo Reply
+----------------+ | IPv6 | | Header | +----------------+ +----------------+ | ICMPv6 | | header with | | Echo | | 768 byte | | Request | | payload | | | | | | | | | ....|................|....|................|....+----------------+.... | | | | | | | header with | | | | 512 byte of | | 1024 byte | +----------------+ | payload | | payload | | | | | | | +----------------+ +----------------+
[Original packet] [1st frag. data] [2nd frag. data]
1st fragment packet is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 784 NextHeader = 44 (Fragment Header) HopLimit = 64 SourceAddress = Tester Link Local Address DestinationAddress = Target Link Local Address
Fragment Header NextHeader = 58 (ICMPv6) Reserved1 = 0 FragmentOffset = 0 Reserved2 = 0 MFlag = 1 Identification = (generated by current system time)
Payload data = substr(_PACKET_IPV6_NAME(echo_request), 40, 776)
2nd fragment packet is:
IPv6 Header Version = 6 Traffic Class = 0 FlowLabel = 0 PayloadLength = 520 NextHeader = 44 (Fragment Header) HopLimit = 64 SourceAddress = Tester Link Local Address DestinationAddress = Target Link Local Address
Fragment Header NextHeader = 58 (ICMPv6) Reserved1 = 0 FragmentOffset = 65 Reserved2 = 0 MFlag = 0 Identification = (same as 1st fragment packet)
Payload data = substr(_PACKET_IPV6_NAME(echo_request), 560, 512)
PASS : echo reply packet received. FAIL : don't received echo reply packet.
perldoc V6evalTool