でアプリケーションを作成しますnetfilter hooks
。
関数が正しく計算されないようですskb_transport_header
(常にではありませんが):
struct tcphdr* tcp_header = NULL;
tcp_header = (struct tcphdr*)skb_transport_header(skb); // somtimes incorrect address.
tcp_header = (struct tcphdr*)((char*)ip_header + (ip_header->ihl * 4));// always correct address.
私の間違いはどこですか?