сумма всех пакетов в файлах pcap

Я пытаюсь сделать простой скрипт bash для расчета пакетов, захваченных в файлах pcap, я использовал tcpdump для получения пакетов в каждом файле pcap и добавления их с помощью сценария bash, но он, похоже, не работает.

#!/bin/bash FILES=/share/capture/*.pcap sum =0 for f in $FILES do output=$(sudo tcpdump -r $f 2> /dev/null |wc -l) sum = $((output+ sum)) done echo $sum 

Не могли бы вы рассказать мне, что я делаю неправильно.

  • список папок и их содержимое
  • скрипт для регистрации всех статистических данных для определенного процесса
  • Хранение сценариев оболочки
  • Различные способы выполнения сценария оболочки
  • Как работает этот скрипт svn?
  • Если количество строк в строке csv больше, чем x, то удалите второй экземпляр
  • Команда одиночной строки для протоколирования IP-адресов
  • Можно ли использовать shebang для самого источника файла в текущей среде bash?
  • 2 Solutions collect form web for “сумма всех пакетов в файлах pcap”

     #!/bin/bash files=(/share/capture/*.pcap) #echo $files sum=0 for f in "${files[@]}" do output=`sudo tcpdump -r $f 2> /dev/null | wc -l` sum=$((output + sum)) done echo $sum 

    Просто запустите wc -l на выходе для всех файлов:

     #!/bin/bash - files=(/share/capture/*.pcap) for f in "${files[@]}"; do tcpdump -qr "$f" 2> /dev/null done | wc -l 

    Смотрите также:

     capinfos -rTc "${files[@]}" capinfos -rTc "${files[@]}" | cut -f2 | paste -sd + | bc 

    (предполагая, что имена файлов не содержат символов TAB или NL).

    Обратите внимание, что вы делаете:

     FILES=/share/capture/*.pcap 

    Вы назначаете строку /share/capture/*.pcap , а не список файлов в $FILES . Этот шаблон glob расширяется, когда $FILES ссылается на некорректные (оператор split + glob ). Позже вы также оставите $f неуказанным, поэтому снова вызовите оператор split + glob. Поэтому, если $f содержит пустые символы или другие дикие карты, он снова будет расширен для других файлов. Лучше всего использовать массив здесь и убедитесь, что вы указали все свои переменные.

    Interesting Posts

    Если мне нужно воссоздать ключи хоста SSH с помощью ssh-keygen, как я могу изменить выходной каталог? (-f переключатель, похоже, не работает)

    Как отключить автосогласование wifi на debian6.0

    Могу ли я подключать любые два процесса друг к другу?

    mutt SMTP TLS ошибка отправки почты

    Nginx говорит, что open () "/etc/nginx/conf.d/foo.conf" не удалось (13: Permission denied)

    Найти: кто пишет резервные копии

    поведение `ls` на ошибке EACCES для / root и / root / some-frbish

    Работа rm / ls с

    Сгенерировать код сборки архитектуры MIPS на машине X86

    как удалить oracle 11g xe из centos 7?

    Простейшая возможная защищенная песочница (необходимы ограниченные ресурсы)

    Как запустить сценарий оболочки в Unix по электронной почте с Exchange Server

    Я пытаюсь скопировать файлы с сервера в мой локальный каталог с помощью rsync.I не хочу копировать файлы, которые были скопированы ранее и удалены

    Почему Linux печатает много отладочных сообщений при загрузке / завершении работы?

    Административно распространять несколько правил для каждого получателя Thunderbird для некоторых пользователей?

    Linux и Unix - лучшая ОС в мире.