利用TTL值来鉴别操作系统
副标题:
作者:网络收集 文章来源:黑鹰基地 点击数: 443 更新时间:2005-6-2
【字体:小 大】【发表评论】【告诉好友】【打印此文】【关闭窗口】
一、关于PING的介绍

PING命令来检查要到达的目标IP地址并记录结果。

ping 命令显示目标是否响应以及接收答复所需的时间。

如果在传递到目标过程中有错误,ping 命令将显示错误消息。ICMP ECHO(Type 8) 和ECHO Reply (Type 0)

我们使用一个ICMP ECHO数据包来探测主机地址 HOST B 是否存活(当然在主机没有被配置为过滤ICMP形式)

通过简单的发送一个ICMP ECHO(Type 8)数据包到目标主机

如果ICMP ECHO Reply(ICMP type 0)数据包 HOST A 可以接受到,说明主机是存活状态。

如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。

+---------------------------------------------------------------+
| |
| +-------+ +-------+ |
| | | ICMP Echo Request | | |
| | HOST | --------------------------> | HOST | |
| | | | | |
| | A | | B | |
| | | ping 192.168.0.1

Pinging 192.168.0.1 with 32 bytes of data:

Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128

Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

二、注意TTL

TTL:生存时间

指定数据报被路由器丢弃之前允许通过的网段数量。

TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。

使用PING时涉及到的 ICMP 报文类型

一个为ICMP请求回显(ICMP Echo Request)

一个为ICMP回显应答(ICMP Echo Reply)

三、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

经过测试的操作系统如下:

LINUX Kernel 2.2.x, Kernel 2.4t1-6; FreeBSD 4.1,4.0,3.4; OpenBSD 2.7,2.6; NetBSD
1.4.2; Sun Solaris 2.5.1,2.6,2.7,2.8; HP-UX 10.20, 11.0; AIX 4.1, 3.2; Compaq
Tru64 5.0; Irix 6.5.3,6.5.8; BSDI BSD/OS 4.0,3.1; Ultrix 4.2-4.5; OpenVMS 7.1-2;
Windows 95/98/98SE/ME; Windows NT 4 Workstation SP3, SP4, SP6a; Windows NT 4
Server SP4; Windows 2000 Professional, Server, Advanced Server.

附:

ICMP报文的类型包括如下:

ECHO (Request (Type 8), Reply (Type 0))--回显应答,

Time Stamp (Request (Type 13), Reply (Type 14))--时间戳请求和应答,

Information (Request (Type 15), Reply (Type16))--信息请求和应答,

Address Mask (Request (Type 17), Reply (Type 18))--地址掩码请求和应答等

[转载]利用TTL值来鉴别操作系统相关推荐

  1. linux系统ttl端口,利用TTL值来鉴别操作系统

    一.关于PING的介绍 PING命令来检查要到达的目标IP地址并记录结果. ping 命令显示目标是否响应以及接收答复所需的时间. 如果在传递到目标过程中有错误,ping 命令将显示错误消息. ICM ...

  2. linux 函数 查看ttl,利用TTL值来鉴别操作系统

    一.关于PING的介绍 PING命令来检查要到达的目标IP地址并记录结果. ping 命令显示目标是否响应以及接收答复所需的时间. 如果在传递到目标过程中有错误,ping 命令将显示错误消息. ICM ...

  3. 权威服务器怎么修改ttl值,Windows服务器修改默认TTL值的方法

    修改TTL值 不同的操作系统,它的TTL值是不相同的,默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值 ...

  4. ttl计算机,如何利用生存时间值(TTL)来判断操作系统

    一.什么是TTL TTL(Time To Live,生存时间)是IP协议包中的一个值,当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有 的数据包会因 ...

  5. ping命令和arp命令、ping常见问题解决、TTL值判断操作系统

    基础CMD命令 ipconfig/all //查本地网络配置 ipconfig/displaydns //查看本机缓存的服务器域名 tracert 域名/ip //你的主机到目标主机经过路由器的ip( ...

  6. ttl一会255一会64_什么ping ip地址返回的ttl值会自己变,一会是255,一会是64 使用ping命令 以前T...

    网络流量大 内网抓下包看看 哪几台机器的流量大 重点排查一下 TTL表示跳数 也就是没经过一个路由器 计数增加1 比如你PING 百度的话 TTL=64 那么从你家的路由器算起 到达腾讯的服务器要经过 ...

  7. 域名”A记录,MX记录,CNAME记录,TTL值,URL转发”解释

    域名"A记录,MX记录,CNAME记录,TTL值,URL转发"解释 大家在注册和使用域名的时候都有下面对域名所有的记录存在过疑问罢? 什么是A记录?什么是MX记录?CNAME记录又 ...

  8. Windows服务器修改默认TTL值的方法

    不同的操作系统,它的TTL值是不相同的,默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNI ...

  9. 什么是DNS,A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,TTL值

    DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网络中的计算机都必 ...

  10. 合理设置域名TTL值给网站加速

    最近一段时间看到几篇关于网站加速的文章,通篇都在讲页面优化.服务器优化.网络优化这些东西(当然我不否认这些很重要),但几乎所有文章都忽略了决定网站访问速度的一个重要因素:DNS速度,糟糕的DNS解析速 ...

最新文章

  1. 动画产业基础学习教程 Rad How to Class – Animation Industry Fundamentals
  2. Service Mesh — Istio
  3. 从Zygote孵化frameworks进程,分析StartActivity流程中intent传递数据的最大值。
  4. matlab 中sumg,MATLAB)课后实验答案[1]
  5. java推送到 钉钉用户_javaweb利用钉钉机器人向钉钉群推送消息(解决中文乱码)...
  6. cuda中的二分查找
  7. 如何应用大数据分析平台
  8. 内联元素与内联块状元素
  9. Ajax技术(WEB无刷新提交数据)
  10. 停止dockerd进程
  11. windows下的WSL开发环境配置以及相关工具、插件
  12. 论文笔记:AutoAugment
  13. 树莓派IMX708摄像头模块
  14. 什么是promise,promise的用法。
  15. 心血来潮——gitlab-ce汉化版
  16. VMware启动CentOS7黑屏解决方案
  17. qcc514x-qcc304x调试笔记-如何区分左右耳
  18. html5中创建多个nav,HTML5 对各个标签的定义与规定:nav
  19. 智控网络——智谋云价签,与智慧门店同飞跃、共变革
  20. python输出列表中的第二个元素_python – 替换列表中的每个第二个元素

热门文章

  1. 教你轻松解决苹果Mac安装Axure首次打开报错的问题
  2. Master of Typing 3 for mac (打字大师3)支持m1
  3. JDK下Bin目录的工具介绍
  4. Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
  5. VIM问题合集(持续更新)
  6. 技术实践如何支持演进式架构和持续集成
  7. Eclipse下搭建Android的NDK开发环境
  8. sql server 提取汉字/数字/字母的方法
  9. 怎么通过$a获取到$b?某豹面试题
  10. 一位36岁程序员的困惑(转)