Я обрабатываю файл pcap размером 1 ГБ с помощью команды tcpreplay, чтобы проверить наличие вредоносного трафика или нет. Команда занимает более 5 часов, даже если в системе много ядер и оперативной памяти.
Системная RAM: 16G Ядра: 8
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1538 root 20 0 11980 2576 1848 R 100.0 0.0 340:14.65 tcpreplay
4235 root 20 0 41940 3844 3092 R 0.3 0.0 0:05.50 top
32459 root 20 0 0 0 0 I 0.3 0.0 0:00.69 kworker/6:1
root@test-vm:~# pidof tcpreplay |xargs -I{} ps -p {} -o etime,cmd
ELAPSED CMD
05:36:45 /usr/local/bin/tcpreplay -q -p 100 --cachefile=cachefile3 --intf1=ens225 --intf2=ens193 out3.pcap
Я могу довести pps до 1000. Повышение pps иногда не дает должного результата. Так что я предпочитаю придерживаться 100 пакетов в секунду.
Есть ли способ сократить время выполнения? Могу ли я заставить tcpreplay работать в многоядерном режиме?