2017-02-05 3 views
0

Я ищу решение для захвата сетевого трафика под Windows без хранения блока данных пакетов.Долгосрочный пакетный захват

Это будет частью сценария устранения неполадок сети, который должен контролировать производительность в течение 48 часов.

Я использовал, чтобы сделать подобный сценарий в Баше, который построен на ТСРйитр:

tcpdump --no-promiscuous-mode -i $netif -w $dumpdir/$stamp2.ping.pcap 

К сожалению, драйвера интерфейс Wi-Fi не были достаточно надежны, и я потратил много времени и усилий, чтобы TS Linux ошибки, а не сетевые ошибки , Поэтому я решил это сделать.

Новая версия, основанная на dumpcap под ОС Windows (PS):

.\dumpcap.exe -i $AdapterName -w "$outputPath.$timeStamp.pcap" -p -a duration:3600 

Кроме того, в обоих случаях Iperf использовался для генерации медленного постоянного трафика. Поскольку трафик 2 Мбит/с потребляет много дискового пространства, захват был перезапущен после того, как 1 час и старый файл pcap сжат в архив.

Эта часть скрипта работала очень мягко под Linux, сжатые файлы pcap были только фракцией исходного размера.

Я заметил значительное отличие между tcpdump и dumpcap. Tcpdump не хранит блок данных пакетов. См. Фотографии.

tcpdump - package capture example

dumpcap - package capture example

Как вы можете видеть TCPDUMP хранит только нули, а не данные.

Я ищу что-то похожее решение с dumpcap, или если это невозможно, чем с помощью другого инструмента. Только критерии: он должен быть доступен в Windows и в свободном/открытом исходном коде.

ответ

0

Как вы можете видеть, tcpdump хранит только нули вместо данных.

Насколько я знаю, tcpcump не записывает нули вместо передаваемых данных. Если вы видите нули, то передаются нули.

Если вам не нужны или хотите полезную нагрузку, то вы могли бы использовать snaplen либо tcpdump или dumpcap, чтобы ограничить число байтов, захваченных. Снаплин задается с использованием опции -s <snaplen>, где snaplen - это количество байтов в сохраненном пакете. Оба инструмента используют тот же параметр для этой функции. Если бы вы ограничили количество захваченных байтов, результирующие файлы захвата, очевидно, были бы намного меньше, и вам, возможно, не придется их сжимать.

Как и в сторону, это мне кажется странным, что вы будете использовать dumpcap's"-a duration:3600" возможность остановить захват через час только для того, чтобы вручную перезапустить его, вместо того, чтобы использовать опцию "-b duration:3600", которая будет автоматически прекратите запись в файл и начните запись в следующий файл после каждого часа.Существуют и другие опции -b, которые вы могли бы использовать в сочетании с опцией "-b duration:3600", что позволит вам ограничить общее количество сохраненных файлов или максимальный размер каждого файла. Обратитесь к dumpcap man page за дополнительной информацией об этих параметрах.

Смежные вопросы