# 一些常見的網路操作指令 [TOC] Hello Guys, I'm LukeTseng. 本篇將來介紹一些常見的網路操作指令,如 ping、nslookup 等等,若本篇文章有誤,歡迎各位指正,若你也喜歡這篇文章,不妨按下愛心跟追蹤我的個人頁面吧! 另外本篇文章主要針對上課內容製作筆記,斟酌參考~ ## 測試連線、發送封包:ping Windows:預設發送 4 個 ICMP 封包後自動停止。 Linux:預設會持續不斷地每秒發送一個封包,直到按下 Ctrl+C 終止。 ### 封包數量控制 Windows:用參數 `-n` 指定次數。 ```bash ping -n 10 www.google.com ``` Linux:用參數 `-c` 指定次數。 ```bash ping -c 10 www.google.com ``` ### 不斷的 ping Windows 需要再加上 `-t` 參數才能持續的 ping 別人: ```bash ping -t www.google.com ``` Linux 預設就是了,所以不用。 ### 封包大小差異 Windows: - 預設封包大小 32 bytes。 - 用 `-I` 參數指定大小:`ping -I 800 www.google.com` Linux: - 預設封包大小 64 bytes。 - 用 `-s` 參數指定大小:`ping -s 800 www.google.com` ### Linux 設定封包送出間隔時間 用參數 `-i`,如 `ping -i 0.4` 就是每 0.4 秒發送一次。 ## 查詢 DNS 紀錄:nslookup 在 Linux 中或許需要手動安裝:`apt install dnsutils` 當直接輸入 `nslookup` 時,會出現互動模式。 Windows: - 進入互動模式後,提示符號為 `>`。 - 預設伺服器資訊顯示較詳細。 Linux: - 互動模式提示符號相同。 - 輸出格式略有不同,但內容一致。 基本用法(兩個 OS 是一樣的): ``` # 查詢 A 記錄 nslookup www.google.com # 指定 DNS 伺服器查詢 nslookup www.google.com 8.8.8.8 # 查詢特定記錄類型(互動模式) > set type=MX > google.com ``` ## 查看網路設定:ipconfig / ifconfig / ip - 用途:查看 IP address、子網路遮罩、預設閘道等網路設定。 - 參數:常用的有 `ipconfig /all`(顯示詳細資訊)、`ipconfig /renew`(重新取得 DHCP IP)、`ipconfig /release`(釋放 IP) 在 Windows 中叫做 `ipconfig`。 而在 Linux 中叫做 `ifconfig` 或 `ip`: - `ifconfig` 是傳統的指令。 - `ip addr` 或 `ip a` 是比較新的指令。 - 使用 `ip addr show` 可顯示所有網路介面資訊。 ## 查看網路連線狀態:netstat / ss - 用途:顯示網路連線、路由(route)表、網路介面統計資料。 - 參數:常用的有 `netstat -r`(路由表)、`netstat -an`(所有連線和監聽端口) Windows 中叫做 `netstat`。 在 Linux 也叫做 `netstat`,而 `ss` 也可以: - `ss` 是比較新的替代工具,速度更快。 - 如用 `ss -tuin` 可顯示所有 TCP / UDP 監聽端口。 ## 路由追蹤:tracert / traceroute - 用途:追蹤封包(packet)到達目的地經過的路由路徑。 - 僅支援 ICMP 協定。(Windows 的部分) 在 Windows 中叫做 `tracert`,使用方式如:`tracert www.google.com`,就是在指令後面加上一個網址。 Linux 中叫 `traceroute`: - 預設用 UDP 封包,也可以選擇 ICMP 或 TCP。 - 如 `traceroute -I www.google.com` 就使用了 ICMP。 ## 進階網路測試:pathping / curl Windows:`pathping` - 用途:結合 `ping` 跟 `tracert` 功能,可分析路徑中的丟包率。 - 使用方式如 `pathping www.google.com` Linux:`curl`、`telnet`、`netcat`。 - `curl`:測試 HTTP / HTTPS 連線。 - `telnet`:測試特定端口(Port)是否開啟。 - `netcat`:縮寫為 `nc` 多功能網路工具,可用於 Port 掃描、資料傳輸等。 ## 參考資料 [Windows 網路常用命令](https://www.tsnien.idv.tw/Manager_WebBook/chap3/3-5%20%E7%B6%B2%E8%B7%AF%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%20-%20Windows.html) [我是艾力克斯.艾力克斯是我: 常用指令 Windows Command - ipconfig, ping, tracert, nslookup, net, netsh, dcdiag](https://iamalexli.blogspot.com/2017/08/windows-command.html) [CMD常用網管指令](https://icodding.blogspot.com/2015/07/cmd_4.html) [網路相關指令速查表-JackKuo's Blog](https://jackkuo.org/post/network_command_cheatsheet/) [Linux 上的各種測試目標網路的指令: ping, telnet, curl, netcat - Bingdoal's Note](https://bingdoal.github.io/linux/2023/05/network-test-cmd-in-linux/) [Ping 指令用法教學:檢查網路連線狀態與品質 – G. T. Wang](https://blog.gtwang.org/linux/windows-linux-ping-command-tutorial/)