Cuối cùng đã tìm ra để làm điều này. Đầu tiên, hãy sử dụng tshark để thu thập các gói tns:
tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt
Sau đó, bạn có thể sử dụng tập lệnh Ruby home brew bên dưới để chuyển đổi từ byte thành văn bản:
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?
}
Ví dụ như:
encode.rb input.txt > output.txt
sẽ chỉ xuất văn bản có thể in từ đầu vào đến đầu ra
encode.rb input.txt all > output.txt
sẽ xuất tất cả văn bản từ đầu vào đến đầu ra