我有一个防火墙来检测所有连接。 当我从A到B的连接时,我们收到A和B之间的许多数据包发送。如果我们从B连接到A,我们也收到的结果是相同的A-> B.
我不知道如何检查每个数据包是否属于A创建的连接或B创建的连接。
我已经捕获了IP头,TCP / UDP头,但我不知道可以检查它的字段是什么。
答案 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