当前位置: 技术问答>linux和unix
在网络上,如何才能知道对方所用的是什么操作系统?
来源: 互联网 发布时间:2015-01-18
本文导语: 如题! | 用这个 http://www.cnhonker.net/Down/show.php?id=25 | TTL是由发送主机设置的,是IP数据报的生存时间。当路由器转发 IP 数据包时,要求至少将TTL减小1,当TTL减为0时,将数据...
如题!
|
用这个
http://www.cnhonker.net/Down/show.php?id=25
http://www.cnhonker.net/Down/show.php?id=25
|
TTL是由发送主机设置的,是IP数据报的生存时间。当路由器转发 IP 数据包时,要求至少将TTL减小1,当TTL减为0时,将数据报丢弃,以防止数据包不断在IP 互联网络上永不终止地循环。
当我们PING某台主机时,实际上是发送一个ICMP请求(ICMP Echo Request)
而目标主机收到请求时,回送一个ICMP应答,并按照默认值设定一个TTL值。这样,我们就可以根据TTL值大致估计它的操作系统类型,但这是很不精确的。
常见的集中操作系统默认TTL植如下:
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的,但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别
操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
不过,这种办法很容易被欺骗,比如,在WINDOWS系统中,对注册表的修改:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
Key: DefaultTTL
通过对DefaultTTL的修改,比如:修改成为255,伪装成为一台UNIX主机,就能够造成探测者的错误判断
当我们PING某台主机时,实际上是发送一个ICMP请求(ICMP Echo Request)
而目标主机收到请求时,回送一个ICMP应答,并按照默认值设定一个TTL值。这样,我们就可以根据TTL值大致估计它的操作系统类型,但这是很不精确的。
常见的集中操作系统默认TTL植如下:
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的,但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别
操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
不过,这种办法很容易被欺骗,比如,在WINDOWS系统中,对注册表的修改:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
Key: DefaultTTL
通过对DefaultTTL的修改,比如:修改成为255,伪装成为一台UNIX主机,就能够造成探测者的错误判断
|
首先要知道对方的IP
然后用一些工具就可以查出来
前提是对方不是在代理后面
然后用一些工具就可以查出来
前提是对方不是在代理后面
|
ping一下对方根据返回的数据就可以知道了。
|
PING 命令就可以知道,通过返回的TTL数据就可以知道!
|
ping得到的是各种操作系统默认的ttl值,这种方式很不精确,而且对于windows的那几个版本根本区别不了
|
关于探测目标主机操作系统更详细的信息看这里
http://www.20cn.net/ns/cn/jc/data/20020818034948.htm
http://www.20cn.net/ns/cn/jc/data/20020818034948.htm
|
呵呵!如果单纯的想用系统的一些命令就知道对方的系统,那简直就是妄想我们所说的用ping是在实验室的条件下,但是internet那么复杂是不可能办到的,只有借助软件了