这是在 20CN网络安全小组第一代论坛 的论坛 菜鸟乐园 中的主题 如何通过ping命令来识别对方主机的操作系统?


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=1;t=000602

xinzhihuoyan 发表于 :
 
请问各位高手,小弟看到一篇关于通过ping命令来识别对方主机的操作系统的文章。但是还是不清楚能否详细介绍一下诀窍?或者推荐几篇相关文章看看.不胜感激!
 
tacky 发表于 :
 
引用:
发起人 xinzhihuoyan:
请问各位高手,小弟看到一篇关于通过ping命令来识别对方主机的操作系统的文章。但是还是不清楚能否详细介绍一下诀窍?或者推荐几篇相关文章看看.不胜感激!


楼上的同志,你是在那里看到这篇文章的呀??


 


周秋阳 发表于 :
 
当ping程序从远程主机收到回送答复时,它在屏幕上显示答复,并列出几条有用的信息:第1条信息是返回答复的主机的IP地址(通常应该是www.mattmarg.com的IP地址 );第2条信息是序列号,从1开始;第3条信息是 Time To Live(TTL),最后一条是获得答复所用的时间(毫秒)
序列号显示了哪个信息包获得了答复。如果某个序列号被跳过,则以为着某个信息包(回送请求或回送对方)未被对方收到,而在网络传输过程中丢失了。如果被跳过的序列号比较少,还无需担心什么,但如果很多序列号被跳过,则意味着网络存在问题。

Time To Live (TTL)每一个被发送出的IP信息包都有一个TTL域,该域被设置为一个较高的数值(在本例中ping信息包的TTL值为255)。当信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃。IP规范规定:TTL应该被设置为60 (尽管ping 信息包的TTL是255)。这样做主要是为了让一个信息包永远在为了中存在。担该信息对我们来说有特殊的含义。我们可以使用TTL大致确定该信息包经过了多少个路由器过渡段。在本例中,用255减去N,N是返回的回送答复的TTL。如果TTL值在连续几个ping中发生变化,这说明返回的信息包经过了不同的路由器。

time显示了信息包到达远程主机后返回的时间。计算定位为毫秒。通常网卡下,来回时间在200毫秒以下最好。信息包抵达目的地的时间叫做latency(等待时间),如果你看到来回时间变化很大(叫做"jitter(抖动)),这说明同主机之间的联接状况很差。

随便看看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值简单判定系统类型》这篇文章的哪,去找来看看嘛。


不过春之律说过: 这种方法很不准的
有一种说法就是你ping出的TTL值和正常值之间的差就是本机和目标机中所经过的路由数目
哎,反正不准的啦

是的,这种情况存在。不同协议也会影响这一数值的。

------------------
每个人都有无法忘记的人,思念会像细沙穿过你的灵魂,轻轻开了门,只有风雨声。
 


xinzhihuoyan 发表于 :
 
真是非常感谢这位大哥
 
hardiwang 发表于 :
 
可是有的时候ttl的既不是255也不是64和128及32哦!
 
xinzhihuoyan 发表于 :
 
楼上的大哥的问题能回答吗?小弟洗耳恭听,呵呵

------------------
我轻轻地走,正如我轻轻的来。
 






Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。