ping、telnet、tracert網絡測試命令的簡介與使用
ping: 用來測試網絡IP地址是否可達和與目標主機IP的連通性
telnet:用來登陸或測試目標主機IP的端口,測試主機服務可用
tracert:檢查網絡連接是否可達以及分析網絡什么地方發生了故障。路由跟蹤程序,用於確定目標所經過的網絡路徑
一、使用Ping檢測IP 網絡
1、功能用途
當設備出現故障時,可以首先使用Ping測試網絡連接是否正常工作。使用Ping檢測IP網絡的連通性。
Ping(Packet Internet Groper)主要用於檢查網絡連接及主機是否可達。源主機向目的主機發送ICMP(Internet Control Message Protocol)請求報文,目的主機向源主機發送ICMP回應報文。
用於測試網絡連接量的程序,通常是用來檢查網絡是否通暢或者網絡連接速度的命令,評估網絡質量,ping域名還可以得出解析IP地址。
2、介紹
利用網絡上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩台網絡機器是否連接相通,時延是多少。這個測試命令可以幫助網絡管理者測試到達目的主機的網絡是否連接。
ping命令是最常見的用於檢測網絡設備可訪問性的調試工具,它使用ICMP的echo信息來決定:遠程設備是否可用。
遠程設備通信的來回旅程(round-trip)的延遲(delay)。包(packet)的丟失情況。
ping命令每發送一個ICMP回顯請求報文,順序號就加1,順序號從1開始,不同的系統發送回顯請求的數量不同,默認情況發送5個回顯請求報文。也可以通過命令行參數設置發送回顯請求報文的個數,如果對端可達,則在對端會相應回應5個和請求端同樣序號的ICMP回應報文。
3、注意事項
ping指的是端對端連通,通常用來作為可用性的檢查,但是某些病毒木馬會強行大量遠程執行ping命令搶占你的網絡資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火牆的一個基本功能提供給用戶進行選擇。通常的情況下你如果不用作服務器或者進行網絡測試,ping是被防火牆禁用的(如果被禁用可以采取下面提到的telnet方式)。
ping命令是用來檢測網絡是否暢通的,而Telnet命令則用來遠程登陸。 但Ping不通並不一定代表網絡不通。ping是基於ICMP協議的命令,就是你發出去一個數據包,對方收到后返給你一個!就好比聲納。這個協議是可以禁止的!禁止后,如果你ping對方,對方收到后就不回饋給你,這樣你就顯示無法ping通,但實際你們還是連着的。
4、使用
windows操作系統,點擊計算機屏幕左下角菜單“開始”→“運行”→“打開輸入cmd”,點擊“確定”或者按回車鍵
在出來的DOS界面里,輸入ping測試端口命令,如下格式
ping ip地址/域名網址
測試ping qq.com –t平均延時在50ms以內為佳,如下截圖
Request timed out
a.對方已關機
b.對方與自己不在同一網段內,通過路由也無法找到對方
c.對方確實存在,但設置了ICMP數據包過濾(比如防火牆設置)
怎樣知道對方是存在,還是不存在呢,可以用帶參數 -a 的Ping命令探測對方,如果能得到對方的NETBIOS名稱,則說明對方是存在的,是有防火牆設置,如果得不到,多半是對方不存在或關機,或不在同一網段內。
d.錯誤設置IP地址
Destination host Unreachable
對方與自己不在同一網段內,而自己又未設置默認的路由,或者網絡上根本沒有這個地址,比如上例中A機中不設定默認的路由,運行Ping 192.168.1.4就會出現“Destination host Unreachable”。
網線出了故障
這里要說明一下“destination host unreachable”和 “time out”的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其他原因不可到達,這時候會出現“time out”,如果路由表中連到達目標的路由都沒有,那就會出現“destination host unreachable”。
Bad IP address
這個信息表示您可能沒有連接到DNS服務器,所以無法解析這個IP地址,也可能是IP地址不存在。
Source quench received
這個信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。
Unknown host——不知名主機
這種出錯信息的意思是,該遠程主機的名字不能被域名服務器(DNS)轉換成IP地址。故障原因可能是域名服務器有故障,或者其名字不正確,或者網絡管理員的系統與遠程主機之間的通信線路有故障。
No answer——無響應
這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障原因可能是下列之一:中心主機沒有工作;本地或中心主機網絡配置不正確;本地或中心的 路由器沒有工作;通信線路有故障;中心主機存在路由選擇問題。
Ping 127.0.0.1:127.0.0.1是本地循環地址
如果本地址無法Ping通,則表明本地機TCP/IP協議不能正常工作。
no rout to host:網卡工作不正常
transmit failed,error code:10043網卡驅動不正常
unknown host name:DNS配置不正確
用戶Ping
在路由器、交換機的用戶模式下,也可以使用ping命令,它是一個簡單的全局命令,用法同Windows下相同,只是返回代碼不同。其形式是:
Router>ping 10.127.0.1
路由器缺省使用IP協議
操作可以參考網站
https://jingyan.baidu.com/article/7f41ececc3aa76593d095cb6.html
二、telnet目標主機IP的端口
1、功能用途
telnet 用於遠程管理連接主機。同時也是測試目標機器的TCP端口是否開放。
2、介紹
telnet是位於OSI模型的第7層---應用層上的一種協議,是一個通過創建虛擬終端提供連接到遠程主機終端仿真的TCP/IP協議。這一協議需要通過用戶名和口令進行認證,是Internet遠程登陸服務的標准協議。應用Telnet協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端。
3、注意事項
確認telnet操作命令服務正常。如果無法使用該命令,需要手動安裝telnet服務。
傳統telnet會話所傳輸的資料並未加密,帳號和密碼等敏感資料,容易會被竊聽,因此很多服務器都會封鎖telnet服務,改用更安全的SSH。
如果主機有防火牆策略,可能會影響測試結果。
4、使用
telnet ip地址 port
ip地址 指定要連接的遠程計算機的主機名或 IP 地址。
port 指定端口號或服務名。
windows操作系統,點擊計算機屏幕左下角菜單“開始”→“運行”→“打開輸入cmd”,點擊“確定”或者按回車鍵
在出來的DOS界面里,輸入ping測試端口命令,如下截圖
如果返回的結果是無法打開,則表示到目標主機的22端口不通
Linux操作系統
確認遠端服務器某個端口是否可用。比如查看遠端服務器ssh服務的22號端口是否開放,如下結果,22端口正常開發。
1 2 3 4 5 |
$ telnet 10.1.1.1 22 Trying 10.1.1.1... Connected to 10.1.1.1. Escape character is '^]'. SSH-2.0-OpenSSH_6.0 |
操作可以參考網站
https://jingyan.baidu.com/article/7c6fb428d60c6e80642c90ee.html
三、tracert檢測IP網絡的路徑信息
1、功能用途
tracert主要檢查網絡連接是否可達以及分析網絡什么地方發生了故障。
2、介紹
tracert是路由跟蹤程序,用於確定 IP 數據報訪問目標所經過的路徑。
通過向目標發送不同IP生存時間 (TTL) 值的“Internet控制消息協議 (ICMP)”回應數據包,Tracert診斷程序確定到目標所采取的路由。要求路徑上的每個路由器在轉發數據包之前至少將數據包上的 TTL 遞減 1。數據包上的 TTL 減為 0 時,路由器應該將“ICMP 已超時”的消息發回源系統。
Tracert 先發送 TTL 為 1 的回應數據包,並在隨后的每次發送過程將TTL遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發回的“ICMP 已超時”的消息確定路由。某些路由器不經詢問直接丟棄 TTL 過期的數據包,這在 Tracert 實用程序中看不到
Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。在工作環境中有多條鏈路出口時,可以通過該命令查詢數據是經過的哪一條鏈路出口。tracert一般用來檢測故障的位置,我們可以使用用tracert IP命令確定數據包在網絡上的停止位置,來判斷在哪個環節上出了問題,雖然還是沒有確定是什么問題,但它已經告訴了我們問題所在的地方,方便檢測網絡中存在的問題。
tracert命令用於測試數據包從發送主機到目的地所經過的網關。tracert發送數據報的
TTL值最大可以到30,每一次發送如果在指定的時間的內沒有回應報文,在發送端就會顯示超時,如果發送30跳的值后,仍然顯示為超時,表明無法達到目標設備,測試失敗。
如果用戶希望減少設備端口IP地址的暴露,從而防御外界構造端口不可達報文攻擊或者超時報文攻擊來探測設備接口的IP地址時,可以在Loopback接口視圖下指定ICMP端口不可達或超時報文的源IP地址。如果用戶執行tracert命令檢測遠端地址,設備會采用LoopBack接口的地址作為報文源地址發送ICMP超時報文或者端口不可達報文。
3、注意事項
tracert為trace router的縮寫。不同的系統命令方式都不相同。
tracert是Windows下常用的命令行工具(基於ICMP協議),UNIX下與之對應的是traceroute(基於UDP協議)。若想知道自己的計算機到www.123.org 經過了多少個路由器,可在命令行下輸入tracert www.123.org進行探測,返回結果也許會與ping -R相同,但它是以另一種方式實現的。這種方式並沒有像Record route options探測技術中使用IP協議包的Options字段,而是利用了IP協議包中的TTL字段
4、使用
tracert ip地址/域名網址
選項:
-d 不將地址解析成主機名。
-h maximum_hops 搜索目標的最大躍點數。
-j host-list 與主機列表一起的松散源路由(僅適用於 IPv4)。
-w timeout 等待每個回復的超時時間(以毫秒為單位)。
-R 跟蹤往返行程路徑(僅適用於 IPv6)。
-S srcaddr 要使用的源地址(僅適用於 IPv6)。
-4 強制使用 IPv4。
-6 強制使用 IPv6。
windows操作系統,實例
C:\Users\Administrator>tracert www.baidu.com
通過最多 30 個躍點跟蹤
到 www.a.shifen.com [61.135.169.121] 的路由:
1 2 ms 2 ms 2 ms 10.5.38.1]
2 1 ms 1 ms 2 ms 10.5.1.5
3 3 ms 3 ms 2 ms 110.185.170.129
4 3 ms 3 ms 4 ms 125.69.64.213
5 6 ms 5 ms 34 ms 171.208.203.81
6 60 ms 58 ms 61 ms 202.97.36.45
7 53 ms * 52 ms 202.97.57.66
8 * 59 ms * 219.158.44.129
9 * 49 ms * 219.158.3.1
10 54 ms 54 ms 54 ms 202.96.12.2
11 53 ms 51 ms 125 ms 124.65.57.194
12 * 58 ms 57 ms 123.125.248.46
13 * * * 請求超時。
14 * * * 請求超時。
15 54 ms 50 ms 51 ms 61.135.169.121
跟蹤完成。
第一列:1..9,這標明在我使用的寬帶(使用的是聯通寬帶)上,經過8個路由節點,可以到達百度的服務器;如果是電信可能有不同;其他的IP,也有可能不同;各位可以多去測試。
第二,三,四列:單位是ms,是表示我們連接到每個路由節點的速度,返回速度和多次鏈接反饋的平均值;這個值有一定的參考性,但不是唯一的,也不作為主要的參考;比如一個主機,200和300,這100ms,其實說明不了什么。
第四列:就是每個路由節點對應的IP,每個ip輸入什么,各位通過http://tool.chinaz.com的ip詳細查詢去了解。
注:在第13個路由節點上,返回消息是超時,這表示這個路由節點和當前我們使用的寬帶,是無法連通的。至於原因,就有很多種了,比如:特意在路上上做了過濾限制;比如確實是路由的問題等,具體問題具體分析;如果在測試的時候,大量的都是*和返回超時,那就說明這個IP,在各個路由節點都有問題。
我們看上面是一個正常的路由訪問列表,下面是一個有故障的檢測結果:
tracert ggzdsd.com
linux操作系統,實例如下截圖
操作可以參考網站
https://jingyan.baidu.com/article/84b4f5655b7a4a60f6da32d5.html
四、windows其他常用的網絡命令
netstat -a 查看所有活動連接,包括已建立或者正在建立的連接
netstat -n 所有已建立的活動連接
netstat -s 按照協議統計信息
netstat -v 查看正在進行的工作
netstat -p tcp查看tcp協議的使用情況
netstat典型用法就是查看端口和pid的互查:
根據進程pid查端口:netstat -nap | grep pid
根據端口port查進程: netstat -nap | grep port
ipconfig
查看計算機的ip地址、mac地址,以及其他網卡信息
arp -a
能夠查看本地計算機或另一台計算機的ARP高速緩存中的當前內容
route print
windows系統route命令用於顯示路由表中的當前項目
route –n
Linux系統的route命令用於顯示和操作IP路由表
服務器A到服務器B,ping telnet tracert排查完畢都正常,業務如果還有問題,請聯系服務器系統運維工程師處理