关于NF_DROP的疑问
各位大牛,最近在做关于netfilter hook数据包,然后解析处理的一个项目,写了一个socket的模拟发送接受数据包的程序做模拟,然后在接收端(centos 6.5)上捕获数据包并解析,满足一定条件的需要丢弃,但是丢弃(返回NF_DROP)之后,出现来一个tcp重传的问题,大概重传数据包4-5次之后,模拟socket程序的接收端就断开连接了(socket程序是java的),想咨询大家这个该怎么解决呢。 丢包后,构造一个断开tcp的包发回去。 回复 2# adidiaos丶丶这样的话,我的通信过程不就直接断掉来?我想的是构造一个本次要DROP的数据包的伪装ACK应答数据包,假装告诉对方本次的数据包已经收到了? 那你在DROP后构造一个你想要的包发回去。回复 3# 星星灯
回复 4# adidiaos丶丶
好的,我先试试吧。不知道能不能弄通。多谢帮助。 回复 5# 星星灯
那就直接拿着收到的 skb 改造成 ACK 发回去,然后告诉Netfilter NF_STOLEN 就行了。
本版精华帖有构造报文的相关操作,你可以参考一下。
回复 6# Godbach
恩。好的。多谢。
页:
[1]