dumpcap, сохранить в текстовый файл и разделить строки - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь создать решение, в котором dumpcap сохраняет в текстовый файл в формате:

timestamp_as_detailed_as_possible, HEX-raw-packet

Моя цель - обеспечить непрерывную потоковую передачу каждого отдельного пакета данных в файл, разделяя его newline.

2 вопроса?:

  • Возможно ли для dumpcap заботиться о фрагментированных пакетах, поэтому я гарантирую, что каждая строка содержит 1 единственный полный пакет ?

  • Можно ли после этого запускать другой поток и читать строки из того же файла, что-то делать с данными и затем удалять строку при обработке - без вмешательства dumpcap ?

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Можно ли после этого запускать другой поток и читать строки из того же файла, что-то делать с данными, а затем удалять строку при обработке - без вмешательства в dumpcap?

Нет. Но это неправильный подход. Канал - это то, что вы должны использовать здесь, т.е. запись в dumpcap в канал и чтение процесса анализа из него, т.е. Я гарантирую, что каждая строка содержит 1 единственный полный пакет?

Нет, и здесь также неясно, что именно вы ожидаете. Обычно на уровне IP не выполняется фрагментация, и все, так как TCP пытается настроить размер пакета так, чтобы он не превышал MTU. И TCP следует рассматривать только как поток байтов, то есть не ожидайте, что все, что вы send окажетесь в одном пакете, или что несколько send фактически приведут к множеству пакетов.

0 голосов
/ 22 марта 2020

Я пытаюсь создать решение, в котором dumpcap сохраняет в текстовый файл

Dumpcap не сохраняет в текстовые файлы, он сохраняет в двоичные файлы pcap или pcapng.

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

...