Este é mais um trabalho para Perl ou Python, mas você pode fazê-lo com puro bash. Aviso: não testado.
ipv6_packet='6000 … 6364'
ipv6_packet=${ipv6_packet,,?} # normalize hexadecimal digits to lowercase, just in case
ipv6_packet=${ipv6_packet//[!0-9a-f]/} # remove whitespace and everything else that isn't a hex digit
tcp_packet=${ipv6_packet:80} # all but the first 40 bytes (IPv6 header)
((tcp_data_offset=0x${tcp_packet:24:1}*4)) # data offset (25th nybble), converted from words to bytes
tcp_header=${tcp_packet:0:$tcp_data_offset} # that's the TCP header (still in hexdump form)
Ou para breve:
ipv6_packet=${ipv6_packet,,?}; ipv6_packet=${ipv6_packet//[!0-9a-f]/}
tcp_header=${ipv6_packet:80:$((0x${ipv6_packet:104:1}*4))}