看見網路的旅行:ping、tracert、ipconfig與nslookup實作
從自己的電腦出發,找出網路身分、測試連線、追蹤封包路徑,並觀察網域名稱如何轉換成IP位址。
我們每天打開瀏覽器、輸入網址,就能看到遠端網站,但網頁並不是直接「出現在」電腦裡。資料必須先取得網路設定、找到出口、經過多部路由器,最後才抵達網站伺服器。本篇將使用Windows內建的四項工具,帶領大一與專一學生實際觀察這個過程。
- 使用
ipconfig查詢本機IP、子網路遮罩、閘道器與DNS。 - 使用
ping測試目的主機是否可達及觀察延遲。 - 使用
tracert追蹤封包經過的路由節點。 - 使用
nslookup查詢網域名稱、IP與MX郵件記錄。 - 從本機IP與對外IP的差異判斷是否可能經過NAT。
一、開始之前:開啟命令提示字元
- 按下鍵盤上的 Windows鍵。
- 輸入「命令提示字元」或
cmd。 - 開啟命令提示字元,不需要使用系統管理員身分。
畫面會出現類似下列提示符號:
C:\Users\student>
二、ipconfig:找出電腦的網路身分
ipconfig 是Windows的網路設定查詢工具。它能顯示電腦目前取得的IPv4位址、子網路遮罩與預設閘道器。
ipconfig
若要查看更完整的資訊,可以輸入:
ipconfig /all
| 欄位 | 作用 | 生活化比喻 |
|---|---|---|
| IPv4位址 | 辨識網路中的電腦 | 門牌號碼 |
| 子網路遮罩 | 判斷哪些裝置位於同一網段 | 行政區範圍 |
| 預設閘道 | 前往其他網路的出口 | 社區大門 |
| DNS伺服器 | 將網域名稱查成IP位址 | 網際網路電話簿 |
| 實體位址 | 網路介面的MAC位址 | 網路卡識別碼 |
| DHCP | 自動提供IP等網路設定 | 自動發門牌 |
認識私有IPv4位址
若本機IPv4位址位於下列範圍,表示它是供內部網路使用的私有IP:
10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255192.168.0.0~192.168.255.255
注意:192.192.x.x不是私有IP;不能只看到「192」開頭就判定為私有位址。
三、ping:測試是否能與目的主機通訊
ping會向目的主機送出測試封包,並觀察是否收到回應。它常用來檢查基本連線與往返延遲。
ping www.google.com
執行結果通常包含:
- 位元組:測試封包的資料量。
- 時間:封包送出並收到回應所需的往返時間,單位是毫秒(ms)。
- TTL:封包還可經過多少個路由節點,用來避免封包無限循環。
- 已傳送、已收到、已遺失:用來計算封包遺失率。
也可以先測試預設閘道,再測試外部網站:
ping 你的預設閘道IP
ping www.nfu.edu.tw
ping www.google.com
部分伺服器或防火牆會阻擋ping使用的ICMP封包,但網站的HTTP或HTTPS服務仍可能正常開啟。
四、tracert:追蹤資料封包的旅行路線
tracert會顯示封包到達目的主機前經過的路由節點。在Windows使用 tracert;Linux與macOS通常使用 traceroute。
tracert www.google.com
可能看到如下結果:
1 7 ms 7 ms 6 ms 10.200.200.200
2 16 ms 16 ms 15 ms router.example.edu.tw [120.xxx.xxx.xxx]
3 22 ms 24 ms 25 ms 140.xxx.xxx.xxx
...
10 27 ms 27 ms 27 ms 142.xxx.xxx.xxx
| 畫面內容 | 意義 |
|---|---|
| 最左邊的數字 | 第幾個躍點(Hop) |
| 三個ms數值 | 三次測試的往返時間 |
| 主機名稱 | 路由節點的反向DNS名稱;不一定每站都有 |
| IP位址 | 該路由節點回應時所使用的位址 |
* | 該次測試在期限內未收到回應 |
各站時間不一定一路增加。網路負載、回程路線與路由器回應測試封包的優先順序都會造成差異,因此不能把每一站的毫秒數相加。
人在家中,為什麼路徑可能經過學校?
如果電腦正在使用學校VPN,網路封包可能先建立加密通道回到學校,再由校園出口前往Google。另一種情況是:使用者正在遠端控制學校電腦,實際執行指令的是校內電腦。因此,「人所在的位置」和「網路封包的出口」不一定相同。
五、nslookup:查詢DNS網域名稱
人比較容易記住 www.google.com,電腦傳輸時則需要IP位址。DNS負責將網域名稱轉換成IP位址,而 nslookup可以觀察這個查詢結果。
nslookup www.google.com
查詢結果通常會包含:
- 目前使用的DNS伺服器。
- DNS伺服器的IP位址。
- 查詢網域所對應的一個或多個IPv4/IPv6位址。
查詢MX郵件伺服器
MX(Mail Exchanger)記錄指出某個網域應該由哪一部郵件伺服器接收電子郵件。
nslookup
> set type=MX
> nfu.edu.tw
也可以直接使用單行指令:
nslookup -type=MX nfu.edu.tw
若一個網域有多筆MX記錄,通常優先值越小,使用順序越前面;主要伺服器無法服務時,寄件端才會嘗試其他郵件伺服器。
六、電腦教室會有NAT嗎?
多數電腦教室可能使用NAT,但NAT設備通常位於校園核心路由器或防火牆,而不是放在每一間教室。NAT可以讓多部使用私有IP的電腦共用一個或少量公有IPv4位址連上網際網路。
判斷方式:
- 使用
ipconfig查詢本機IPv4位址。 - 用瀏覽器搜尋「我的IP」,查詢網站看到的對外IP。
- 如果本機是私有IP,而網站看到不同的公有IP,表示中間很可能經過NAT。
七、四項工具的使用順序
| 步驟 | 工具 | 要回答的問題 |
|---|---|---|
| 1 | ipconfig | 我的電腦取得哪些網路設定? |
| 2 | ping | 我能否與目的主機進行基本通訊? |
| 3 | tracert | 封包經過哪些路由節點? |
| 4 | nslookup | 網域名稱解析成哪些IP或郵件伺服器? |
八、個人實作任務
請每位學生選擇一個合法且公開的網站,完成下列操作:
ipconfig /all
ping 網域名稱
tracert 網域名稱
nslookup 網域名稱
nslookup -type=MX 網域名稱
將結果整理成下表:
| 觀察項目 | 紀錄結果 |
|---|---|
| 本機IPv4位址 | |
| 預設閘道 | |
| DNS伺服器 | |
| 目的網站與IP | |
| ping平均延遲與遺失率 | |
| tracert躍點數 | |
| MX郵件伺服器 | |
| 是否可能使用NAT |
九、思考與討論
- 網域名稱與IP位址有什麼不同?為什麼需要DNS?
ping失敗時,為什麼網站仍可能正常開啟?tracert中的三個時間為什麼不完全相同?- 為什麼後面的躍點有時比前面的躍點回應更快?
- 同一間電腦教室的多部電腦,對外IP為什麼可能相同?
- 人在家中上網時,什麼情況會讓封包先經過學校網路?
- MX記錄和一般網站的IP查詢有什麼不同?
十、資安與隱私提醒
- 只測試教師指定、本人管理或公開合法的網站。
- 不要掃描整個校園網段,也不要嘗試未授權的連接。
- 繳交報告時,MAC位址可遮蔽後三組,例如
A4-B1-C2-XX-XX-XX。 - IP、主機名稱與路由可能隨時間改變,報告應註明測試日期與網路環境。
ipconfig讓我們知道「我是誰、出口在哪裡」;ping回答「能不能到達」;tracert呈現「經過哪些路」;nslookup則說明「網域名稱如何找到伺服器」。把四項工具串在一起,就能從看似抽象的網際網路原理,建立一套可以實際操作與驗證的網路診斷流程。
沒有留言:
張貼留言