← 返回所有文章

Ping 與 DNS 查詢

Utils系統資訊PingDNS網路LinuxWindowsmacOS作者:VincentCorgi約 1 分鐘閱讀

功能

收錄 Linux、Windows、macOSping(連通與延遲)以及 nslookup、digDNS 查詢 指令與輸出範例說明。

情境

  • 網站或 API 連不上時,先確認是 網路斷線DNS 解析錯誤 還是 對方服務問題;腳本裡要簡短查 A 記錄可用 dig +short

Linux

Code
ping -c 4 <ip_or_hostname>

-c 4 只送 4 個封包後結束;可改成主機名或其它 IP,用來測網路是否通、延遲與遺失率。

Code
nslookup <domain>

查詢網域對應的 IP(A 記錄)與 DNS 伺服器;互動式可改 server 或查其它類型。

Code
dig <domain> +short

+short 只輸出解析結果(通常為 A 記錄 IP),適合腳本;不加則輸出完整 DNS 回應。

Ping 輸出範例:

Code
--- <ip_or_hostname> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms

dig +short 輸出範例:

Code
<resolved_ip>

Windows

Code
Test-Connection -Count 4 <ip_or_hostname>

PowerShell 內建 ping,-Count 4 送 4 次;可改用 -ComputerName 主機名或 IP。

Code
Resolve-DnsName <domain>

查詢網域的 DNS 記錄(A、AAAA、NS 等);輸出包含 IP、TTL、類型,可加 -Type A 只查 IPv4。

Resolve-DnsName 輸出範例:

Code
Name                           Type   TTL   Section    IPAddress
----                           ----   ---   -------    ---------
<domain>                        A      <ttl>   Answer     <resolved_ip>
Code
nslookup <domain>

傳統 CMD 的 DNS 查詢工具,不需 PowerShell 模組,互動式可換 DNS server。

Test-Connection 輸出範例:

Code
Source        Destination     Address         Latency
------        -----------     -------
<hostname>     <ip>            <ip>             <latency_ms>

macOS

Code
ping -c 4 <ip_or_hostname>

與 Linux 相同;-c 4 送 4 個封包後停止,可測連線與延遲。

Code
nslookup <domain>

查詢網域對應 IP 與使用的 DNS 伺服器;語法與 Linux 相同。

Code
dig <domain> +short

若已安裝(內建或 Homebrew),+short 只輸出解析到的 IP,方便腳本。

ping 輸出範例:

Code
--- <ip_or_hostname> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3012 ms

dig +short 輸出範例:

Code
<resolved_ip>