论文格式
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 轻化工程 德语论文 工程管理 文化产业管理 信息计算科学 电气自动化 历史论文
机械设计 电子通信 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 电视制片管理 材料科学工程 汉语言文学 免费获取
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 应用物理 电子信息工程 服装设计工程 教育技术学 论文降重
通信工程 电子机电 印刷工程 土木工程 交通工程 食品科学 艺术设计 新闻专业 信息管理 给水排水工程 化学工程工艺 推广赚积分 付款方式
  • 首页 |
  • 毕业论文 |
  • 论文格式 |
  • 个人简历 |
  • 工作总结 |
  • 入党申请书 |
  • 求职信 |
  • 入团申请书 |
  • 工作计划 |
  • 免费论文 |
  • 现成论文 |
  • 论文同学网 |
搜索 高级搜索

当前位置:论文格式网 -> 免费论文 -> 其他论文

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

本论文在其他论文栏目,由论文格式网整理,转载请注明来源www.lwgsw.com,更多论文,请点论文格式范文查看

探测远程主机操作系统指纹
通信网络综合技术研究所06级3班    崔丹桐   学号:066802
操作系统探测技术主要有以下几种方式:
 获取标识信息  在很多探测工具中都使用了此项技术来获得某些服务的标识信息。它往往是通过对二进制文件的收集和分析来实现的。
 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 洪水,甚至你解释这只是想知道它运行的操作系统也不能使他们平静。

 


相关论文
上一篇:对本校大学生上网情况调查报告 下一篇:浅谈如何开展招商引资工作
Tags:探测 远程 主机 操作系统 指纹 【收藏】 【返回顶部】
人力资源论文
金融论文
会计论文
财务论文
法律论文
物流论文
工商管理论文
其他论文
保险学免费论文
财政学免费论文
工程管理免费论文
经济学免费论文
市场营销免费论文
投资学免费论文
信息管理免费论文
行政管理免费论文
财务会计论文格式
数学教育论文格式
数学与应用数学论文
物流论文格式范文
财务管理论文格式
营销论文格式范文
人力资源论文格式
电子商务毕业论文
法律专业毕业论文
工商管理毕业论文
汉语言文学论文
计算机毕业论文
教育管理毕业论文
现代教育技术论文
小学教育毕业论文
心理学毕业论文
学前教育毕业论文
中文系文学论文
最新文章
热门文章
计算机论文
推荐文章

本站部分文章来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:349991040@qq.com

论文格式网(www.lwgsw.com--论文格式网拼音首字母组合)提供其他论文毕业论文格式,论文格式范文,毕业论文范文

Copyright@ 2010-2018 LWGSW.com 论文格式网 版权所有