【问题标题】:Reading tcpdump header length command读取 tcpdump 标头长度命令
【发布时间】:2013-09-13 03:09:19
【问题描述】:

这是我的第一篇文章,我绝对

所以,我有以下 TCPDump 命令,我想了解它在问什么(用简单的英语)。

tcpdump 'tcp[12] & 80 !=0'

它是否要求在字节偏移 12(TCP 标头长度和保留位)上抓取所有 TCP 数据包,其值至少为 80,这是真的吗?我相信我错了。

如果上述情况属实,有人可以为它写出可能的二进制文件吗?

80给出0101 0000。我的导师也写了:1111 0000和0111 0000。但我不知道为什么......

如果它至少是 80,那么它的二进制组合可能是无数的......

【问题讨论】:

    标签: tcp header binary tcpdump reserved


    【解决方案1】:

    它是否要求在字节偏移 12(TCP 标头长度和保留位)上抓取所有 TCP 数据包,其值至少为 80,这是真的

    没有。十进制的 80 就是十六进制的 50,所以相当于tcp[12] & 0x50 !=0,它测试 TCP 头的第 12 个字节中的 0100 0000 位或 0001 0000 位是否被设置。 0101 0000 是这样,1111 0000 和 0111 0000 也是如此,还有 0100 0000 和 0001 0000 和 0100 1111 和....

    如果您想测试该字节的最高位,您可以使用tcp[12] & 0x80 !=0。这,实际上,匹配所有值> = 0x80。

    【讨论】:

    • 谢谢您,先生!这证实了这一点!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2012-12-28
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多