通过ping命令识别服务器类型

查看本机IP
 

判断服务器用的什么系统还可以用一个简单的方法,在dos下或虚拟dos下或在Linux下输入ping命令
比如你要查百度的服务器就输入
ping www.baidu.com
你会看到如下的信息
Relay from 202.108.22.5 : bytes=32 time=173ms TTL=57
....
注意TTL那一项,我们可以根据它的值判断所ping主机的操作系统类型。

TTL被称为生存期,也就是你所传输的数据在网络上经过的路由器的最大个数。当TTL为0的时候,该数据还没有被传到目的主机,就会被丢弃,

这样可以防止垃圾数据占据宝贵的带宽。(防止错误的数据,在网络的无限期传播)

下面是一些系统和他们TTL的关系
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
你应该会问怎么上面ping的结果是57这里没有啊?其实
真正的TTL应该这样算,比返回的TTL略大的2的乘方数。这里我们可以知道比57略大的2的乘方数为64,也就是2的6次方。用64-57就可以得出我的主机到百度服务器经过的路由器的个数。一般很少有世界任意两台主机连接超过16个路由器。
当然上面的TTL也是一般情况,具体可以参考这里

今天在百度百科中看到一个朋友问在ping一个域名时返回的TTL值大好呢 还是小好呢,自己很少去判断这个ttl

一般都是判断 time,一时也愣那了,从网上找了找,大概得了解了这个ping值的含义,现在发给大家看看,希望对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
 
由于63比较接近64 中间可能通过了64-63=1个路由,由此来判断192.168.1.244操作系统是linux的!
我自己本机的网段为192.168.11.1网段,所以跨一个路由
 
说明也是跨一个路由器
 
 
例如:现在ping www.seobye.com,得到的返回值是:
 
C:\Documents and Settings\Administrator>ping www.seobye.com
 
Pinging www.seobye.com [203.171.239.157] with 32 bytes of data:
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Ping statistics for 203.171.239.157:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 12ms, Maximum = 12ms, Average = 12ms
57比较接近64 中间可能通过了7个路由,由此来判断落水鱼博客所有的操作系统是linux的!

通过ping命令查看服务器是linux还是windows系列的更多相关文章

  1. linux命令查看服务器的型号、序列号、内存插槽数(转)

    1,查看服务器型号.序列号: dmidecode|grep "System Information" -A9|egrep  "Manufacturer|Product|S ...

  2. 如何查看服务器(linux系统)当前的负载信息(转)

    如何查看服务器当前的负载信息http://www.flybaaa.com/help 网吧内突然很卡,这个情况我相信大家都有遇见过,但是通过什么方法来排查是否linux服务器的负载过大导致的这个问题呢? ...

  3. windows做时间服务器,linux和windows时间同步

    找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路 首先在http://www.meinberg ...

  4. Linux 使用iftop命令查看服务器流量

    简介 iftop是类似于linux下面top的实时流量监控工具. iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等,详细的将会在后面的使用参数中说明. 安装 # yu ...

  5. netstat命令查看服务器运行情况

    netstat -n|grep 80出现大量time_wait 在运行netstat -n|grep 80 | awk '/^tcp/ {++S[$NF]} END {for(a in S) prin ...

  6. 命令查看服务器SN号

    今天工作的时候,为了检查一台服务器的序列号,没必要在跑到机房里了,所以在系统下就可以看机器序列号了.如下: 1.linux取序列号: 命令执行:dmidecode |grep "Serial ...

  7. shell实现ping命令查看哪些主机在线

    #!/bin/bash .{..};do -i 0.5 $a >/dev/null && echo "$a 在线" || echo "$a 离线&q ...

  8. LoadRunner 服务器(Linux、Windows) 性能指标度量说明

    服务器资源性能计数器 下表描述了可用的计数器: 监控器 度量 说明 CPU 监控器 Utilization 监测 CPU 利用率. 磁盘空间监控器 Disk space 监测可用空间 (MB) 和已用 ...

  9. Linux 使用 free 命令查看内存使用情况

    1.free 命令的选项 使用 free 命令查看服务器内存使用情况. free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V] ...

随机推荐

  1. 【MyEclipse】JSP默认打开方式 设置(双击)

    下图为MyEclipse8.5设置界面,通过window->Preferences打开,并在General选项下选择 Editors->File Associations ,然后选择要设置 ...

  2. 030_CORS深究

    在日常的项目开发时会不可避免的需要进行跨域操作,而在实际进行跨域请求时,经常会遇到类似 No 'Access-Control-Allow-Origin' header is present on th ...

  3. SQL Server 之 内部连接

    1.内部联接 2.外部联接 外部联接扩展了内部联接的功能,会把内联接中删除表源中的一些保留下来,由于保存下来的行不同,可将外部联接分为左联接和右联接. 2.1左联接: 如果左表的某一行在右表中没有匹配 ...

  4. 所有ORM操作 (第二版)

    ####################################################################### # PUBLIC METHODS THAT ALTER ...

  5. 阿里云服务器ubuntu 配置

    由于阿里云的导入自定义 ubuntu 镜像需要开通 OSS 快照是收费的(看着感觉不贵,但是也很麻烦),而且自己已配置好的镜像想导入需要转换格式,还存在不能使用的情况,所以麻烦点直接在阿里云原来的ub ...

  6. C语言-用函数实现社保工资查询系统

    需求: 1.有登陆操作,超过三次需重新打开登录 2.查询五险一金.税前税后工资计算,个人与单位应缴明细 3.输入税后工资和税前工资都可查询 4.退出有询问确认操作 代码如下; #include< ...

  7. Redis重大版本

    Redis借鉴了Linux操作系统对于版本号的命名规则: 版本号第二位如果是奇数,则为非稳定版本(例如2.7.2.9.3.1),如果是偶数,则为稳定版本(例如2.6.2.8.3.0.3.2), 当前奇 ...

  8. linux中ping带时间及打印内容到文件

    ping命令就不多说了,-i是时间间隔,-c是ping的次数 这种是每隔30秒ping一次,并在后面显示时间: ping 192.168.30.123 -i 30 | awk '{ print $0& ...

  9. socket通讯---TcpClient

    IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ipa = ipe.AddressList[0]; System.Ne ...

  10. jquery easyui datagrid 加每页合计和总合计

    jquery easyui datagrid 加每页合计和总合计 一:效果图 二:代码实现 这个只有从后台来处理 后台根据rows 和page两个参数返回的datatable 命名为dt 然后根据dt ...