阅读:1691回复:3
如何过滤ack包?
当connect()时,可以用Passthru的过滤设置过滤掉syn=1,ack=0的包,可是,如果我先不过滤,只是在connect()后,收到对方的syn=1,ack=1的包,然后过滤掉自己外出的ack=1的包,passthru无法做到,好像通过libnet构建发送的包,passthru也无法过滤,也就是说passthru无法过滤有tcp/ip.sys直接回应的包,请问,如果需要过滤掉tcp/ip.sys直接回应的包,如何处理?
|
|
沙发#
发布于:2011-07-07 17:21
记录下端口和建立、断开连接的信息。然后通过判断只有ack 判断 ? 是否妥当
|
|
|
板凳#
发布于:2011-07-08 08:58
回 1楼(iihacker) 的帖子
好像passthru过滤的只是应用程序向下传递的数据包,而由操作系统直接回应的包,passthru没法过滤,比如应用程序调用connect后,操作系统会产生一个syn=1,ack=0的外出包,对方回应一个syn=1,ack=1的包,按照三次握手协议,发起者会回应一个ack=1,syn=0的包,现在我想过滤掉最后一个ack=1,syn=0的包,不让发出,但是不知如何控制操作系统自动回应的这个包 |
|
地板#
发布于:2011-07-13 09:02
Passthru可以过滤接收和发送的包,寒江独钓的例子里面写的很清楚啊,楼主判断一下是不是发送的动作和syn、ack的值是否为你要的值,看这个方法可不可以。
|
|