сумма всех пакетов в файлах 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 

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

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 содержит пустые символы или другие дикие карты, он снова будет расширен для других файлов. Лучше всего использовать массив здесь и убедитесь, что вы указали все свои переменные.

  • Сравните два файла больше, чем значение
  • Создать файл с определенным форматированием из содержимого каталога
  • скрипт bash - программа супервизора
  • Запустить скрипт при загрузке?
  • Как использовать переменную для строки кода скрипта?
  • Проверка вывода для конкретных расширений в выражении if
  • Игнорировать специальные символы в сравнении с сценарием оболочки
  • Определите максимальную длину столбца для каждого столбца в упрощенном csv-файле (по одной строке в строке)
  • Больше сценариев оболочки, чем один в одном текстовом файле?
  • Удалите все jpg в папке, которая меньше определенной ширины / высоты
  • Получение истинного абсолютного пути сценария в / bin / sh
  • Текстовый интерфейс пользователя
  • Interesting Posts

    Как остановить проверку файловой системы (fsck) при загрузке?

    SHIBBOLETH SP – обработчик Shibboleth, вызванный в неустановленном месте – Shibboleth.sso / Session /

    Нужна помощь в интерпретации журналов auditd part1

    Модуль ядра VMware: совместимая версия gcc не найдена

    Замените точки с запятой запятыми между котировками только

    Как узнать, было ли скомпилировано текущее ядро ​​с включенной опцией?

    wget не может быть убит с помощью 'kill -9'

    Как я могу интерпретировать код «управляющего терминала» вывода ps?

    Как получить тройную загрузку Linux Mint 17 Cinnamon / Ubuntu 14.04 / Windows 8?

    Полностью резервная установка Linux

    Как решить, что mv перемещается в каталог, а не заменяет каталог?

    sfdisk не удается записать раздел на диск

    Использование find -exec и проблемы с перенаправлением стандартной ошибки

    Что делает переменная среды рабочего стола Enlightenment (E17) «PANTS = ON»?

    Как обнаружить сбой сетевого соединения?

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