- 论坛徽章:
- 0
|
本帖最后由 lujian19861986 于 2012-08-08 12:36 编辑
回复 5# Godbach
问题1:- if( __ip_route_output_key(&rt, &fl) )
复制代码 请问具体作用是?查看路由表信息?
问题2:
new_tcph->check会在ip_finish_output重新校验,设置校验和?跑了ip_finish_output后new_tcph->check会重新被赋值- new_tcph->check = csum_tcpudp_magic(new_iph->saddr, new_iph->daddr, datalen, IPPROTO_TCP,csum_partial((char *)new_tcph,datalen,0));
复制代码- return NF_HOOK_COND(NFPROTO_IPV4, NF_INET_POST_ROUTING, skb, NULL, dev,
- ip_finish_output,
- !(IPCB(skb)->flags & IPSKB_REROUTED));
复制代码 ip_finish_output函数,hook在NF_INET_POST_ROUTING,所以包是要离开路由器,从eth0发出去,直接回给内网PC了。
对ip_finish_output(mc)具体作用是这样吧。不查看路由器表直接将mc发出去?mc这个申请空间应该是会释放吧? |
|