Сообщить о прогрессе tcpdump?

330
Roger Lipscombe

Я запускаю tcpdump следующим образом:

$ sudo tcpdump -i eth0 -w dump.pcap host 1.2.3.4 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 

Есть ли способ узнать, сколько пакетов он уже захватил? Судя по всему, BSD допускает сигнал состояния, но я нахожусь на Linux.

0

2 ответа на вопрос

1
Gohu

Вы, вероятно, ищете -vвариант tcpdump. От человека tcpdump :

 -v ... When writing to a file with the -w option, report,  every 10 seconds, the number of packets captured. 

Образец вывода:

$ tcpdump -v -i eth0 -w dump.pcap tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes Got 227 

Обратите внимание, что вопреки тому, что написано на странице руководства, «Got X» обновляется каждую секунду на машинах, которые я мог протестировать (используя tcpdump 4.9.2).

0
styrofoam fly

Вы можете tcpdumpраспечатать вывод на стандартный вывод и направить его к tee. Таким образом, вы можете сохранить вывод в файл и распечатать его stdout. Если у вас есть это, вы можете использовать pv/ grep/ tailили что-нибудь подобное для отслеживания прогресса