史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   作業系統操作技術文件 (http://forum.slime.com.tw/f128.html)
-   -   一個關於ping指令的問題! (http://forum.slime.com.tw/thread59060.html)

psac 2003-08-11 08:05 PM

一個關於ping指令的問題!
 
Q:
一個關於ping指令的問題!
使用ping指令來ping一個位址,在得到的反饋信息中,有TTL一項,聽朋友說過,如果TTL的值是64或者128,那麼,對方就是用的windows系統,否則,則使用的是其他系統,不知道是否正確?用ping指令來ping精品,得到的值是47,那麼,精品使用的是什麼系統呢?這個TTL的值,還可能是其他的很多值嗎?還是每個系統有它自己類BIOS的值呢?如果是這樣,是否有這個TTL也操作系統的對照表呢?
請多指教!!

A:
TTL
TTL 值是返回的ECHO REPLY 的剩下的TTL. 它只能說明路上經過幾個HOPS.
預設情況,起始值是因OS而異的

TTL:生存時間

指定資料報被路由器丟棄之前允許通過的網段數量。

TTL 是由傳送主機設定的,以防止資料包不斷在 IP 網際網路絡上永不終止地循環。

轉發 IP 資料包時,要求路由器至少將 TTL 減小 1。
利用TTL值來鑒別操作系統

作 者:.abu.
發表於:2001-1-X
一、關於PING的介紹

PING指令來檢查要到達的目標 IP 位址並記錄結果。

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 | |
| | | <-------------------------- | | |
| | | ICMP Echo Reply | | |
| +-------+ +-------+ |
| |
+---------------------------------------------------------------+

這種機制就是我們通常所用的ping指令來檢測目標主機是否可以ping到。

典型的例子

C:\>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))--位址掩碼請求和回應等

參考資料來源:
WINDOWS 2K 系統求助文件
http://www.sys-security.com

 

linlili 2003-08-11 11:18 PM

3q

ufoon 2003-08-14 06:37 PM

好棒


所有時間均為台北時間。現在的時間是 07:12 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1