0

运行 linux ubuntu。

本质上,为什么这个命令是一个语法错误:-

tcpdump -i eth0 -n udp -X -v -s 1514 'tcp[40:4] = 0x31323334'

这应该在第 40 个字节显示带有“1234”的 udp 数据包。

我的意思是,我知道 udp 不是 tcp 数据包,但逻辑应该仍然有效。鉴于它没有我怎么能写这个?

4

2 回答 2

2

尝试以下操作:

tcpdump -i eth0 -X -v -s 1514 'udp[40:4] = 0x31323334'

Afaik,proto relop 过滤器应该只匹配您指定的协议,不需要 -n udp。

于 2013-08-13T15:00:07.943 回答
1

tcpdump 对将什么作为过滤参数感到困惑。当您明确使用 udp 时,它会捕获所有 udp 数据包,或者如果您想要特定的 udp 数据包,则可以指定偏移量。因此,根据您的需要,指定带有偏移量的 udp,或者如果您想捕获所有 udp 数据包,则只需 udp。像下面这样的东西应该满足您的要求:

        tcpdump -i eth0 -n -X -v -s 1514 'udp[40:4] = 0x31323334'
于 2013-08-13T17:34:07.140 回答