哪一位代表哪个 TCP 标志?

哪一位代表哪个 TCP 标志?

例如,我发现的 WireShark 捕获过滤器示例 -tcp[13] & 8 == 8代表带有 PSH 标志的数据包。

我如何計算8

根据维基百科图片, 在此处输入图片描述

PSH 位于 TCP 标志段的中间。从 NS 标志开始数 1,PSH 位表示应该是 6 ?

任何指导都值得感激。

答案1

你应该看看tcpdump 手册页,“捕获具有特定标志组合的 TCP 数据包”部分 - 这里有很多细节。

答案2

是时候了解二进制算法了!要从字节中获取最右边的第 N 位,您需要执行byte & (1 << N),因此最右边的位是byte & (n << 0),而右边的第 4 位是byte & (n << 3),这与 相同byte << 8

答案3

你也从错误的地方开始计数。NS 可能是第一个标志,但它也是字节 12 的结束位。字节 13(如tcp[13])从第四行(标记为“八位字节 12”)的第 8 位开始,一直到同一行的第 15 位。

相关内容