信息收集之 操作系统识别

编程知识 更新时间:2023-04-25 11:45:47

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《网络安全快速入门》

为什么要识别操作系统?
不同的操作系统,同一种操作系统的不同版本,默认开放的服务以及公开的漏洞都是不一样的。

操作系统识别

  • 一、手动识别
    • 1. 改变大小写
    • 2. TTL
  • 二、工具识别
    • 1. Nmap
    • 2. p0f

一、手动识别

通过改变路径大小写和Ping命令,可以粗略的区分操作系统。

1. 改变大小写

Windows系统不区分大小写,Linux系统区分大小写。

根据这个特点,在地址栏中改变路径的大小写,如果页面不受影响,就是Windows系统;如果页面变成找不到,就是Linux系统。

1)比如这个网站:


将地址栏中的路径由小写改为大写,页面不受影响,说明网站不区分大小写,是Windows系统。

2)再看下面这个网站:

将地址栏中的路径由大写改为小写,页面变成了404,说明网站区分大小写,是Linux系统。

2. TTL

TTL(Time To Live)是IPv4请求包的一个字段,用来表示IP数据包在网络中可以转发的最大跳数(最大255)。
其中Windows系统的默认TTL是128,Linux系统的默认TTL是64,我们可以通过TTL来判断目标的操作系统。

1)直接ping目标网站,如果TTL在65~128之间,说明是Windows系统.
下面是我ping的本网段的Windows系统,由于没有出网络,ttl没有减少,是128。


2)如果TTL在1~64之间,说明是Linux系统。
下面是我ping的本网段的Linux系统,由于没有出网络,ttl没有减少,是64。


TTL只能粗略的判断操作系统,但不能判断出操作系统的版本。
由于TTL的默认值可以被修改,所以根据TTL值判断的操作系统类型只能作为一个参考。

二、工具识别

1. Nmap

Nmap(Network Mapper)是一个网路探测和嗅探工具,根据特征行为指纹匹配特征库,来判断操作系统及版本;
-O参数可以扫描目标网站的操作系统。

语法:nmap -O IP

1)我们去网上找个网站测试一下,从下图中的扫描结果中可以发现,目标网站是Linux系统,版本大概是2.4或者2.6之间。


值得一提的是,我们用 ping 命令再来测试这个网站的操作系统,根据TTL(128)判断是Windows系统,如下图:


很明显,目标主机修改了TTL的默认值,这也说明,根据TTL判断操作系统很容易被欺骗。

2)我们再拿自己的虚拟机来测试一下,从下图中可以发现,nmap扫描的结果是win XP、win 7 或 win2012:


实际上我的虚拟机是 win 10:


由此可见,Nmap的扫描结果并不是100%正确,但参考性相对来说高一些。

2. p0f

p0f是一款被动指纹识别工具,抓取经过的流量,根据数据包判断操作系统。

在命令行输入 p0f 后回车,进入被动检测状态,然后使用浏览器访问目标网站。

如下图所示,os 这一栏展示 p0f 识别出的操作系统。


p0f 工具也不能保证100%的准确率,大部分识别工具的结果,都只能提供一定的参考价值。

更多推荐

信息收集之 操作系统识别

本文发布于:2023-04-19 07:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/c8d447d0d26e5570f294cdd9d13de6d5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作系统   信息

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 87377文章数
  • 19634阅读数
  • 0评论数