如何检查TCP结构中的标志是否已设置?

时间:2016-02-14 04:03:45

标签: c networking tcp libpcap packet-capture

我使用pcap C库来读取数据包。目前,我使用以下内容检查并查看struct tcphdr中的标志(此结构是否在netinet/tcp.h库中定义)是否已设置:

struct tcphdr *tcp = ....

if(tcp->th_flags & TH_SYN) {
        //SYN FLAG IS SET?
    }

这总是用于检查结构中是否设置了特定标志?或者,还有更好的方法?非常感谢任何建议/提示:)

1 个答案:

答案 0 :(得分:2)

这对我来说很好看。 TH_SYN是一位,因此如果在th_flags中设置该位,则表达式将为真(非零)。