IP ID idle 扫描

2023-05-16

IP ID idle 扫描简单介绍

在1998年的时候,一个名叫 Antirez 的工程师,发现了这种扫描技术,攻击者可以通过不直接向目标主机发送报文的形式,进行端口扫描,而是通过一台僵尸主机对目标主机进行端口扫描。

Idle 扫描是一种相对比较复杂的扫描技术,下面对扫描技术简单进行讲解

  • 检查 TCP 端口是否开启的一种方式是通过向目标主机发送 SYN 请求,如果目标主机上被扫描的端口是开放的,那么主机将对请求报文应答 ACK 报文。
  • 如果目标主机上端口是关闭的,那么目标主机将向攻击者应答 RST 报文。
  • 大多数计算机会对每一个发送的报文进行简单的编号,一般是升序编号,通过探测报文的编号可以知道目标主机从上一次探测到最新的探测发送了多少报文。

报文序列号空闲扫描技术

IP ID idle 扫描主要通过以下三步完成

  • 探测一个僵尸主机的 IP ID 并记录此 ID 号。
  • 伪装一个僵尸主机的 IP 报文想目标主机发起 SYN 探测。
  • 再次对僵尸主机的 IP ID 进行探测,并与第一次探测到的僵尸主机 IP ID 进行比对。

Idle 扫描一个开放的端口

  • 攻击者对僵尸主机发起一个 SYN/ACK 扫描,僵尸主机向攻击应答一个报文,攻击者记录到僵尸主机应答的报文序列号是 31337 。
  • 攻击者伪装一个僵尸主机的报文,向目标主机发起一个 SYN/ACK 扫描,因为目标主机上这个端口是开放的,所以目标主机向僵尸主机返回一个报文 SYN/ACK 报文, 由于僵尸主机并没有主动向目标主机发起连接请求,所以目标主机发来的确认连接将会被僵尸主机发送一个 RST 报文进行重置,这个时候僵尸主机的报文 ID 就多了一条,变成31338。
  • 攻击者再对僵尸主机发起一个 SYN/ACK 扫描,这个时候僵尸主机继续对攻击者应答一个报文,报文 ID 继续加1,这个时候为30339,这个时候攻击者就可以发现目标主机上被扫描的端口是开放的。

Idle 扫描一个关闭的端口

  • 攻击者对僵尸主机发起一个 SYN/ACK 扫描,僵尸主机向攻击应答一个报文,攻击者记录到僵尸主机应答的报文序列号是 31337 。
  • 攻击者伪装一个僵尸主机的报文,向目标主机发起一个 SYN/ACK 扫描,因为目标主机上这个端口关闭的,所以目标主机并不会同意连接的建立,向僵尸主机返回一个报文 RST 报文, 僵尸主机收到目标主机的 RST 报文,主机收到 RST 报文会丢弃,这个时候僵尸主机没有产生新的报文,报文 ID 不变。
  • 攻击者对目标僵尸主机再次进行 SYN/ACK 扫描或者 ACK 扫描,僵尸主机进行应答,应答报文可以是 SYN/ACK 也可以是 RST,这都无所谓,但是应答的报文 ID 会加1,变成31338,这个时候就能发现目标主机上扫描的端口是关闭的。

Idle 扫描一个过滤的端口

  • 攻击者对僵尸主机发起一个 SYN/ACK 扫描,僵尸主机向攻击应答一个报文,攻击者记录到僵尸主机应答的报文序列号是 31337 。
  • 攻击者伪装一个僵尸主机的报文,对目标主机发起 SYN/ACK 扫描,因为目标主机对端口进行了过滤,会直接丢弃收到的报文,所以僵尸主机并不会收到应答报文,自然僵尸主机的报文 ID 也不会变。
  • 攻击者再次对僵尸主机发起扫描,僵尸主机会继续应答,并且报文 ID 加1 ,可以发现这种情况下和端口关闭探测到的报文 ID 值都是一样的,所以通过这种方式扫描,不能区分端口是关闭还是过滤,所以 nmap 的扫描中会出现 closed|filtered 这种状态

总结

由于这种扫描需要寻找一台合适的主机当做僵尸主机,经过本人测试,现在绝大多数系统并不会简单的对 IP 报文的 ID 进行简单的增序处理,所以这个技术的实用度并不是很高,关于 nmap 如何伪装僵尸主机的报文进行探测,以及如何寻找一台合适的僵尸主机,可以参考以下连接。

参考

https://nmap.org/book/idlescan.html#:~:text=The%20first%20step%20in%20executing%20an%20IP%20ID,its%20IP%20ID%20sequence%2C%20confusing%20the%20scan%20logic.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IP ID idle 扫描 的相关文章

随机推荐

  • MyBatis Generator配置文件--指定生成实体类的属性名

    table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名作为实体类的属性名 xff0c 取值true或false true xff1a MyBatis Generator会使用数据库中实际的字
  • MySQL 判断某个值是纯数字(正则判断)

    判断某个值是纯数字 这个sql 判断在字符串只有1个非数字的情况 判断不出来 span class token keyword select span span class token operator span span class to
  • mysql 取反操作

    span class token keyword update span span class token keyword table span span class token keyword set span filed span cl
  • error RC1015: cannot open include file ‘afxres.h‘. 的解决办法

    转载 参考 引用请注明出处 文章地址 xff1a https blog csdn net duiwangxiaomi article details 88822702 spm 61 1001 2014 3001 5501 编译工程时出现如下
  • 程序包com.sun.xml.internal.bind.v2不存在解决

    程序包com sun xml internal bind v2不存在 导入com sun xml internal 下的包并且没使用时打包也会报这个错误 全局搜索 com sun xml internal bind v2 删除掉import
  • fastjson byte[]转json字符串

    直接JSON toJSONString 会转为 base64字符串 可以使用JSON toJSON param toString 进行转换
  • SVN文件夹红色感叹号

    SVN文件夹红色感叹号 文件夹更新无最新文件 也没提交 解决方案 1右键 svn清理 2 提交 原因 有可能是svn上面有你之前提交的文件 而在你的本地目录里面删除了
  • jetson nano ubuntu 备份系统至u盘/移动硬盘

    jetson nano ubuntu备份系统至u盘 移动硬盘 1 df h 查看 信息2 挂载u盘2 1 fat322 2 ntfs2 3 挂载被占用 3 刷系统4 解除挂载 1 df h 查看 信息 一般都是 dev sda dev sd
  • 安装 cuda 从装系统开始

    勾选这个选项后就可以跳过安装驱动的环节了 设置root密码 sudo passwd root 安装openssh server 开xshell sudo apt get update sudo apt get install openssh
  • mac用完移动硬盘后 windows识别不出 解决方案

    cmd 运行 chkdsk F f
  • Cannot find reference ‘imread‘ in ‘__init__.py‘

    Cannot find reference imread in init py 前言 本人java开发 只是用python解决部分问题 可能解决方案不专业或者有问题 请自己判断 毕竟我只是简单处理下图片 解决方案 方案一 pip insta
  • RobotMaster资料汇总

    1 软件 xff1a 软件可以去网上下载 xff0c 或者去淘宝购买 xff0c 还包安装 不过基本上都是在虚拟机上操作 xff0c 只有在XP系统下可以直接安装 若是正版软件 xff0c 则会包含正确的安装教程 其中包括 xff1a MA
  • 代码改变生活-使用You-Get下载bilibili的视频【三】

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 112167893 我自己都想不到 xff0c 这个分享做到了第三篇 xff0c
  • Python脚本之ZIP文件压缩、解压

    本文为博主原创 xff0c 未经许可严禁转载 本文链接 xff1a https blog csdn net zyooooxie article details 114632112 最近在翻看Python的官方文档 xff0c https d
  • 对文本和数据进行处理之awk编程

    转载地址 xff1a 点击打开链接 awk 是一种编程语言 xff0c 用于在Linux unix下对文本和数据进行处理 数据可以来自标准输入 stdin 一个或多个文件 xff0c 或其它命令的输出 它支持用户自定义函数和动态正则表达式等
  • Ubuntu20.04在vsCode配置opencv

    一 下载opencv xff1a https opencv org releases 我下载的为opencv4 5 4版本 xff0c 可以直接下载 zip文件 xff0c 可以选择其他版本 Sources版本即为 zip版本 xff1a
  • UISearchController使用中的几个坑和一个知识点

    坑1 点击搜索框后 xff0c 搜索框上移到屏幕之外了 不多说了 xff0c 都是坑 因为我之前设置了 UINavigationBar appearance 61 false 把这个去掉好了 坑2 搜索时搜索框和UITableview中间有
  • 深度学习环境搭建(四)之 CUDNN安装

    安装完CUDA Driver和CUDA后 xff0c 还需要安装CUDNN xff0c NVIDIA用于深度学习GPU加速的库 1 下载CUDNN 访问官网链接 xff0c 根据CUDA版本和Ubuntu版本选择CUDNN的版本 前面使用的
  • NMAP 六种端口状态解读

    NMAP 简介 nmap 是一款功能非常强大的扫描工具 xff0c 不仅能对端口扫描 xff0c 还可以在扫描中指定自定义的标志位 xff0c 对自己的 IP 地址进行隐藏伪装为别的 IP 地址 xff0c 还可以根据 nmap 数据库 x
  • IP ID idle 扫描

    IP ID idle 扫描简单介绍 在1998年的时候 xff0c 一个名叫 Antirez 的工程师 xff0c 发现了这种扫描技术 xff0c 攻击者可以通过不直接向目标主机发送报文的形式 xff0c 进行端口扫描 xff0c 而是通过