來自:http://blog.sina.com.cn/s/blog_672b409101012vpo.html
本實驗部分內容摘自:陳鳴,計算機網路實驗教程從原理到實踐,機械工業出版社。
註:本文以Windows為例子,Linux有對應類似的命令
1.ping命令
ping是個使用頻率極高的實用程式,主要用於確定網路的連通性。這對確定網路是否正確連線,以及網路連線的狀況十分有用。簡單的說,ping就是一個測試程式,如果ping執行正確,大體上就可以排除網路訪問層、網絡卡、Modem的輸入輸出線路、電纜和路由器等存在的故障,從而縮小問題的範圍。
ping能夠以毫秒為單位顯示傳送請求到傳回應答之間的時間量。如果應答時間短,表示資料報不必透過太多的路由器或網路,連線速度比較快。ping還能顯示TTL(Time To Live,生存時間)值,透過TTL值可以推算資料包透過了多少個路由器。
(1) 命令格式
ping 主機名
ping 域名
ping IP地址
如圖所示,使用ping命令檢查到IP地址210.43.16.17的計算機的連通性,該例為連線正常。共發送了四個測試資料包,正確接收到四個資料包。
(2) ping命令的基本應用
一般情況下,使用者可以透過使用一系列ping命令來查詢問題出在什麼地方,或檢驗網路執行的情況。
下麵就給出一個典型的檢測次序及對應的可能故障:
① ping 127.0.0.1
如果測試成功,表明網絡卡、TCP/IP協議的安裝、IP地址、子網掩碼的設定正常。如果測試不成功,就表示TCP/IP的安裝或設定存在有問題。
② ping 本機IP地址
如果測試不成功,則表示本地配置或安裝存在問題,應當對網路裝置和通訊介質進行測試、檢查併排除。
③ ping區域網內其他IP
如果測試成功,表明本地網路中的網絡卡和載體執行正確。但如果收到0個回送應答,那麼表示子網掩碼不正確或網絡卡配置錯誤或電纜系統有問題。
④ ping 閘道器IP
這個命令如果應答正確,表示區域網中的閘道器路由器正在執行並能夠做出應答。
⑤ ping 遠端IP
如果收到正確應答,表示成功的使用了預設閘道器。對於撥號上網使用者則表示能夠成功的訪問Internet(但不排除ISP的DNS會有問題)。
⑥ ping localhost
local host是系統的網路保留名,它是127.0.0.1的別名,每臺計算機都應該能夠將該名字轉換成該地址。否則,則表示主機檔案(/Windows/host)中存在問題。
⑦ ping www.yahoo.com(一個著名網站域名)
對此域名執行Ping命令,計算機必須先將域名轉換成IP地址,通常是透過DNS伺服器。如果這裡出現故障,則表示本機DNS伺服器的IP地址配置不正確,或它所訪問的DNS伺服器有故障
如果上面所列出的所有ping命令都能正常執行,那麼計算機進行本地和遠端通訊基本上就沒有問題了。但是,這些命令的成功並不表示你所有的網路配置都沒有問題,例如,某些子網掩碼錯誤就可能無法用這些方法檢測到。
(3)ping命令的常用引數選項
ping IP -t:連續對IP地址執行ping命令,直到被使用者以Ctrl+C中斷。
ping IP -l 2000:指定ping命令中的特定資料長度(此處為2000位元組),而不是預設的32位元組。
ping IP -n 20:執行特定次數(此處是20)的ping命令。
註意:隨著防火牆功能在網路中的廣泛使用,當你ping其他主機或其他主機ping你的主機時,而顯示主機不可達的時候,不要草率地下結論。最好與對某臺“設定良好”主機的ping結果進行對比。
2. ipconfig命令
ipconfig實用程式可用於顯示當前的TCP/IP配置的設定值。這些資訊一般用來檢驗人工配置的TCP/IP設定是否正確。
而且,如果計算機和所在的區域網使用了動態主機配置協議DHCP,使用ipconfig命令可以瞭解到你的計算機是否成功地租用到了一個IP地址,如果已經租用到,則可以瞭解它目前得到的是什麼地址,包括IP地址、子網掩碼和預設閘道器等網路配置資訊。
下麵給出最常用的選項:
(1)ipconfig:當使用不帶任何引數選項ipconfig命令時,顯示每個已經配置了的介面的IP地址、子網掩碼和預設閘道器值。
(2)ipconfig /all:當使用all選項時,ipconfig能為DNS和WINS伺服器顯示它已配置且所有使用的附加資訊,並且能夠顯示內建於本地網絡卡中的物理地址(MAC)。如果IP地址是從DHCP伺服器租用的,ipconfig將顯示DHCP伺服器分配的IP地址和租用地址預計失效的日期。圖為執行ipconfig /all命令的結果視窗。
(3)ipconfig /release和ipconfig /renew:這兩個附加選項,只能在向DHCP伺服器租用IP地址的計算機使用。如果輸入ipconfig /release,那麼所有介面的租用IP地址便重新交付給DHCP伺服器(歸還IP地址)。如果使用者輸入ipconfig /renew,那麼本地計算機便設法與DHCP伺服器取得聯絡,並租用一個IP地址。大多數情況下網絡卡將被重新賦予和以前所賦予的相同的IP地址。
3. arp命令(地址轉換協議)
ARP是TCP/IP協議族中的一個重要協議,用於確定對應IP地址的網絡卡物理地址。
使用arp命令,能夠檢視本地計算機或另一臺計算機的ARP高速快取中的當前內容。此外,使用arp命令可以人工方式設定靜態的網絡卡物理地址/IP地址對,使用這種方式可以為預設閘道器和本地伺服器等常用主機進行本地靜態配置,這有助於減少網路上的資訊量。
按照預設設定,ARP高速快取中的專案是動態的,每當向指定地點傳送資料並且此時高速快取中不存在當前專案時,ARP便會自動新增該專案。
常用命令選項:
① arp –a:用於檢視高速快取中的所有專案。
② arp -a IP:如果有多個網絡卡,那麼使用arp -a加上介面的IP地址,就可以只顯示與該介面相關的ARP快取專案。
③ arp -s IP 物理地址:向ARP高速快取中人工輸入一個靜態專案。該專案在計算機引導過程中將保持有效狀態,或者在出現錯誤時,人工配置的物理地址將自動更新該專案。
④ arp -d IP:使用本命令能夠人工刪除一個靜態專案。
4. traceroute命令
掌握使用traceroute命令測量路由情況的技能,即用來顯示資料包到達目的主機所經過的路徑。
traceroute命令的基本用法是,在命令提示符後鍵入“tracert host_name”或“tracert ip_address”,其中,tracert是traceroute在Windows作業系統上的稱呼。
輸出有5列:
第一列是描述路徑的第n跳的數值,即沿著該路徑的路由器序號;
第二列是第一次往返時延;
第三列是第二次往返時延;
第四列是第三次往返時延;
第五列是路由器的名字及其輸入埠的IP地址。
如果源從任何給定的路由器接收到的報文少於3條(由於網路中的分組丟失),traceroute在該路由器號碼後面放一個星號,並報告到達那臺路由器的少於3次的往返時間。
此外,tracert命令還可以用來檢視網路在連線站點時經過的步驟或採取哪種路線,如果是網路出現故障,就可以透過這條命令查看出現問題的位置。
思考【測試大型網路的路由】:
(1)多嘗試幾次“ping www.sina.com.cn”操作,比較得到的新浪網的IP地址。如果兩次ping得到的IP地址不同,試考慮其中的原因(如考慮到負載均衡)。然後,針對這些不同的IP地址,執行“tracert ip_address”命令,觀察分析輸出的結果是否有差異。
(2)對於大型網路中的某站點進行traceroute測試,記錄測試結果。觀察其中是否出現第n跳的時延小於第n-1跳的時延情況。試分析其中原因(提示:可分別考慮時延的各個構成成分在總時延中所起的作用)。
(3)在一天的不同時段內,用traceroute程式多次測試從固定主機到遠端固定IP地址的主機的路由。試分析比較測量資料,觀察該路由是否有變化?如果有變化,該變化頻繁嗎?
5. route命令
大多數主機一般都是駐留在只連線一臺路由器的網段上。由於只有一臺路由器,因此不存在選擇使用哪一臺路由器將資料包傳送到遠端計算機上去的問題,該路由器的IP地址可作為該網段上所有計算機的預設閘道器。
但是,當網路上擁有兩個或多個路由器時,使用者就不一定想只依賴預設閘道器了。實際上可能想讓某些遠端IP地址透過某個特定的路由器來傳遞,而其他的遠端IP則透過另一個路由器來傳遞。在這種情況下,使用者需要相應的路由資訊,這些資訊儲存在路由表中,每個主機和每個路由器都配有自己獨一無二的路由表。大多數路由器使用專門的路由協議來交換和動態更新路由器之間的路由表。但在有些情況下,必須人工將專案新增到路由器和主機上的路由表中。route命令就是用來顯示、人工新增和修改路由表專案的。該命令可使用如下選項:
(1)route print:本命令用於顯示路由表中的當前專案,在單個路由器網段上的輸出結果如圖所示。
(2)route add:使用本命令,可以將路由專案新增給路由表。
例如,如果要設定一個到目的網路209.99.32.33的路由,其間要經過5個路由器網段,首先要經過本地網路上的一個路由器IP為202.96.123.5,子網掩碼為255.255.255.224,那麼使用者應該輸入以下命令:
route add 209.99.32.33 mask 255.255.255.224 202.96.123.5 metric 5
(3)route change:可以使用本命令來修改資料的傳輸路由,不過,使用者不能使用本命令來改變資料的目的地。下麵這個例子將上例路由改變採用一條包含3個網段的路徑:
route add 209.99.32.33 mask 255.255.255.224 202.96.123.250 metric 3
(4)route delete 使用本命令可以從路由表中刪除路由。例如:route delete 209.99.32.33
6. nslookup命令
命令nslookup的功能是查詢任何一臺機器的IP地址和其對應的域名。它通常需要一臺域名伺服器來提供域名。如果使用者已經設定好域名伺服器,就可以用這個命令檢視不同主機的IP地址對應的域名。
(1)在本地機上使用nslookup命令檢視本機的IP及域名伺服器地址。
直接鍵入命令,系統傳回本機的伺服器名稱(帶域名的全稱)和IP地址,併進入以“>”為提示符的操作命令列狀態;鍵入“?”可查詢詳細命令引數;若要退出,需鍵入exit。
(2)檢視www.haut.edu.cn的IP。在提示符後輸入要查詢的IP地址或域名並回車即可。
7. nbtstat命令
使用nbtstat命令可以檢視計算機上網路配置的一些資訊。使用這條命令還可以查找出別人計算機上一些私人資訊。如果想檢視自己計算機上的網路資訊,可以執行nbtstat -n,可以得到你所在的工作組,計算機名以及網絡卡地址等等;想檢視網路上其他的電腦情況,就,執行nbtstat -a *.*.*.*,此處的*.*.*.*用IP地址代替就會傳回得到那臺主機上的一些資訊。
8. netstat命令
學習使用netstat命令,以瞭解網路當前的狀態。
netstat命令能夠顯示活動的TCP連線、計算機偵聽的埠、乙太網統計資訊、IP路由表、IPv4統計資訊(對於IP、ICMP、TCP和UDP協議)以及IPv6統計資訊(對於IPv6、ICMPv6、透過IPv6的TCP以及UDP協議)。使用時如果不帶引數,netstat顯示活動的TCP連線。
下麵給出netstat的一些常用選項:
① netstat –a:-a選項顯示所有的有效連線資訊串列,包括已建立的連線(ESTABLISHED),也包括監聽連線請求(LISTENING)的那些連線。
② netstat –n:以點分十進位制的形式列出IP地址,而不是象徵性的主機名和網路名。
③ netstat -e:-e選項用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料包的總位元組數、錯誤數、刪除數、資料包的數量和廣播的數量。這些統計資料既有傳送的資料包數量,也有接收的資料包數量。使用這個選項可以統計一些基本的網路流量。
④ netstat -r:-r選項可以顯示關於路由表的資訊,類似於route print命令時看到的資訊。除了顯示有效路由外,還顯示當前有效的連線。
上圖顯示的是一個路由表,其中:Network Destination表示目的網路,0.0.0.0表示不明網路,這是設定預設閘道器後系統自動產生的;127.0.0.0表示本機網路地址,用於測試;224.0.0.0表示組播地址;255.255.255.255表示限制廣播地址;Netmask表示網路掩碼,Gateway表示閘道器,Interface表示介面地址,Metric表示路由跳數。
⑤ netstat -s:-s選項能夠按照各個協議分別顯示其統計資料。這樣就可以看到當前計算機在網路上存在哪些連線,以及資料包傳送和接收的詳細情況等等。如果應用程式(如Web瀏覽器)執行速度比較慢,或者不能顯示Web頁之類的資料,那麼可以用本選項來檢視一下所顯示的資訊。仔細檢視統計資料的各行,找到出錯的關鍵字,進而確定問題所在。
9. net命令
瞭解Net服務的功能,學會使用Net服務命令解決有關網路問題。
在命令列鍵入net help command,可以在命令列獲得net命令的語法幫助。例如,要得到關於net accounts命令的幫助資訊,可鍵入“net help accounts”。
所有net命令都可以使用/y和/n命令列選項。例如,net stop server命令用於提示使用者確認停止所有依賴的伺服器服務,net stop server/y表示確認停止並關閉伺服器服務。
下表列出了基本的NET命令及它們的作用:
命令 | 例子 | 作用 |
NET ACCOUNTS | NET ACCOUNTS | 查閱當前賬號設定 |
NET CONFIG | NET CONFIG SERVER | 查閱本網路配置資訊統計 |
NET GROUP | NET GROUP | 查閱域組(在域控制器上) |
NET PRINT | NET PRINTprintserverprinter1 | 查閱或修改印表機對映 |
NET SEND | NET SEND server1 “test message” | 向別的計算機傳送訊息或廣播訊息 |
NET SHARE | NET SHARE | 查閱本地計算機上共享檔案 |
NET START | NET START Messenger | 啟動服務 |
NET STATISTICS | NET STATISTICS SERVER | 查閱網路流量統計值 |
NET STOP | NET STOP Messenger | 停止服務 |
NET USE | NET USE x:server1admin | 將網路共享檔案對映到一個驅動器字母 |
NET USER | NET USER | 查閱本地使用者賬號 |
NET VIEW | NET VIEW | 查閱網路上可用計算機 |
NET命令可以在一個地方提供所有資訊,並可以把結果重定向到印表機或一個標準的文字檔案中。
許多服務所使用的網路命令都以net開頭,這些net命令有一些公用屬性。要看到所有可用的net命令的串列,可以在命令提示符視窗鍵入net/?得到。
●編號199,輸入編號直達本文
●輸入m獲取文章目錄
Linux學習
更多推薦《18個技術類微信公眾號》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。