Назад | Перейти на главную страницу

tcpdump показывает вывод только после его остановки

Я пытаюсь проверить, получаю ли я пакеты ping через один интерфейс, но tcpdump ничего не показывает. Однако, как только я его останавливаю (Ctrl + C), появляются все пакеты, и сводка выглядит хорошо.

Например:

11:49:45.486887 IP 11.0.0.1 > 11.0.0.9: ICMP echo reply, id 13532, seq 1, length 64

А вот резюме:

10 packets captured
10 packets received by filter
0 packets dropped by kernel

Обычно я вижу трафик «вживую», но не понимаю, почему теперь он скрыт, пока я не остановлю tcpdump. Может ли кто-нибудь указать мне на то, что может происходить?

Вы, вероятно, хотите -l или -U вариант. См. Информацию на странице руководства ...

   -l     Make  stdout  line buffered.  Useful if you want to see the data
          while capturing it.
          ...
          -U is similar to -l in its behavior, but it will cause output to
          be  ``packet-buffered'', so that the output is written to stdout
          at the end of each packet rather than at the end of  each  line;