如何检查IP-Header或TCP / UDP标头是否在连接中?

时间:2011-12-05 08:40:17

标签: tcp header udp ip

我有一个防火墙来检测所有连接。 当我从A到B的连接时,我们收到A和B之间的许多数据包发送。如果我们从B连接到A,我们也收到的结果是相同的A-> B.

我不知道如何检查每个数据包是否属于A创建的连接或B创建的连接。

我已经捕获了IP头,TCP / UDP头,但我不知道可以检查它的字段是什么。

1 个答案:

答案 0 :(得分:0)

序列号字段是您所需要的。

struct tcphdr {
    unsigned short  th_sport;   /* source port */
    unsigned short  th_dport;   /* destination port */
    tcp_seq th_seq;         /* sequence number */
    tcp_seq th_ack;         /* acknowledgement number */
...
};
    packet A -> B

    A [th_seq=1] -> B
    B [th_seq=2, th_ack=1] -> A
    A [th_seq=3, th_ack=2] -> B