gpt4 book ai didi

sql - 如何在wireshark中仅导出可打印文本(或任何其他数据包属性)

转载 作者:行者123 更新时间:2023-12-04 18:36:13 24 4
gpt4 key购买 nike

长话短说 - 我正在使用 Wireshark 将 SQL 从供应商工具捕获到 Oracle 数据库。它已经有 TNS 协议(protocol)的解码器(很棒),我可以通过

访问 SQL 文本
Right Click->Copy->Bytes(Printable Text Only). 

问题是有大量的数据包,并且右键单击每个数据包可能需要很长时间。我想知道是否有任何方法可以直接从 Wireshark 导出“仅可打印文本”。理想情况下,我想要一个带有语句的文本文件。

我们将不胜感激。

最佳答案

终于找到了去做这件事。首先,使用 tshark 捕获 tns 数据包:

tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt

然后您可以使用下面的自制 Ruby 脚本将字节转换为文本:

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?
}

例如:

encode.rb input.txt > output.txt

仅将可打印文本从输入导出到输出

encode.rb input.txt  all > output.txt

将所有文本从输入导出到输出

关于sql - 如何在wireshark中仅导出可打印文本(或任何其他数据包属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com