网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 电子通信 -> 探测远程主机操作系统指纹
自动化文档范文| 电子机电范文| 测控技术范文| 通信专业范文| 电气工程范文| 通信工程范文| 电子信息工程范文| 免费自动化范文| 免费电子范文| 免费电气范文| 通信范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

本专业推荐:带proteus仿真程序的文档设计范文  原创文档范文点击进入 → 自动化单片机相关的原创文档范文

探测远程主机操作系统指纹

本文ID:LW4005 ¥
操作系统探测技术主要有以下几种方式: 获取标识信息 在很多探测工具中都使用了此项技术来获得某些服务的标识信息。它往往是通过对二进制文件的收集和分析来实现的。 TCP分段(标准/非标准)响应分析 它是依靠不同操作系统对特定分段的不同反应来区分的。比较流行的工具有Savage的QueSO和Fyodor的NMAP,他们都使用了很多..
操作系统探测技术主要有以下几种方式:
获取标识信息  在很多探测工具中都使用了此项技术来获得某些服务的标识信息。它往往是通过对二进制文件的收集和分析来实现的。
TCP分段(标准/非标准)响应分析  它是依靠不同操作系统对特定分段的不同反应来区分的。比较流行的工具有Savage的QueSO和Fyodor的NMAP,他们都使用了很多来自于这种技术的变种。
ICMP响应分析  它是刚推出不久的一种技术。它通过发送UPD或ICMP的请求报文,然后分析各种ICMP应答。Ofir Arkin的X-Probe就是使用的这种技术,在通常情况下,X-Probe工作的比较好,但是在防火墙阻塞某些协议时,得到的结果就不那么尽如人意了。
初始化序列号(ISN)分析  在TCP栈中不同的exploits随机产生,通过鉴别足够的测试结果来确定远程主机的操作系统。
特殊的操作系统  拒绝服务同样可以用在操作系统指纹的探测上,而不仅仅是被黑客所使用。在一些非常特殊的情况下,拒绝服务能探测到准确的结果。
在本文中,着重以Nmap为例,介绍一下探测远程主机操作系统指纹的方法。
有许多技术可以用来定义网络栈指纹。基本上,你只要找出操作系统间的不同并写探测器查明它们。如果你合并足够这些,你可以非常细致的区分它们。下面介绍一些这种技术:
FIN 探测器 -- 这里我们送一个FIN包(或任何其他包不带ACK 或SYN标记)给一个打开的端口并等待回应。正确的RFC793行为是不响应,但许多有问题的实现例如 MS Windows, BSDI, CISCO, HP/UX,MVS,和IRIX 发回一个RESET。许多现有工具利用这个技术。
BOGUS 标记探测器 -- Queso 是一个用这种技术的扫描器。它是设置一个未定义的TCP "标记"(64或128)在SYN包的TCP头里。Linux机器到2.0.35之前在回应中保持这个标记。其他OS还没发现有这个错误。然而,一些操作系统象是复位连接当它们得到一个SYN+ BOGUS包的时候。这一行为对辨识它们有用。

TCP ISN 取样 -- 这个主意是找出当响应一个连接请求时由TCP 实现所选择的初始化序列数式样。这可分为许多组例如传统的64K(许多老UNIX机器),随机增量(新版本的Solaris, IRIX, FreeBSD,Digital UNIX, Cray, 和许多其他的),真“随机”(Linux 2.0.*,OpenVMS,新的AIX,等)。Windows 机器(和一些其他的)用一个“时间相关”模型,每过一段时间ISN 就被加上一个小的固定数。不用说,这几乎和老的64K 行为一样容易攻破。当然最让人喜欢的技术是"常数"。机器总是使用确切同样的ISN 。而3Com的集线器(用0x803)和Apple LaserWriter打印机(用0xC7001 )就是这样。你也可以通过例如计算其随机数的变化量,最大公约数,以及序列数的其他函数和数之间的差异再进一步分组。
不分段位 -- 许多操作系统开始在送出的一些包中设置IP的"Don't Fragment"位。这带来多种性能上的好处(尽管它也可能是讨厌的 -- 这就是nmap的分段扫描对Solaris机器无效的原因)。无论如何,不是所有的OS都这样做而且另一些做的场合不同,所以通过注意这个位我们甚至能收集目标OS的更多信息。
TCP 初始化窗口 -- 这只包括了检查返回包的窗口大小。较老的扫描器简单地用一个非零窗口在RST包中来表示“BSD 4.4 族”。新一些的如queso 和nmap则保持对窗口的精确跟踪因为它对于特定OS基本是常数。这个测试事实上给出许多信息,因为有些可以被唯一确定(例如,AIX 是所知唯一用0x3F25的)。在它们“完全重写”的NT5 TCP 栈中,Microsoft 用的是0x402E。有趣的是,这和OpenBSD 与FreeBSD 中所用的数字完全一样。
ACK 值 -- 不同实现中一些情况下ACK域的值是不同的。例如,如果你送了一个FIN|PSH|URG 到一个关闭的TCP 端口。大多数实现会设置ACK 为你的初始序列数,而Windows 和一些傻打印机会送给你序列数加1 。若你送一个SYN|FIN|URG|PSH 到一个打开的端口,Windows 会非常古怪。一些时候它送回序列号,但也有可能送回序列号加1, 甚至还可能送回一个随机数。
ICMP 错误信息终结 -- 一些操作系统跟从RFC 1812的建议限制各种错误信息的发送率。例如,Linux 内核(在net/ipv4/icmp.h)限制目的不可达消息的生成每4 秒钟80个,违反导致一个1/4 秒的处罚。测试的一种办法是发一串包到一些随机的高UDP 端口并计数收到的不可达消息。
ICMP 消息引用 -- RFC 规定ICMP错误消息可以引用一部分引起错误的源消息。对一个端口不可达消息,几乎所有实现只送回IP请求头外加8 字节。然而,Solaris 送回的稍多,而Linux 更多。这使得nmap甚至在没有对方没有监听端口的情况下认出Linux 和Solaris 主机。
ICMP 错误消息回应完整性 -- 机器会把原始消息的一部分和端口不可达错误一起送回。然而一些机器倾向于在初始化处理时用你的消息头作为“草稿纸”所以再得到时会有些许的改动。例如,AIX 和BSDI送回一个IP“全长”域在20字节处。一些 BSDI,FreeBSD,OpenBSD,ULTRIX,和VAXen 改变了你送的IP ID 。因为TTL 改变而改变了检查和,有些机器(AIX, FreeBSD, 等)送回错误的或0 检查和。总之,nmap作9 种测试在ICMP错误上以分辨出这类细微差别。
服务类型 -- 对于ICMP端口不可达消息可察看送回包的服务类型(TOS)值。几乎所有实现在这个ICMP错误里用0 除了Linux 用0xc0。这不是标准的TOS 值,而是一个未使用优先域(AFAIK) 的一部分。尽管不知道为什么如此,但如果他们改成0 我们还能够分辨旧系统_而且_还能分辨出旧系统和新系统。
TCP 选项 -- 这简直是泄漏信息的金矿。它的好处在于:
1) 这通常是可选的,所以并非所有实现都支持。
2) 若一个实现发出设置了选项的请求,目标通过设置它在回应中表示支持。
3) 可以在一个数据包中设置而一次测试所有选项。                       
Nmap发送这些选项的几乎所有可能的包:Window Scale=10; NOP; Max Segment Size = 265; Timestamp; End of Ops;当你得到回应,看看那个选项被送回也就是被支持。一些操作系统如最近的FreeBSD 机器支持上面所有的,而其他,如Linux 2.0.X支持的则很少。最近的Linux 2.1.x 内核支持上面所有的。另一方面,它们又有更易受攻击的TCP 序列生成方式。
即使几个操作系统支持同样的选项集,有时仍可以通过选项的值分辨出它们。例如,如果送一个小的MSS值给Linux机器,它会用那个MSS 生成一个回答给你。其他主机会给你不同的值。甚至即使你得到同样的支持选项集和同样得值,你仍可以通过选项提供的顺序和填充字进行辨识,例如Solaris返回'NNTNWME'表示;而Linux 2.2.122返回MENNTNW。同样的选项,同样的值,但不同顺序!
没见过其他OS检测工具利用TCP 选项,但它非常有用。
因同样原因有其他几个有用的选项我会探测,象那些支持T/TCP和选择性确认。

开发年代 -- 甚至使用上面所有测试,nmap仍不能从TCP 栈区分Win95,WinNT,或Win98。但你可以简单的进行早期的WindowsDOS 攻击(Ping of Death, Winnuke, 等)而比当时的如Teardrop和Land多做一些。就是在每个攻击之后,ping它们看是否垮掉了。等到你最后crash 掉它们,你就能缩小的某一服务包或补丁。
SYN洪水限度 -- 一些操作系统会停止新的连接尝试如果你送太多的伪造SYN 给它(伪造包避免你的内核复位连接)。许多操作系统只能处理8 个包。最近的Linux 内核(包括其他操作系统)允许不同的方式如SYN cookie来防止这成为严重问题。所以你可以试着从伪造地址发8 个包到目标打开的端口再尝试你还能否建立连接以发现一些信息。这没在nmap中实现因为有人不喜欢用SYN 洪水,甚至你解释这只是想知道它运行的操作系统也不能使他们平静。

探测远程主机操作系统指纹相关范文
上一篇:基于VB6.0的MSComm通信方法设计 下一篇:网络环境中的管辖权问题
点击查看关于 探测 远程 主机 操作系统 指纹 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有