在有效 tcpdump 表达式的描述中,pcap-filter 手册页指出:
过滤表达式由一个或多个原语组成。原语通常由一个 ID(名称或数字)和一个或多个限定符组成。
反过来,这些限定符是type
、dir
和proto
。到目前为止一切顺利,但进一步我们发现这一点:
ip host host
which is equivalent to:
ether proto \ip and host host
在第一种情况下,ip
和host
分别是proto
和type
。这遵循什么模式ether proto \ip
?这不是一个proto
限定词吗?如果是这样,为什么(正确转义的)' ether proto \ip host host
' 不合法(不合法and
)?
答案1
“\ip”中的ether proto \ip
是 ID。这ether proto \ip
意味着内容层面上的相同ip
并不意味着两者在语法上必须等同。