星星灯 发表于 2015-11-13 21:14

关于NF_DROP的疑问

各位大牛,最近在做关于netfilter hook数据包,然后解析处理的一个项目,写了一个socket的模拟发送接受数据包的程序做模拟,然后在接收端(centos 6.5)上捕获数据包并解析,满足一定条件的需要丢弃,但是丢弃(返回NF_DROP)之后,出现来一个tcp重传的问题,大概重传数据包4-5次之后,模拟socket程序的接收端就断开连接了(socket程序是java的),想咨询大家这个该怎么解决呢。

adidiaos丶丶 发表于 2015-11-14 11:48

丢包后,构造一个断开tcp的包发回去。

星星灯 发表于 2015-11-14 12:28

回复 2# adidiaos丶丶


    这样的话,我的通信过程不就直接断掉来?我想的是构造一个本次要DROP的数据包的伪装ACK应答数据包,假装告诉对方本次的数据包已经收到了?

adidiaos丶丶 发表于 2015-11-14 12:56

那你在DROP后构造一个你想要的包发回去。回复 3# 星星灯


   

星星灯 发表于 2015-11-14 13:05

回复 4# adidiaos丶丶


    好的,我先试试吧。不知道能不能弄通。多谢帮助。

Godbach 发表于 2015-11-19 19:12

回复 5# 星星灯


那就直接拿着收到的 skb 改造成 ACK 发回去,然后告诉Netfilter NF_STOLEN 就行了。

本版精华帖有构造报文的相关操作,你可以参考一下。

   

星星灯 发表于 2015-11-23 11:02

回复 6# Godbach


    恩。好的。多谢。
页: [1]
查看完整版本: 关于NF_DROP的疑问