这是我的第一篇文章,我绝对< 3这个网站!这么棒的内容!
所以,我有以下TCPDump命令我想了解它的要求(用简单的英语)。
tcpdump'tcp [12]& 80!= 0'
它是否要求获取字节偏移量12(TCP标头长度和保留位)上的所有TCP数据包,其值至少为80,这是真的吗?我相信我错了。
如果以上情况属实,有人可以为它写出可能的二进制文件吗?
80给0101 0000.我的导师也记下了:1111 0000和0111 0000.但我不知道为什么......
如果它至少为80,那么二进制组合可能是无数......
答案 0 :(得分: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。