ttl值是什么意思(ttl值判断操作系统)

ttl值是什么意思(ttl值判断操作系统)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

现在操作系统识别的方案很多,这里就介绍几种我接触过的,如果有什么好的技术,也请分享给我,互相学习一下。实际工作中一般也都是多种方案结合使用,以便增加结论的可靠性。

通常情况下,我们会通过TTL起始值来判断目标机器的操作系统:

windows:128(65-128)

Linux/Unix:64(1-64)

某些Unix:255

但是也不能排除有些安全人员就是故意修改了TTL值,故意误导攻击者,所以做安全测试要一直保持一颗怀疑的心。

通过TTL判断系统:scapy

还是使用scapy模块写一个简单的python脚本:

#!/usr/bin/python3

from scapy.all import *
import logging
logging.getLogger('scapy.runtime').setLevel(logging.ERROR)
import sys

if len(sys.argv) != 2:
print('Usage ./ttl_os.py [IP Address]')
print('Example ./ttl_os.py 172.18.14.1')
print('Example will perform 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')

执行前还是赋权限,执行结果可能是这样的:

ttl值是什么意思(ttl值判断操作系统)

执行结果

操作系统识别:nmap

通过ttl判断可靠性还是不强,这里再介绍使用nmap来做系统识别,使用的参数是-O:

ttl值是什么意思(ttl值判断操作系统)

nmap是通过了很多特征比对后给出的猜测,相对前面使用ttl初始值判断,稍微靠谱一些。

操作系统识别:xprobe2

xprobe2也可以用来识别操作系统,这个工具是用来专门识别操作系统的,但是实际使用效果不是很精确。

使用方式很简单:

xprobe2 目标ip地址

了解一下有这个工具就行,现在应该没多少人用xprobe2了。

操作系统识别:p0f

前面介绍的工具都是基于主动扫描方式实现的,现在我们来介绍一种被动扫描的工具。这种工具不主动向目标主机发送数据包,是基于网络监听原理的。

p0f的使用也比较简单,直接输入p0f,然后按回车就行,这时候只要有数据交互,就会有交互记录出现:

ttl值是什么意思(ttl值判断操作系统)

分享到 :
相关推荐

租用美国主机建站有什么好处(租用美国主机建站有什么好处吗)

租用美国主机建站的好处有:1。美国主机的带宽资源十分充裕。不存在受网络服务商的速度限...

WooCommerce购物按钮下方添加一个按钮教程

之前小编有为大家介绍过《WooCommerce修改购物车按钮文字教程》。但是有些小伙...

广东服务器带宽独享和共享不同之处在哪里(广东服务器带宽独享和共享不同之处在哪里)

广东服务器带宽独享和共享不同之处在哪里?针对租赁过网络服务器的或是掌握过网络服务器的...

武汉服务器重启的利弊有哪些(服务器重启的好处)

武汉服务器重启的利弊有:1。正常进行服务器重启有利于释放服务器内存。缓解CPU压力。...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注