(1)一、TTL是什么

TTL(Time To Live,生存时间)是IP协议包中的一个值,当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有的数据包会因为一些特殊的原因不能正常传送到目的主机,如果没有设置TTL值的话,数据包会一直在网络上面传送,浪费网络资源。数据包在传送的时候至少会经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到0了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由器会发送一个ICMP报文给最初的发送者。

例如:如果一个主机的TTL是64,那么当它经过64个路由器后还没有将数据包发送到目的主机的话,那么这个数据包就会自动丢弃
二、如何通过TTL来判断目的主机的操作系统类型
不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:
1、WINDOWS NT/2000   TTL:128
2、WINDOWS 95/98     TTL:32
3、UNIX              TTL:255
4、LINUX             TTL:64
5、WIN7          TTL:64
————————————————
例如:

ping www.baidu.com
PING www.a.shifen.com (110.242.68.3): 56 data bytes
64 bytes from 110.242.68.3: icmp_seq=0 ttl=53 time=11.686 ms
64 bytes from 110.242.68.3: icmp_seq=1 ttl=53 time=13.580 ms
64 bytes from 110.242.68.3: icmp_seq=2 ttl=53 time=13.579 ms
64 bytes from 110.242.68.3: icmp_seq=3 ttl=53 time=12.287 ms
c64 bytes from 110.242.68.3: icmp_seq=4 ttl=53 time=12.914 ms
64 bytes from 110.242.68.3: icmp_seq=5 ttl=53 time=13.178 ms
64 bytes from 110.242.68.3: icmp_seq=6 ttl=53 time=13.464 ms
64 bytes from 110.242.68.3: icmp_seq=7 ttl=53 time=13.832 ms

 从TTL 53最接近的值64看,应该是linux或者win7.

所以ttl判定的话,稍微有点坑爹。

2、直接nmap,

sudo nmap -O 110.242.68.3
Password:
Starting Nmap 7.70 ( https://nmap.org ) at 2021-05-04 19:33 CST
Nmap scan report for 110.242.68.3
Host is up (0.013s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: specialized
Running (JUST GUESSING): AVtech embedded (88%)
Aggressive OS guesses: AVtech Room Alert 26W environmental monitor (88%)
No exact OS matches for host (test conditions non-ideal).

3、看文件名大小写:

https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd=%E4%B8%AD%E6%96%B9%E9%A9%B3%E6%96%A5%E8%8F%B2%E5%A4%96%E9%95%BF%E5%AF%B9%E4%B8%AD%E5%9B%BD%E6%B5%B7%E8%AD%A6%E8%88%B9%E8%AF%B4%E8%84%8F%E8%AF%9D&rsv_idx=2&rsv_dl=fyb_n_homepage&hisfilter=1

 修改s为大写,可以看到结果是一样的。说明不是win,而是linux。

版权声明:本文为bonelee原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bonelee/p/14730125.html