W końcu udało się to zrobić. Najpierw użyj programu tshark przechwytującego pakiety tns:
tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt
Następnie możesz użyć poniższego skryptu domowego Ruby do przekształcenia z bajtów na tekst:
file = ARGV[0]
print_all = ARGV[1]
File.open(file, "r").each {|line|
line.gsub(",", ":").split(':').each {|byte|
chr = Integer('0x' + byte).chr
print chr if ((' '..'~').include?(chr) or chr == "\n") or (print_all.downcase == 'all' if print_all)
} if !line.chomp.empty?
}
Przykłady to:
encode.rb input.txt > output.txt
wyeksportuje tekst do druku tylko z wejścia na wyjście
encode.rb input.txt all > output.txt
wyeksportuje cały tekst z wejścia do wyjścia