Come esportare il testo da stampare solo (o qualsiasi altra proprietà del pacchetto) in wireshark
-
14-10-2019 - |
Domanda
Per farla breve - sto cattura SQLs da strumento di fornitore per database Oracle utilizzando Wireshark. Ha già decoder per il protocollo TNS (che è grande) e posso accedere testo SQL da
Right Click->Copy->Bytes(Printable Text Only).
Il problema è che ci sono tonnellate di pacchetti e di fare clic destro su ciascuno di loro potrebbe richiedere molto tempo. Mi chiedevo se esiste un modo per esportare 'Testo stampabile Solo' giusta da Wireshark. Idealmente voglio avere un file di testo con le dichiarazioni.
Ogni aiuto sarà molto apprezzato.
Soluzione
Non so come farlo con TNS. ma si può fare qualcosa di simile utilizzando tshark, ad esempio, a guardare le richieste HTTP.
tshark -T fields -e http.request.uri
Quindi, se si può guardare le opzioni del decoder TNS, si dovrebbe essere in grado di afferrare quel campo e reindirizzare l'output in un file.
Altri suggerimenti
Finalmente ho trovato via per fare questo. In primo luogo, l'uso tshark cattura TNS pacchetti:
tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt
Quindi si potrebbe usare birra fatta in casa di Ruby seguente script per trasformare da byte da testo:
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?
}
Gli esempi sono:
encode.rb input.txt > output.txt
esporterà testo stampabile solo tra ingresso e uscita ??p>
encode.rb input.txt all > output.txt
esporterà tutto il testo tra ingresso e uscita ??p>
Un modo semplice di vedere loro tutto ciò che ha funzionato per me è solo Right Click -> Follow TCP Stream
.
Una nota: caratteri non stampabili vengono visualizzati come .
s. Se ci sono un sacco di questi intervallati tra tutto il testo che si desidera estrarre (come c'era per me), passare a ASCII
, salvarlo e aprirlo in un editor di testo (vim per me), quindi eseguire una ricerca e sostituire simile a /\.//g
.