liudun1996
驱动牛犊
驱动牛犊
  • 注册日期2011-07-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1691回复:3

如何过滤ack包?

楼主#
更多 发布于:2011-07-07 16:34
当connect()时,可以用Passthru的过滤设置过滤掉syn=1,ack=0的包,可是,如果我先不过滤,只是在connect()后,收到对方的syn=1,ack=1的包,然后过滤掉自己外出的ack=1的包,passthru无法做到,好像通过libnet构建发送的包,passthru也无法过滤,也就是说passthru无法过滤有tcp/ip.sys直接回应的包,请问,如果需要过滤掉tcp/ip.sys直接回应的包,如何处理?
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2011-07-07 17:21
记录下端口和建立、断开连接的信息。然后通过判断只有ack 判断 ? 是否妥当
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
liudun1996
驱动牛犊
驱动牛犊
  • 注册日期2011-07-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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的包,不让发出,但是不知如何控制操作系统自动回应的这个包
chsllm
驱动牛犊
驱动牛犊
  • 注册日期2010-10-09
  • 最后登录2012-03-25
  • 粉丝2
  • 关注6
  • 积分62分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2011-07-13 09:02
Passthru可以过滤接收和发送的包,寒江独钓的例子里面写的很清楚啊,楼主判断一下是不是发送的动作和syn、ack的值是否为你要的值,看这个方法可不可以。
游客

返回顶部