常見網絡測試命令

tracert 什麼是 tracert 命令? tracert 是一個簡單的網絡診斷工具,我們可以使用用 tracert IP 命令確定數據包在網絡上的停止位置,來判斷在哪個環節上出瞭問題,雖然還是沒有確定是什麼問題,但它已經告訴瞭我們問題所在的地方,方便檢測網絡中存在的問題,用來顯示數據包到達目的主機所經過的路徑。

命令格式 tracert [參數] [主機]

常見參數指令:

例 1:檢測 IP 地址經過幾個躍點

例 2:“tracert -d www.baidu.com” 代表不將 IP 地址解析到主機名稱,如下圖所示:

例 3:“tracert -h 3 baidu.com” 代表本次 tracert 搜索的最大跳數,輸入 3 表示搜索在路由器跳轉 3 次,如下圖所示:

例 4:“tracert -w 6 baidu.com” 代表 tracert 為每次回復所指定的毫秒數,如下圖所示:

traceroute 安裝 traceroute 這裡的 Linux 是在 3A 網絡雲服務器上搭建的測試環境

yum -y install traceroute

什麼是 traceroute 命令? traceroute 是⽤來檢測發出數據包的主機到⽬標主機之間所經過的⽹關數量的⼯具。traceroute 的原理是試圖以最⼩的 TTL(存活時間)發出檢測包來跟蹤數據包到達目標主機所經過的網關,然後監聽一個來自網關 ICMP 的應答。發送數據包的大小默認為 38 字節。

命令格式: traceroute [參數] [主機]

常用參數: -d 使用 Socket 層級的排錯功能。 -f 設置第一個檢測數據包的存活數值 TTL 的大小。 -F 設置勿離斷位。 -g 設置來源路由網關,最多可設置 8 個。 -i 使用指定的網絡界面送出數據包。 -I 使用 ICMP 回應取代 UDP 資料信息。 -m 設置檢測數據包的最大存活數值 TTL 的大小。 -n 直接使用 IP 地址而非主機名稱。 -p 設置 UDP 傳輸協議的通信端口。 -r 忽略普通的 Routing Table,直接將數據包送到遠端主機上。 -s 設置本地主機送出數據包的 IP 地址。 -t 設置檢測數據包的 TOS 數值。 -v 詳細顯示指令的執行過程。 -w 設置等待遠端主機回報的時間。 -x 開啟或關閉數據包的正確性檢驗。

例 1:traceroute 用法簡單、最常用的用法 “traceroute www.baidu.com”

例 2:跳數設置 “traceroute -m 10 www.baidu.com”

例 3:顯示 IP 地址,不查主機名 “traceroute -n www.baidu.com”

例 4:檢測包使用的基本 UDP 端口設置 6888“traceroute -p 6888 www.baidu.com”

ping 什麼是 ping 命令? 因特網包探索器,用於測試網絡連接量的程序。Ping 發送一個 ICMP;回聲請求消息給目的地並報告是否收到所希望的 ICMP echo (ICMP 回聲應答)。它是用來檢查網絡是否通暢或者網絡連接速度的命令。

Windows 中: 常用參數:

例 1:無參數 ping —— 在默認情況下,一般都是隻發送四個 32 字節數據包,通過這個命令從數據包返回的最短時間、最長時間、平均時間可以衡量網絡速度、延遲,從丟失率可以衡量網絡的穩定性。(用法如下圖)

例 2:ping -t —— 不間斷地 Ping 指定計算機,直到管理員中斷(Ctrl+C 終止)。(用法如下圖)

例 3:ping -n —— 指定發送多少數據包,通過這個命令從數據包返回的最短時間、最長時間、平均時間可以衡量網絡速度、延遲,從丟失率可以衡量網絡的穩定性。(用法如下圖)

例 4:for /L % D in (1,1,255) do ping XXX.XXX.X.% D:批量 ping 網段,對於一個網段 ip 地址眾多,如果單個檢測實在麻煩,那麼可以直接批量 ping 網段檢測是那個 ip 地址出瞭問題,一目瞭然。(用法如下圖)

例 5:ping -s:計數躍點的時間戳 (僅適用於 IPv4),有效范圍從 1 到 4。(用法如下圖)

Linux 中: 常見參數: -h 選項獲得幫助

-6 選項代表 ipv6 不帶這個選項則使用 ipv4,也可以使用 – 4 來表示使用 ipv4

-c 選項,設置 ping 發送次數。如果不帶 – c 選項,ping 會一直發送。

–D 選項,ping 輸出時間戳

-w 選項,設定執行時間,打到此時間後停止執行

-R 選項,ping 過程記錄路由信息。

-v 選項,顯示詳細執行過程。

如果 – q 和 – v 同時使用,效果跟 – q 一致。

-t 選項,設置存活數 ttl 的數值。TTL 是 IP 包被路由器丟棄之前允許通過的最大網段數量。一般情況不需要設置。

-4 選項,指定 IPv4 協議

-6 選項,指定 IPv6 協議

-F 選項,設置流標記,隻能用於 IPv6. 如果值時 0,則會隨機分派。

-h 選項,獲得幫助,等同–help。

-B 選項,不允許 ping 改變原地址的主目標。這個地址在 ping 開始時,它被綁定瞭一個已經選擇的地址。

-l 選項,設置在送出要求信息之前,先行發出的數據包。

-L 選項,抑制組播報文回送,隻適用於 ping 的目標為一個組播地址。

-Q 選項,設置 Qos (Quality of Service),它是 ICMP 數據報相關位;可以是十進制或十六進制數。

-M 選項,設置 MTU(最大傳輸單元)分片策略。 可設置為: ‘do’:禁止分片,即使包被丟棄; ‘want’:當包過大時分片; ‘dont’:不設置分片標志(DF flag);

-W 選項,以毫秒為單位設置 ping 的超時時間

tcping 什麼是 tcping? tcping 命令基於 tcp 協議監控,可以從較低級別的協議獲得簡單的,可能不可靠的數據報服務。 原則上,TCP 應該能夠在從容硬線連接到分組交換或電路交換網絡的各種通信系統之上操作。

常用參數: -t: 連續 ping 直到 control-c 停止

-n 5: 例如,發送 3 個 ping

-i 5: 例如,每 5 秒 ping 一次

-w 0.5: 例如,等待 0.5 秒響應

-d: 在每行包含日期和時間

-b 1: 啟用 beeps (1 表示 on-down, 2 表示 on-up,

3 代表變化,4 代表總是)

-r 5: 例如,每 5 次 ping 就重新查找主機名

-s: ping 成功後自動退出

-v: 打印版本並退出

-j: 包含抖動,使用默認滾動平均

-js 5: 包含抖動,滾動平均大小為 (例如) 5。

–tee: 將輸出鏡像到’——tee’後面指定的文件名

–append: 附加到 ——tee 文件名,而不是覆蓋它

-4: 首選 ipv4

-6: 首選 ipv6

-c: 隻顯示更改狀態下的輸出行

–file: 將”server-address” 作為文件名,逐行遍歷文件

註意:——file 與 – j 和 – c 等選項不兼容,因為它在不同的目標中循環 有選擇地接受服務器端口。例如,“http://example.org 443” 有效。 或者,使用 – p 強制在命令行上對文件中的所有內容使用端口。 例如,如果我們連續失敗 5 次就放棄

– s_x_: 指定源地址 X。 源必須是客戶端計算機的有效 IP。

-p X: 指定端口的替代方法

–fqdn: 如果可用,在每行上打印域名

–ansi: 使用 ansi 顏色序列 (cygwin)

–color: 使用窗口顏色序列

HTTP 選項:

-h: HTTP 模式 (使用 url 而不使用 http://for server-address)

-u: 每行包含目標 URL

–post: 使用 post 而不是 GET (可能會避免緩存)

–head: 使用 head 而不是 GET

–proxy-server: 指定代理服務器

–proxy-port 指定代理端口

–proxy-credentials: 指定’Proxy-Authorization: Basic’頭,格式為 username:password

調試選項:

-f: 強制 tcp 至少發送一個字節

–header: 包含一個帶有原始參數和日期的頭文件。 如果使用 ——tee,則暗示。

–block: 使用 “blocking” 套接字連接。 這將阻止 – w 工作,並使用

默認超時 (在我的情況下,隻要 20 秒)。 然而,它可以檢測主動 拒絕連接 vs 超時。 如果不通過服務器端口,默認值為 80。

測試:檢測某服務器 rsync 端口是否通暢 tcping -d -t 10.0.0.6

mtr 什麼是 mtr? MTR 是一款強大的網絡診斷工具,它集成瞭 traceroute 和 ping 的功能,並且會收集更多的信息,比如連接狀態、可用性等等,在排查網絡問題中,非常有用。

安裝 1.Windows 系統可以直接在 https://cdn.ipip.net/17mon/besttrace.exe 下載 BestTrace 工具並安裝。也可以在 https://github.com/oott123/WinMTR/releases GitHub 上下載 MTR 專用工具,該工具為免安裝,下載後可以直接使用。

2.Linux 可以直接運行命令進行安裝。

Debian/Ubuntu 系統

apt install mtr

RedHat/CentOS 系統

yum install mtr 3.Apple 客戶端可以在 App store 搜索 Best NetTools 下載安裝

4.Android 客戶端:可以在 Google Play 上下載 TracePing,但是由於國內 Google Play 無法訪問,筆者自行下載下來,可以直接訪問 https://dwz.cn/KCdNPH4c 下載 TracePing。

使用 測試:mtr http://qq.com

具體輸出的參數含義為:

第一列是 IP 地址 丟包率:Loss 已發送的包數:Snt 最後一個包的延時:Last 平均延時:Avg 最低延時:Best 最差延時:Wrst 方差(穩定性):StDev 常用參數: -n no-dns (或簡寫為 – n) : 不對 IP 地址做域名解析 -s : ⽤來指定 ping 數據包的⼤⼩ -i : 使⽤這個參數來設置 ICMP 返回之間的要求默認是 1 秒 -a : 來設置發送數據包的 IP 地址 這個對⼀個主機由多個 IP 地址是有⽤的 -r : 已報告模式顯⽰ -c : 每秒發送多少包,默認為 10 個。英⽂是 (–report-cycles COUNT) –report :結果顯⽰,並不動態顯⽰

這裡的 Linux 全是在 3A 雲服務器上搭建的測試環境

赞(0)