python扫描器甄别操作系统类型_Kali学习笔记13:操作系统识别

本文介绍了如何使用Python的Scapy库通过TTL值识别操作系统类型,以帮助发现系统漏洞。简单的方法是根据不同操作系统的默认TTL值进行区分,如Windows的TTL通常为128,而Linux/Unix为64。还提到了Nmap和xprobe2等工具,其中Nmap可以提供更详细的操作系统版本信息,而p0f则是被动识别操作系统的工具,通过监听网络流量来分析。
摘要由CSDN通过智能技术生成

为什么要扫描操作系统呢?

其实和上一篇博客:《服务扫描》类似,都是为了能够发现漏洞

发现什么漏洞?

不同的操作系统、相同操作系统不同版本,都存在着一些可以利用的漏洞

而且,不同的系统会默认开放不同的一些端口和服务

如果能够知道操作系统和版本号,那么就可以利用这些默认选项做一些“事情”

OS的识别技术多种多样,有简单的也有复杂的,最简单的就是用TTL值去识别。

不同类型的OS默认的起始TTL值是不同的。

比如,windows的默认是128,然后每经过一个路由,TTL值减一。

Linux/Unix的值是64,但有些特殊的Unix会是255。

1.利用Python来识别:

#!/usr/bin/python

from scapy.all import *

importlogging

logging.getLogger("scapy.runtime").setLevel(logging.ERROR)importsysif len(sys.argv) != 2:print("Usage --/ttl_os.py [IP Address]")print("Example --/ttl_os.py 192.168.0.1")print("Example will preform ttl analysis to attempt to determine whether the system is windows or linux/unix")

sys.exit()

ip= sys.argv[1]

ans= sr1(IP(dst=str(ip)) / ICMP(), timeout=1, verbose=0)if ans ==None:print("NO response was returned")elif int(ans[IP].ttl) <= 64:print("Host is Linux/Unix")else:print("Host is Windows")

使用场景:

我主机IP:10.14.4.252

Kali机器:192.168.22.130

Metasploitable机器:192.168.22.129

使用脚本:

如果脚本是从windows移过来的:

vi xxx.py

:set fileformat=unix

:wq

chmod u+x xxx.py

./xxx.py

57a99f5d7c2526dc41eacec847f206b2.png

我还多扫描了一个本地的机器,得到的结果都很准确

不过呢,这只是利用TTL简单判断出操作系统

利用Nmap,不仅可以实现这里的功能,甚至还可以得到版本:

-O:参数,识别操作系统

05e30cb61a9b9f7f4ace76ba2100d810.png

92a0baa758f4f0e900b6d12b42d6fefe.png

除了强大的工具,还有一些其他的:

xprobe2:直接输入IP地址即可

6fee23717ccc41ee0a6d0fdd423876c4.png

这个扫描工具相对于Nmap,差距很大,结果不精确

上边的工具都是主动识别操作系统的:主动向目标发送数据包,分析回包

而下边这个工具是被动识别的:

基于网络监听的工作原理:Windows和Linux发送出来的包是有很大区别的。

被动式的扫描可以部署在网络进出口的地方,目的是让所经过的流量通过我的流量分析器。

同样在Kali中也存在这般的工具p0f,他会监听凡是通过本地网卡的流量。

开启:p0f

2a1c041a18f87359b3cd516d42abacbb.png

这里是开启了监听,如果什么都不做,他也没有反应

接下来我访问某网站,看看变化:

随意挑出一条信息来看看:

8218b5b89b15662c691c476d023ee80a.png

我49024端口向某IP发送了SYN包,这里就得到了我Kali机的版本:3.11或者更高

总之,我推荐Nmap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值