Cómo exportar sólo texto imprimible (o cualquier otra propiedad de paquetes) en Wireshark
-
14-10-2019 - |
Pregunta
Long corto - soy la captura de LSQ herramienta de proveedor de base de datos Oracle mediante el uso de Wireshark. Ya cuenta con decodificador para el protocolo TNS (que es grande) y puede tener acceso a texto de SQL
Right Click->Copy->Bytes(Printable Text Only).
El problema es que hay un montón de paquetes y haciendo clic con el botón derecho sobre cada uno de ellos podría llevar años. Me preguntaba si hay alguna manera de 'texto para imprimir solamente' el derecho de exportación de Wireshark. Lo ideal es que quiero tener un archivo de texto con las declaraciones.
Cualquier ayuda será muy apreciada.
Solución
No sé cómo hacerlo con TNS. pero se puede hacer algo como esto utilizando tshark, por ejemplo, para ver las peticiones HTTP.
tshark -T fields -e http.request.uri
Así que si se puede ver en las opciones del decodificador TNS, que debe ser capaz de agarrar ese campo y redirigir la salida a un archivo.
Otros consejos
Finalmente encontró lejos de hacer esto. En primer lugar, el uso tshark la captura de paquetes TNS:
tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt
A continuación, se puede utilizar en casa cerveza rubí script de abajo para transformar de bytes de texto:
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?
}
Ejemplos son:
encode.rb input.txt > output.txt
exportará el texto se pueda imprimir desde la entrada hasta la salida
encode.rb input.txt all > output.txt
exportará todo el texto de entrada a salida
Una manera fácil de mirar a todos ellos que ha trabajado para mí es sólo Right Click -> Follow TCP Stream
.
Una nota: caracteres no imprimibles se muestran como .
s. Si hay un montón de ellos intercalados entre todo el texto que desea extraer (ya que no era para mí), cambiar a ASCII
, guardarlo y abrirlo en el editor de textos (vim para mí), a continuación, ejecutar una búsqueda y reemplazar similar a /\.//g
.