Синтаксическая ошибка выражения tcpdump в `ip proto tcp`

Я внимательно изучил справочные страницы tcpdump и pcap-filter (который определяет грамматику выражения tcpdump), но не смог найти, почему мое выражение является ошибкой:

$ sudo tcpdump -i lo 'ip proto tcp'
tcpdump: syntax error

Страница man четко изложена ip proto protocol действительная грамматика: https://www.tcpdump.org/manpages/pcap-filter.7.html

Может ли проблема быть несовпадением версий?

1 ответ

Похоже, tcpdump не понимает tcp псевдоним в этом контексте. Вам нужно будет использовать фактический номер протокола IP:

sudo tcpdump -i lo ip proto 0x6

Если вы хотите IPv6, а то, что tcpdump -i lo tcp переводится как):

sudo tcpdump -i lo ip proto 0x6 or ip6 proto 0x6
Другие вопросы по тегам