Come esportare il testo da stampare solo (o qualsiasi altra proprietà del pacchetto) in wireshark

StackOverflow https://stackoverflow.com/questions/4568126

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.

È stato utile?

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

encode.rb input.txt  all > output.txt

esporterà tutto il testo tra ingresso e uscita

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top