软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>操作系统>>正文
操作系统探测
文章出处:insecure 作者:不详 发布时间:2006-02-16

  Nmap最著名的功能之一是用TCP/IP协议栈fingerprinting进行远程操作系统探测。 Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。 在进行一打测试如TCP ISN采样,TCP选项支持和排序,IPID采样,和初始窗口大小检查之后, Nmap把结果和数据库 nmap-os-fingerprints 中超过 1500个已知的操作系统的fingerprints进行比较,如果有匹配,就打印出操作系统的详细信息。 每个fingerprint包括一个自由格式的关于OS的描述文本, 和一个分类信息,它提供供应商名称(如Sun),下面的操作系统(如Solaris),OS版本(如10), 和设备类型(通用设备,路由器,switch,游戏控制台, 等)。

  如果Nmap不能猜出操作系统,并且有些好的已知条件(如 至少发现了一个开放端口和一个关闭端口),Nmap会提供一个 URL,如果您确知运行的操作系统,您可以把fingerprint提交到那个URL。 这样您就扩大了Nmap的操作系统知识库,从而让每个Nmap用户都受益。

  操作系统检测可以进行其它一些测试,这些测试可以利用处理 过程中收集到的信息。例如运行时间检测,使用TCP时间戳选项(RFC 1323) 来估计主机上次重启的时间,这仅适用于提供这类信息的主机。另一种 是TCP序列号预测分类,用于测试针对远程主机建立一个伪造的TCP连接 的可能难度。这对于利用基于源IP地址的可信关系(rlogin,防火墙过滤等) 或者隐含源地址的攻击非常重要。这一类哄骗攻击现在很少见,但一些 主机仍然存在这方面的漏洞。实际的难度值基于统计采样,因此可能会有 一些波动。通常采用英国的分类较好,如“ worthy challenge ”或者 “ trivial joke ”。在详细模式( -v )下只以 普通的方式输出,如果同时使用 -O ,还报告IPID序列产生号。 很多主机的序列号是“ 增加 ”类别,即在每个发送包的IP头中 增加ID域值, 这对一些先进的信息收集和哄骗攻击来说是个漏洞。

  http://www.insecure.org/nmap/nmap-fingerprinting-article.html 文档使用多种语言描述了版本检测的方式、使用和定制。

  采用下列选项启用和控制操作系统检测:

  -O (启用操作系统检测)

  也可以使用 -A 来同时启用操作系统检测和版本检测。

  --osscan_limit (针对指定的目标进行操作系统检测)

  如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 采用这个选项,Nmap只对满足这个条件的主机进行操作系统检测,这样可以 节约时间,特别在使用 -P0 扫描多个主机时。这个选项仅在使用 -O 或 -A 进行操作系统检测时起作用。

  --osscan_guess ; --fuzzy (推测操作系统检测结果)

  当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认 进行这种匹配,使用上述任一个选项使得Nmap的推测更加有效。


站内搜索
相关文章
◎实时操作系统VxWorks在跟踪雷达系统中的应用
◎Linux嵌入式系统开发平台选型探讨
◎uCOS和uClinux的比较
◎XP自带网络诊断程序解决网络故障
◎完全掌握Windows系统还原12招
◎Linux 下 C++程序的异常处理技巧
◎巧用DLL文件来隐藏你的资料
◎使用 Bash shell 脚本进行功能测试
◎学会使用Linux性能分析工具
◎Qmail安装及设定
◎Microsoft 群集服务 (MSCS) 简介
◎Linux初学之学习方向和方法浅谈
◎Linux常见紧急情况处理方法
◎Linux操作系统中的7件武器详解
◎Windows XP鲜为人知的N招
◎嵌入式系统Boot Loader 技术内幕(4)
◎嵌入式系统Boot Loader技术内幕(3)
◎嵌入式系统Boot Loader技术内幕(2)
◎嵌入式系统Boot Loader 技术内幕(1)
◎Unix发展趋势:向开放架构迈进
◎Linux下硬盘分区详解
◎安全高效 方便简洁—《Sun Solaris 10》测试手记
◎linux使用大全(9)
◎linux使用大全(8)
◎linux使用大全(7)
◎linux使用大全(6)
◎linux使用大全(5)
◎linux指令大全(4)
◎linux指令大全(3)
◎linux指令大全(2)
◎Linux指令大全(1)
◎Sun Solaris指令大全
◎vi使用手册
热门文章
◎Sun Solaris指令大全
◎vi使用手册
◎linux shell 脚本入门
◎学会使用Linux性能分析工具
◎Linux指令大全(1)
◎嵌入式系统Boot Loader技术内幕(2)
◎Linux操作系统12则经典应用技巧
◎Linux的常用网络命令
◎Linux上的C/C++编译器gcc/egcs详解
◎Windows XP鲜为人知的N招
◎Linux下硬盘分区详解
◎嵌入式系统Boot Loader 技术内幕(1)
◎Qmail安装及设定
◎linux指令大全(2)
◎uCOS和uClinux的比较
◎Linux嵌入式系统开发平台选型探讨
◎嵌入式系统Boot Loader技术内幕(3)
◎GCC 命令行详解
◎linux指令大全(3)
◎Linux内核模块和驱动的编写
◎linux指令大全(4)
◎使用 Bash shell 脚本进行功能测试
◎linux下网络经典问题指南篇
◎linux使用大全(5)
◎Linux初学之学习方向和方法浅谈
◎嵌入式系统Boot Loader 技术内幕(4)
◎linux使用大全(9)
◎linux命令全记录
◎linux使用大全(6)
◎linux使用大全(7)
◎巧用DLL文件来隐藏你的资料
◎安全高效 方便简洁—《Sun Solaris 10》测试手记
◎linux使用大全(8)
◎Linux解释器原理
◎Linux操作系统中的7件武器详解
◎Linux无线网络技术概述:WLAN
◎如何在Linux下搭建Web应用环境
◎XP自带网络诊断程序解决网络故障
◎完全掌握Windows系统还原12招
◎实时操作系统VxWorks在跟踪雷达系统中的应用
◎自动安装Windows
◎Linux常见紧急情况处理方法
◎资深Linux程序员的开发经验谈
◎如何在Linux环境模拟DOS命令
◎Unix系统安全必读
◎Unix系统安全必读(1)
◎Linux 下 C++程序的异常处理技巧
◎linux下的网络分析Tcpdump命令的使用
◎linux资源管理(1)
◎Linux 下 C++程序的异常处理技巧

Google提供的广告