Как экспортировать только печатный текст (или любое другое свойство пакета) в Wireshark

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

Вопрос

Короче говоря - я снимаю SQL от инструмента поставщика в базу данных Oracle, используя Wireshark. У него уже есть декодер для протокола TNS (что здорово), и я могу получить доступ к тексту SQL по

Right Click->Copy->Bytes(Printable Text Only). 

Проблема в том, что существует множество пакетов, и выполнение правой кнопкой мыши на каждом из них может занять много лет. Мне было интересно, есть ли какой -нибудь способ экспортировать «только для печати текста» прямо из Wireshark. В идеале я хочу иметь текстовый файл с операторами.

Любая помощь будет высоко оценена.

Это было полезно?

Решение

Я не знаю, как это сделать с TNS. Но вы можете сделать что -то подобное с помощью TSHARK, например, чтобы посмотреть на HTTP -запросы.

tshark -T fields -e http.request.uri

Поэтому, если вы можете посмотреть на параметры в декодере TNS, вы сможете захватить это поле и перенаправить вывод на файл.

Другие советы

Наконец -то нашел, чтобы сделать это. Во -первых, используйте пакеты TSHARK TNS:

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

Затем вы можете использовать сценарий домашнего пивоваренного рубина ниже, чтобы преобразовать из байтов в текст:

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

экспортировать весь текст с ввода на вывод

Легкий способ взглянуть на них все, что сработало для меня, это просто Right Click -> Follow TCP Stream.

Примечание: непрекращающиеся символы отображаются как .с Если есть множество этих перспективных между всем текстом, который вы хотите извлечь (как это было для меня), переключите его на ASCII, сохраните его и откройте в своем любимом текстовом редакторе (Vim для меня), затем запустите поиск и замените аналогичным /\.//g.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top