txt к pcap преобразованию файла с помощью sed и xxd

Я использовал эту команду для успешного преобразования .txt файла в .pcap файл. Однако они были всеми для .txt файлов, которые я получил из www, но когда я попытался использовать его для .txt файлов, я лично создал на другой программе, он действительно создавал filename.pcap, но это пусто.

У кого-либо есть лучшая альтернатива?

Также в так, как я ценю всю помощь здесь в коде, который достигает результата, если кто-либо может отослать меня к статьям Википедии относительно предмета, который релевантен относительно того, почему это происходит, это действительно собирается помочь мне контекстуально понять, как вещи работают, где так же просто код, столь полезный, как я чувствую как он, это, не оставит меня ни одним более мудрое до, как Linux работает. Таким образом, я уверен, что это будут считать дублирующимся вопросом, но я на самом деле действительно хотел бы понять конкретно этот сценарий, вместо того, чтобы быть отнесенным в другой способный пакет.

Большое спасибо

sed 's/^[0-9:]*//' filename.txt | sed 's/^  //g' | sed 's/    .*$//g' | xxd -r -p > filename.pcap

Обновленное редактирование:

Единственное последовательное различие между набором txt файлов, на которые вышеупомянутое работало, и те, которых я создал, было то, что мои исключительно состоят из чисел, один на строку, 10 цифр в длине, где, поскольку другие содержат все остальное на клавиатуре.

Не знайте, является ли это какой-либо справкой, и да также я смотрел на pcap файл в текстовом редакторе просто путем изменения, это - расширение txt, и кажется, что они шифруются с шифром, который использует намного больше символов вне того, что находится на стандартной клавиатуре, так... да это довольно стандартно, не уверено, что я ожидал там.

0
задан 14 February 2019 в 10:16

2 ответа

Вы упоминаете это

Единственное последовательное различие между набором txt файлов, на которые вышеупомянутое работало, и те, которых я создал, было то, что мои исключительно состоят из чисел, один на строку, 10 цифр в длине

При принятии "числами" Вы имеете в виду последовательности десятичных цифр, затем первое sed выражение

s/^[0-9:]*//

значение нуля соответствия или большего количества десятичных цифр или символов двоеточия, привязанных на запуске строки, и ничем заменяет их (который, по-видимому, предназначается для удаления байтового смещения по умолчанию от постоянного клиента xxd вывод), удалит все, оставляя только последовательность пустых строк.

1
ответ дан 26 October 2019 в 06:18

Я не знаю sed или xxd, но я попытался бы следовать за 4 командами индивидуально:

  1. sed 's/^[0-9:]*//' filename.txt > step1.txt
  2. sed 's/^ //g' step1.txt > step2.txt
  3. sed 's/ .*$//g' step2.txt > step3.txt
  4. xxd -r -p step3.txt > filename.pcap

Выполняя каждый шаг, я нашел бы удобное sed учебное руководство и проверка, чтобы видеть, соответствует ли вывод команды тому, что я думаю, что это должно быть, таким образом узнав немного о sed и xxd в процессе.

Вы, возможно, заметили, что я удалил "|" символ из командной строки, которую Вы первоначально использовали. "|" канал, указывая, что вывод от команды должен использоваться в качестве входа для следующей команды. Вместо того, чтобы передать данные по каналу о, выводы команды наполнены в промежуточные файлы, которые затем используются в качестве входа к следующей команде.

1
ответ дан 26 October 2019 в 06:18

Другие вопросы по тегам:

Похожие вопросы: