为什么我的这个netfilter的钩子函数抓不到端口号? unsigned int hook_func(void *priv, struct sk_buff *skb, const struct nf_hook_state *state) //这个函数是钩子函数. //抓到包时会执行该函数. //sk_buff是抓到的数据包. //接受了3个参数,只有中间那个用到了. { struct iphdr*p=ip_hdr(skb); if(p->protocol==6) { printk(KERN_INFO"TCP packet!"); printk(KERN_INFO"---len=%d",skb->len); struct tcphdr*t=(struct tcphdr*)(skb->data+p->ihl*4); u16 srcport=t->source,dstport=t->dest; printk(KERN_INFO"---srcport=%hu,dstport=%hu",srcport,dstport); } return NF_ACCEPT; // accept the packet //这里,钩子函数判定,接受该包. } 钩子函数是这个,然后我用insmod把它加入内核,但端口号显示的并不是正确的.我开了几个网页,但它并没有出现类似80,443的端口号.我又开了2个终端,用netcat在本地的12345端口进行了几次通信,它还是没有显示12345?