1、Ping 命令
「Ping」命令是咱們在判斷網絡故障經常使用的命令,但您真正明白這個命令運行後會發生什麼,以及出現的各類信息說明了什麼嗎?其實熟練的掌握 Ping 命令的各類技巧能夠幫助你解決不少網絡故障。下面咱們就來詳細的瞭解一下 Ping 命令。
它是用來檢查網絡是否通暢或者網絡鏈接速度的命令。
做爲一個生活在網絡上的管理員或者黑客來講,ping 命令是第一個必須掌握的 DOS 命令,它所利用的原理是這樣的:
網絡上的機器都有惟一肯定的IP地址,咱們給目標 IP 地址發送一個數據包,對方就要返回一個一樣大小的數據包,根據返回的數據包咱們能夠肯定目標主機的存在,能夠初步判斷目標主機的操做系統等。
下面就來看看它的一些經常使用的操做。先看看幫助吧,在 DOS 窗口中鍵入:ping /? 回車,出現如圖1所示的幫助畫面。
在此,咱們只掌握一些基本的頗有用的參數就能夠了.
- -t 表示將不間斷向目標 IP 發送數據包,直到咱們強迫其中止。試想,若是你使用 100M 的寬帶接入,而目標 IP 是 56K 的小貓,那麼要不了多久,目標 IP 就由於承受不了這麼多的數據而掉線,呵呵,一次攻擊就這麼簡單的實現了。
- -l 定義發送數據包的大小,默認爲 32字節,咱們利用它能夠最大定義到 65500字節。結合上面介紹的 -t 參數一塊兒使用,會有更好的效果哦。
- -n 定義向目標 IP 發送數據包的次數,默認爲 3次。若是網絡速度比較慢,3次對咱們來講也浪費了很多時間,由於如今咱們的目的僅僅是判斷目標 IP 是否存在,那麼就定義爲 1次吧。說明一下,若是 -t 參數和 -n 參數一塊兒使用,ping 命令就以放在後面的參數爲標準,好比「ping IP -t -n 3」,雖然使用了 -t 參數,但並非一直 ping 下去,而是隻 ping 3次。另外,ping 命令不必定非得 ping IP,也能夠直接 ping 主機域名,這樣就能夠獲得主機的 IP。
下面咱們舉個例子來講明具體用法,如圖2。
這裏 time=2 表示從發出數據包到接受到返回數據包所用的時間是 2毫秒,從這裏能夠判斷網絡鏈接速度的大小 。從 TTL 的返回值能夠初步判斷被 ping 主機的操做系統,之因此說「初步判斷」是由於這個值是能夠修改的。這裏 TTL=32 表示操做系統多是 win98。
用這個命令時候 ping 192.168.1.1 -t
TTL(生存時間)
TTL 是 IP 協議包中的一個值,它告訴網絡路由器包在網絡中的時間是否太長而應被丟棄。
有不少緣由使包在必定時間內不能被傳遞到目的地。例如,不正確的路由表可能致使包的無限循環。一個解決方法就是在一段時間後丟棄這個包,而後給發送者一個報文,由發送者決定是否要重發。TTL 的初值一般是系統缺省值,是包頭中的 8位的域。TTL 的最初設想是肯定一個時間範圍,超過此時間就把包丟棄。因爲每一個路由器都至少要把 TTL 域減一,TTL 一般表示包在被丟棄前最多能通過的路由器個數。當記數到0時,路由器決定丟棄該包,併發送一個 ICMP 報文給最初的發送者 。
- TTL 時間越長,緩存時間越長,更新越不容易及時生效。增大 TTL 值,以節約域名解析時間,給網站訪問加速。
- TTL 設置的小一些,生效時間就會快一些。減少 TTL 值,減小更換空間時的不可訪問時間。
System |
TTL Value |
LINUX |
64 |
WIN2K/NT |
128 |
WINDOWS |
32 |
UNIX |
255 |
2、對Ping後返回信息的分析緩存
1. Request timed out——超時
這是你們常常碰到的提示信息,不少文章中說這是對方機器置了過濾 ICMP 數據包,從上面工做過程來看,這是不徹底正確的,至少有下幾種狀況。
(1) 對方已關機
,或者網絡上根本沒有這個地址。
(2) 對方與本身不在同一網段內,經過路由也沒法找到對方
,但有時對方確實是存在的,固然不存在也是返回超時的信息。
(3) 對方確實存在,但設置了 ICMP 數據包過濾
(好比防火牆設置)。
怎樣知道對方是存在,仍是不存在呢,能夠用帶參數 -a 的 ping 命令探測對方,若是能獲得對方的 NETBIOS 名稱,則說明對方是存在的,是有防火牆設置,若是得不到,多半是對方不存在或關機,或不在同一網段內。
(4) 錯誤設置 IP 地址
正常狀況下,一臺主機應該有一個網卡,一個 IP 地址,或多個網卡,多個 IP 地址(這些地址必定要處於不一樣的 IP 子網)。但若是一臺電腦的「撥號網絡適配 器」(至關於一塊軟網卡)的 TCP/IP 設置中,設置了一個與網卡 IP 地址處於同一子網的 IP 地址,這樣,在 IP 層協議看來,這臺主機就有兩個不一樣的接口處於同一網段內。當從這臺主機 ping 其餘的機器時,會存在這樣的問題:
- 主機不知道將數據包發到哪一個網絡接口,由於有兩個網絡接口都鏈接在同一網段。
- 主機不知道用哪一個地址做爲數據包的源地址。所以,從這臺主機去 ping 其餘機器,IP 層協議會沒法處理,超時後,ping 就會給出一個「超時無應答」的錯誤信息提示。但從其餘主機 ping 這臺主機時,請求包從特定的網卡來,ICMP 只須簡單地將目的、源地址互換,並更改一些標誌便可,ICMP 應答包能順利發出,其餘主機也就能成功 ping 通這臺機器了。
2. Destination Host Unreachable——連不上服務器
(1) 對方與本身不在同一網段內,而本身又未設置默認的路由。
(2) 網線出了故障。
這裏要說明一下「destination host unreachable」和「time out」的區別,若是所通過的路由器的路由表中具備到達目標的路由,而目標由於其餘緣由不可到達,這時候會出現「time out」,若是路由表中連到達目標的路由都沒有,那就會出現「destination host unreachable」。
3. Bad IP Address——IP有問題
這個信息表示您可能沒有鏈接到 DNS 服務器,因此沒法解析這個 IP 地址,也多是 IP 地址不存在。
4.Source Quench Received——服務器忙
這個信息比較特殊,它出現的機率不多。它表示對方或中途的服務器繁忙沒法迴應。
5. Unknown Host——不知名主機
這種出錯信息的意思是,該遠程主機的名字不能被域名服務器(DNS)轉換成 IP 地址。故障緣由多是域名服務器有故障,或者其名字不正確,或者網絡管理員的系統與遠程主機之間的通訊線路有故障。
6. No Answer——無響應
這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障緣由多是下列之一:中心主機沒有工做;本地或中心主機網絡配置不正確;本地或中心的路由器沒有工做;通訊線路有故障;中心主機存在路由選擇問題。
7. ping 127.0.0.1:127.0.0.1是本地循環地址——TCP/IP 協議不工做
若是本地址沒法Ping通,則代表本地機 TCP/IP 協議不能正常工做。
8. no rout to host——網卡工做不正常
9. transmit failed, error code: 10043——網卡驅動不正常