下午好,我的網工朋友。
當網工,日常工作不僅需要面對各種各樣的網絡設備和配置,還需要處理不斷出現的網絡故障和性能問題。
這時候,命令行工具就顯得尤為重要。
無論是排查網絡連接問題,還是配置網絡接口,命令行工具都提供了快速、高效的方法來解決問題。
今天說10個對網工來說至關重要的網絡命令,這些命令涵蓋了從基本的連通性測試到復雜的網絡抓包分析等多個方面。
無論你是新手還是有經驗的網絡工程師,熟練掌握這些命令都能顯著提高你的工作效率和問題解決能力。
今日文章閱讀福利:《網絡排障好用工具合輯》
搭配這篇網絡命令,順便給你分享一些排障的好用工具。私信我,發送暗號“排障”,即可領取全部工具。
01 ping
ping命令是網絡工程師最常用的工具之一,用于測試網絡設備之間的連通性。它通過發送ICMP回顯請求(Echo Request)數據包,并等待目標設備返回回顯應答(Echo Reply),來判斷目標設備是否可達。
01 功能和用途:
02 命令格式
ping命令的基本格式如下:
ping [選項] 目標地址
其中,"目標地址"可以是一個IP地址或一個域名。例如:
ping 192.168.1.1
ping
03 ping命令的常用參數選項
-t:持續ping目標地址,直到手動停止。常用于監控網絡穩定性。
-n count:指定發送的回顯請求數目。默認情況下,Windows系統發送4個請求,Linux系統發送無限請求。
-l size:指定發送數據包的大小(字節數)。用于測試不同數據包大小下的網絡性能。
-w timeout:指定等待每次回復的超時時間(毫秒)。用于設置更嚴格的響應時間要求。
-a:解析IP地址到主機名,反向查找DNS。
-f:設置不分段標志。用于測試路徑MTU。
-i TTL:設置TTL值。用于測試數據包在網絡中的跳數。
-r count:記錄路由的計數。用于測試并顯示數據包經過的路由數。
-s count:記錄時間戳。用于測試數據包在每個跳數的往返時間。
-S srcaddr:指定源地址。用于在多網卡或多IP地址的機器上測試特定源IP的連通性。
-4:強制使用IPv4地址。用于在雙棧網絡中測試IPv4連通性。
-6:強制使用IPv6地址。用于在雙棧網絡中測試IPv6連通性。
02 tracert/
tracert(Windows)和(Linux)是用于診斷網絡路徑的命令行工具。
它們通過逐跳發送ICMP回顯請求(或UDP數據包),來確定從源設備到目標設備所經過的每一個網絡節點(路由器)。這些命令可以幫助網絡工程師識別網絡路徑中的瓶頸或中斷點,從而更有效地解決網絡問題。
01如何使用命令查看數據包路徑
命令格式:
tracert/ [選項] 目標地址
這兩個命令都會顯示從源設備到目標設備的每一跳的IP地址和響應時間。如果某一跳無法到達,通常會顯示超時(Request Timed Out)消息。
02示例及實際應用場景
示例1:診斷網絡路徑中的延遲
假設你訪問某個網站時速度很慢,你可以使用tracert或命令來查看數據包經過的路徑,并確定在哪一跳出現了延遲:
tracert/
通過檢查每一跳的響應時間,你可以確定延遲發生在哪一段網絡路徑中,從而針對性地進行優化或排除故障。
示例2:識別網絡中斷點
如果你無法訪問某個網站,可以使用tracert或命令來檢查網絡路徑中是否存在中斷點:
tracert/
如果某一跳顯示超時或無法到達,說明數據包在該點被阻斷。你可以聯系相關網絡管理員或服務提供商來解決該問題。
03 常用參數選項:
-d:不進行域名解析,直接顯示IP地址。用于加快命令執行速度。
-h :設置最大的跳數。用于限制命令的執行范圍。
-w timeout:設置每一跳的等待超時時間(毫秒)。用于調整響應時間要求。
-I:在Linux中使用ICMP ECHO進行路徑跟蹤(默認使用UDP數據包)。
-T:在Linux中使用TCP SYN數據包進行路徑跟蹤。用于穿透防火墻或其他網絡限制。
03 /
和是網絡配置和管理中非常重要的命令行工具。它們允許網絡工程師查看和配置網絡接口的詳細信息,包括IP地址、子網掩碼、網關以及DNS服務器等。
01如何查看和管理網絡接口配置信息
查看網絡接口信息:
這個命令將顯示所有網絡接口的配置信息,包括IP地址、子網掩碼和默認網關。
刷新和重置網絡接口:
在Windows中,使用以下命令來刷新DNS緩存和重置網絡接口:
/
/release
/renew
在Linux中,可以使用以下命令來重新啟動網絡接口:
sudo eth0 down
sudo eth0 up
02實際應用及常見問題解決
示例1:查看IP地址和網絡信息
在Windows中,你可以使用以下命令查看本地網絡接口的詳細信息:
/all
這個命令將顯示每個網絡接口的詳細配置信息,包括IP地址、子網掩碼、默認網關、DHCP服務器和DNS服務器。
在Linux中,你可以使用以下命令查看所有網絡接口的詳細信息:
-a
這個命令將顯示每個網絡接口的詳細信息,包括IP地址、子網掩碼、MAC地址和狀態信息(啟用或禁用)。
示例2:診斷網絡連接問題
在Windows中,如果你遇到網絡連接問題,可以使用以下命令來釋放和更新IP地址:
/release /renew
這些命令將釋放當前的IP地址,并從DHCP服務器獲取新的IP地址,從而解決可能的網絡配置問題。
在Linux中,你可以重新啟動網絡接口來解決網絡連接問題:
sudo eth0 down sudo eth0 up
這些命令將禁用并重新啟用網絡接口,從而解決可能的連接問題。
示例3:配置靜態IP地址
在Windows中,你可以使用網絡適配器設置來配置靜態IP地址:
netsh ip set address static 192.168.1.100 255.255.255.0 192.168.1.1
這個命令將網絡適配器“Local Area ”的IP地址設置為192.168.1.100,子網掩碼為255.255.255.0,默認網關為192.168.1.1。
在Linux中,你可以編輯網絡配置文件來配置靜態IP地址:
sudo nano /etc/network/
在文件中添加以下內容:
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
保存并退出,然后重新啟動網絡服務:
sudo /etc/init.d/ restart
通過掌握和命令,網絡工程師可以更高效地管理和配置網絡接口,從而確保網絡的正常運行和性能優化。
04 /dig
和dig是用于DNS查詢的命令行工具。它們允許網絡工程師查找域名的IP地址,驗證DNS記錄,以及解決與DNS相關的問題。
(Windows和Linux):用于查詢DNS服務器并獲取域名的相關信息。適用于快速查詢和簡單的DNS測試。
dig(Linux):更強大的DNS查詢工具,提供詳細的DNS信息和更豐富的參數選項,適合深入分析和排查DNS問題。
01實際案例及應用
示例1:查詢域名的A記錄
使用查詢域名的A記錄:
這個命令將返回的IP地址,幫助你驗證該域名是否正確解析到相應的服務器。
使用dig查詢域名的A記錄:
dig
這個命令將返回的詳細DNS信息,包括A記錄及其他相關記錄。
示例2:查詢特定DNS記錄類型
使用查詢MX記錄(郵件交換記錄):
-query=mx
這個命令將返回的郵件服務器信息,幫助你驗證郵件系統配置。
使用dig查詢MX記錄:
dig MX
這個命令將返回的詳細郵件服務器信息。
示例3:使用dig進行反向DNS查詢
反向DNS查詢用于查找IP地址對應的域名。使用dig進行反向查詢:
dig -x 8.8.8.8
這個命令將返回IP地址8.8.8.8對應的域名,幫助你確認該IP的DNS記錄。
示例4:使用檢查特定DNS服務器
如果你想查詢特定DNS服務器上的記錄,可以使用指定服務器:
8.8.8.8
這個命令將使用Google的DNS服務器(8.8.8.8)進行查詢,返回的DNS信息。
02 的常用參數選項:
的常用參數選項:
-query=type:指定查詢的記錄類型(如A、MX、NS等)。
-timeout=seconds:指定查詢的超時時間。
-retry=number:指定重試次數。
dig的常用參數選項:
+short:只顯示簡短的結果。
+trace:跟蹤整個DNS查詢路徑,顯示所有中間DNS服務器的信息。
+noall +answer:僅顯示查詢的回答部分,去除多余的信息。
05 netstat
netstat(網絡統計)是一個非常強大的命令行工具,用于顯示網絡連接、路由表、接口統計、偽裝連接和多播成員等信息。它可以幫助網絡工程師監控和診斷網絡狀態,識別網絡問題,并查看系統的網絡活動。
01如何查看網絡連接和監聽端口
基本命令格式:
netstat [選項]
這個命令將顯示當前所有的活動網絡連接,包括TCP和UDP協議的連接。
02 實際應用及故障排除案例
示例1:查看所有活動的網絡連接
使用以下命令查看當前所有活動的網絡連接:
netstat -a
這個命令將顯示系統上所有的活動連接和監聽端口,包括TCP和UDP協議。
示例2:查看特定端口的監聽狀態
如果你想查看特定端口的監聽狀態,可以使用以下命令:
netstat -an | grep 80
這個命令將顯示所有在80端口上的監聽和活動連接狀態,有助于確定Web服務器是否正常運行。
示例3:查看網絡連接的程序名稱
要查看網絡連接的程序名稱,可以使用以下命令(在Windows中):
netstat -b
這個命令將顯示每個網絡連接關聯的可執行程序名,幫助你識別哪個應用程序正在使用網絡資源。
在Linux中,可以結合ps和lsof命令來實現類似功能:
sudo netstat -tulpn
這個命令將顯示所有的監聽端口及其關聯的程序PID和名稱。
示例4:查看路由表
要查看系統的路由表,可以使用以下命令:
netstat -r
這個命令將顯示當前的路由表信息,包括網絡目的地、網關和接口等。
03 常用參數選項:
-a:顯示所有連接和監聽端口。
-n:以數字形式顯示地址和端口號,而不是嘗試將其解析為域名或服務名稱。
-t:僅顯示TCP協議的連接。
-u:僅顯示UDP協議的連接。
-p:顯示每個連接關聯的進程ID和進程名稱(需要root權限)。
-s:顯示網絡統計信息,包括每個協議的統計數據。
-r:顯示路由表信息。
-i:顯示網絡接口的統計信息。
-c:每隔一定時間重復執行netstat命令,實時顯示網絡狀態(Linux)。
06 nbtstat
nbtstat命令用于顯示NetBIOS over TCP/IP協議的統計信息。它主要用于診斷和解決NetBIOS名稱解析問題,以及查看本地和遠程計算機上的NetBIOS緩存。
01如何查看網絡連接和監聽端口
基本命令格式:
netstat [選項]
02實際應用及故障排除案例
示例1:查看本地NetBIOS名稱表
使用以下命令查看本地計算機的NetBIOS名稱表:
nbtstat -n
這個命令將顯示本地NetBIOS名稱表,包括已注冊的NetBIOS名稱和類型。
示例2:查看遠程NetBIOS名稱表
要查看遠程計算機的NetBIOS名稱表,可以使用以下命令:
nbtstat -A 192.168.1.1
這個命令將顯示IP地址為192.168.1.1的計算機的NetBIOS名稱表。
示例3:清除和刷新NetBIOS名稱緩存
當NetBIOS名稱解析出現問題時,可以使用以下命令清除和刷新本地NetBIOS名稱緩存:
nbtstat -R
這個命令將清除NetBIOS名稱緩存并重新加載LMHOSTS文件。
03常用參數選項
-a:顯示指定計算機的NetBIOS名稱表。
-A:通過IP地址顯示遠程計算機的NetBIOS名稱表。
-n:顯示本地NetBIOS名稱表。
-r:顯示NetBIOS名稱解析統計信息。
-R:清除和刷新NetBIOS名稱緩存。
-S:顯示當前的NetBIOS會話。
-s:顯示NetBIOS會話,并嘗試將遠程計算機的IP地址解析為名稱。
07 arp
arp(地址解析協議)命令用于顯示和修改本地ARP緩存表。ARP協議將IP地址解析為MAC地址,使網絡通信得以進行。網絡工程師使用arp命令來查看和管理本地設備的ARP緩存,以診斷和解決網絡通信問題。
01如何查看和管理ARP緩存
基本命令格式:
arp [選項]
02實際應用及網絡問題解決
示例1:查看本地ARP緩存表
使用以下命令查看本地ARP緩存表:
arp -a
這個命令將顯示當前所有已解析的IP地址和對應的MAC地址。
示例2:添加靜態ARP條目
要手動添加一個靜態ARP條目,可以使用以下命令:
arp -s 192.168.1.1 00-14-22-01-23-45
這個命令將IP地址192.168.1.1綁定到MAC地址00-14-22-01-23-45,防止ARP欺騙攻擊。
示例3:刪除ARP條目
當需要刪除某個ARP條目時,可以使用以下命令:
arp -d 192.168.1.1
這個命令將從ARP緩存表中刪除IP地址192.168.1.1的條目。
03常用參數選項
-a:顯示所有接口的ARP緩存。
-g:與-a選項相同,顯示ARP緩存。
-d IP地址:刪除指定IP地址的ARP條目。
-s IP地址 MAC地址:添加靜態ARP條目,將IP地址綁定到MAC地址。
08 route
route命令用于查看和修改主機的路由表。路由表決定數據包在網絡中的傳輸路徑。網絡工程師使用route命令來管理路由條目,以確保數據包能夠正確傳遞到目的地。
01如何查看和管理路由表
基本命令格式:
route [選項]
02實際應用及案例
示例1:查看路由表
使用以下命令查看當前的路由表:
route print
在Windows中,這個命令將顯示所有的路由條目,包括目標網絡、網關、接口和度量值。在Linux中,使用以下命令:
route -n
這個命令將以數字格式顯示路由表,避免域名解析,提高命令執行速度。
示例2:添加靜態路由
要向路由表中添加靜態路由條目,可以使用以下命令:
route add 192.168.2.0 mask 255.255.255.0 192.168.1.1
這個命令將添加一個靜態路由,使得到達192.168.2.0/24網絡的數據包通過網關192.168.1.1進行傳輸。在Linux中,使用以下命令:
sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
示例3:刪除靜態路由
當需要刪除某個靜態路由時,可以使用以下命令:
route delete 192.168.2.0
這個命令將從路由表中刪除到192.168.2.0網絡的路由。在Linux中,使用以下命令:
sudo route del -net 192.168.2.0 netmask 255.255.255.0
示例4:更改默認網關
要更改默認網關,可以使用以下命令:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
這個命令將默認網關設置為192.168.1.1。在Linux中,使用以下命令:
sudo route add default gw 192.168.1.1
03常用參數選項
print:顯示路由表(Windows)。
-n:以數字格式顯示路由表(Linux)。
add:添加路由條目。
delete:刪除路由條目。
change:修改現有的路由條目。
-net:指定網絡路由。
-host:指定主機路由。
gw:指定網關。
09 telnet/ssh
telnet和ssh是用于遠程登錄和管理網絡設備的命令行工具。telnet提供一個非加密的連接,而ssh則提供一個加密的、安全的連接。網絡工程師常用這些工具來遠程訪問和管理服務器、路由器、交換機等設備。
01如何使用這些命令進行遠程登錄和管理
基本命令格式:
telnet 目標地址
ssh 用戶名@目標地址
02際應用及安全性
示例1:使用telnet進行遠程登錄
使用以下命令登錄到遠程設備:
telnet 192.168.1.1
這個命令將嘗試通過telnet連接到IP地址為192.168.1.1的設備。由于telnet不加密通信數據,所以它通常只在可信的局域網環境中使用。
示例2:使用ssh進行安全的遠程登錄
使用以下命令登錄到遠程服務器:
ssh user@192.168.1.1
這個命令將通過ssh連接到IP地址為192.168.1.1的服務器,并使用指定的用戶名"user"進行登錄。ssh會加密所有通信數據,確保遠程管理的安全性。
示例3:使用密鑰認證進行ssh登錄
為了增強安全性,可以使用密鑰對進行認證:
ssh -i /path/to/ user@192.168.1.1
這個命令將使用指定的私鑰文件進行登錄,避免了使用密碼的風險。
示例4:使用ssh進行端口轉發
ssh還可以用于端口轉發,以便在安全通道內訪問內部網絡資源:
ssh -L 8080::80 user@192.168.1.1
這個命令將把本地主機的8080端口轉發到遠程服務器的80端口,允許你通過本地8080端口訪問遠程服務器上的Web服務。
03常用參數選項
telnet:
quit:退出telnet
close:關閉當前連接。
open:打開連接到指定主機。
ssh:
-i:指定私鑰文件。
-p:指定連接端口。
-L:本地端口轉發。
-R:遠程端口轉發。
-C:啟用壓縮。
-N:不執行遠程命令,僅進行端口轉發。
10 tshark/tcpdump
tshark和tcpdump是兩個強大的網絡抓包工具,用于捕獲和分析網絡流量。tshark是的命令行版本,提供了豐富的協議解碼功能。tcpdump是一個輕量級的抓包工具,適合快速捕獲和分析網絡數據包。
01實際應用及案例
示例1:捕獲網絡接口上的所有數據包
使用以下命令在默認網絡接口上捕獲所有數據包:
tcpdump
這個命令將顯示網絡接口上的所有數據包的簡要信息。
示例2:保存抓包數據到文件
要將捕獲的數據包保存到文件中,可以使用以下命令:
tcpdump -w capture.pcap
這個命令將捕獲的數據包保存到capture.pcap文件中,供后續分析使用。
示例3:使用tshark讀取并分析抓包文件
使用以下命令讀取并分析之前保存的抓包文件:
tshark -r capture.pcap
這個命令將顯示抓包文件中的數據包信息,提供詳細的協議解碼。
示例4:捕獲特定端口的流量
要捕獲特定端口(如80端口)的流量,可以使用以下命令:
tcpdump port 80
*請認真填寫需求信息,我們會在24小時內與您取得聯系。