客服問你「目前 IP 是多少」時,直接貼出第一個看到的數字,常常會答錯。電腦可能同時有 Wi-Fi、乙太網路、VPN、虛擬網卡、IPv4 與 IPv6;而電腦的本機 IP,也不一定是網站或外部服務看到的公網出口 IP。
這篇用 Windows 與 Linux 的只讀指令,帶你查出:
- 目前連線介面的本機 IP。
- Default Gateway 與實際出口介面。
- 到指定目的地會走哪條路由。
- 私有 IP、公網 IP、loopback、link-local、NAT 與 CGNAT 的差異。
所有主要查詢指令都不會修改設定。文末也會說明哪些看似方便的指令可能讓遠端連線中斷。
先分清楚你要查哪一種 IP
| 名稱 | 代表什麼 | 常見位置 |
|---|---|---|
| 本機 IP | 作業系統配置在某張網卡上的位址 | Windows ipconfig、Linux ip addr |
| Default Gateway | 本機把非直連流量交給哪個下一跳 | 家用路由器、公司防火牆、雲端閘道 |
| 路由選到的來源 IP | 前往某個目的地時實際使用的本機位址與介面 | Windows 路由表、Linux ip route get |
| 路由器 WAN IP | 路由器從 ISP 或上游網路取得的位址 | 路由器管理介面 |
| 公網出口 IP | 外部服務實際看到的來源位址 | ISP、公司防火牆或雲端 NAT 的出口 |
一台位於 NAT 後方的電腦,可能是 192.168.1.25,路由器 WAN 是 100.64.10.20,外部網站看到的出口又是另一個公網 IP。這些值同時存在,不互相矛盾。
Windows 最快怎麼查 IP?
開啟 Windows Terminal、PowerShell 或命令提示字元:
ipconfig
先找到目前真的連線中的 Wireless LAN adapter Wi-Fi 或 Ethernet adapter,再看:
IPv4 Address:這張網卡的 IPv4。Subnet Mask:本機子網範圍。Default Gateway:前往其他網路時交給的下一跳。
完整資訊使用:
ipconfig /all
它會額外顯示:
- DHCP 是否啟用,以及租約資訊。
- DNS Servers。
- 實體位址(MAC Address)。
- IPv6 位址與各種虛擬介面。
不要看到第一個 IPv4 就停止。Hyper-V、WSL、Docker、VPN 與虛擬機器可能建立額外網卡;應搭配介面名稱、Default Gateway 與目前連線狀態判斷。
Windows PowerShell 怎麼看有效介面、IP 與 Gateway?
先用較容易閱讀的摘要:
Get-NetIPConfiguration
它會列出可用介面、IP、Default Gateway 與 DNS Server。需要包含虛擬、loopback 與未連線介面時才使用:
Get-NetIPConfiguration -All
只列 IPv4 位址:
Get-NetIPAddress -AddressFamily IPv4
聚焦在正常單點傳送位址:
Get-NetIPAddress -AddressFamily IPv4 -AddressState Preferred |
Select-Object InterfaceAlias, IPAddress, PrefixLength, PrefixOrigin
PrefixOrigin 可協助判斷位址來自 DHCP、手動設定或其他來源,但不要只靠這一欄判斷「固定公網 IP」;本機手動設成固定私有 IP,仍然不是 ISP 提供的固定公網 IP。
Windows 怎麼查 Default Gateway 與路由?
傳統路由表:
route print
IPv4 的預設路由目的地通常是 0.0.0.0、網路遮罩也是 0.0.0.0。對應的 Gateway 與 Interface,代表沒有更精確規則時使用的下一跳與本機來源介面。
PowerShell 可直接查預設路由:
Get-NetRoute -DestinationPrefix "0.0.0.0/0"
Get-NetRoute -DestinationPrefix "::/0"
如果同時有多條預設路由,Windows 會綜合 prefix 長度與 metric 選路。VPN 開啟後看到另一條預設路由不一定是錯誤,要依公司政策與實際目的地判斷。
Linux 最快怎麼查所有介面 IP?
推薦從精簡格式開始:
ip -br addr
輸出大致會像:
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.1.25/24 fe80::1234/64
重點判讀:
lo是 loopback,不是對外連線介面。UP表示介面啟用,但不保證 Internet 一定可達。/24是 IPv4 prefix length,對應常見的255.255.255.0。fe80::/10是 IPv6 link-local,只在本地鏈路使用。
完整輸出可用:
ip addr show
Linux 的 hostname -I 能查到公網 IP 嗎?
hostname -I
它會列出主機上已配置的網路位址,適合快速複製本機 IP,但可能一次出現多個結果,包括虛擬網路、容器、VPN 與 IPv6。
hostname -I 通常不能告訴你 NAT 後方的公網出口 IP。它顯示的是本機介面位址,不是外部服務觀察到的來源位址。若要確認公網出口,應查看路由器/防火牆的 WAN 狀態、ISP 提供資料,或使用你信任的外部 IP 查詢服務;第三方查詢會看到你的來源位址,使用前要評估隱私與公司政策。
Windows、Linux 怎麼查公網出口 IP?
公網出口 IP 不是單靠本機網卡就能知道,必須讓外部服務回報它看到的來源位址。Windows 10/11 可明確呼叫內建的 curl.exe:
curl.exe -4 -fsS https://checkip.amazonaws.com
Linux 使用:
curl -4 -fsS https://checkip.amazonaws.com
-4 代表強制用 IPv4。拿掉 -4 時,結果會依 DNS、路由與遠端服務支援情況選擇 IPv4 或 IPv6。若系統沒有 curl,不需要為了查 IP 就臨時修改正式主機;可改從路由器、防火牆或 ISP 管理介面確認。
這類指令會連到第三方服務,對方自然能看到你的來源 IP、查詢時間與基本連線資訊。公司或客戶環境若有資料政策限制,應優先使用已核准的查詢端點。查到的值代表「這一次連線的出口」,不一定等於路由器 WAN IP,也不保證是 ISP 合約中的固定 IP。
Linux 怎麼查 Default Gateway?
ip route
常見輸出:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.25 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.25
其中:
default via 192.168.1.1:預設 Gateway。dev eth0:使用的介面。src 192.168.1.25:偏好的本機來源 IP。metric 100:路由優先條件之一;數值需搭配 prefix 與 policy routing 判讀。
查看 IPv6:
ip -6 route
Linux 怎麼查「到這個目的地實際會走哪裡」?
ip route get 1.1.1.1
它不會真的送出連線,而是讓核心依目前路由規則計算前往該目的地時會選用的 Gateway、介面與來源位址。輸出例如:
1.1.1.1 via 192.168.1.1 dev eth0 src 192.168.1.25 uid 1000
若有多張網卡、VPN、policy routing 或容器網路,這個結果通常比只看 default 更有用。可以把 1.1.1.1 換成實際授權排查的目的地 IP。
哪些是私有 IPv4?
常見私有 IPv4 範圍由 RFC 1918 保留:
| 私有範圍 | 常見用途 |
|---|---|
10.0.0.0/8 | 公司、雲端 VPC、大型內部網路 |
172.16.0.0/12 | 公司、容器與虛擬網路 |
192.168.0.0/16 | 家用與小型辦公室 LAN |
這些位址不能直接在公開 Internet 上路由。設備通常透過路由器或防火牆做 NAT,共用一個或一組公網出口 IP。
注意:不是所有 172.x.x.x 都是私有 IP,只有 172.16.0.0 到 172.31.255.255。不要把 172.32.x.x 誤判成私有範圍。
127.0.0.1、::1 是什麼?
127.0.0.1:IPv4 loopback。::1:IPv6 loopback。
它們都只代表「這台電腦自己」。服務只監聽 127.0.0.1 或 ::1 時,同一台電腦可以連線,其他電腦通常不能直接存取。
因此,伺服器顯示網站在 127.0.0.1:3000 正常,不代表區域網路或 Internet 已經能連到它;還要確認服務監聽位址、反向代理與防火牆。
169.254.x.x 代表什麼?
Windows 或其他設備若無法從 DHCP 取得 IPv4,可能自動配置 169.254.0.0/16 的 link-local 位址。Windows 常稱這種行為為 APIPA。
看到 169.254.x.x 時,優先檢查:
- 網路線、Wi-Fi 與交換器連線。
- DHCP Server 是否可達且還有可用租約。
- VLAN 是否正確。
- 公司網路是否需要驗證或授權。
它通常只能和同一鏈路上的設備溝通,不能當成正常的 Internet 公網 IP。IPv6 常見的 fe80::/10 也是 link-local,但 IPv6 介面同時有 link-local 與 global 位址很常見,不應只因看到 fe80:: 就判定故障。
NAT 與 CGNAT 怎麼分?
一般 NAT
家用或公司路由器常把多台設備的私有 IP,轉換成一個公網出口 IP:
電腦 192.168.1.25 → 路由器 NAT → 公網出口 IP → Internet
因此:
ipconfig或ip addr顯示192.168.1.25。- 外部網站看到的可能是另一個公網 IP。
- 要讓外部主動連入,還需評估 DNAT/port forwarding、防火牆與服務安全。
CGNAT
CGNAT 是 ISP 在營運商網路再做一層 NAT。RFC 6598 保留的 Shared Address Space 是:
100.64.0.0/10
也就是 100.64.0.0 到 100.127.255.255。如果路由器 WAN 取得這個範圍,通常表示上游還有 CGNAT;即使你在自己的路由器做 port forwarding,外部仍可能無法直接連入。
不過,是否為 CGNAT 不能只看電腦本機 IP。應比對:
- 路由器/防火牆顯示的 WAN IP。
- 外部服務看到的公網出口 IP。
- ISP 合約或客服確認的網路型態。
需要外部主動連入或雲端白名單時,請先看 固定 IP、浮動 IP、公網 IP 與 NAT。
常見輸出怎麼快速判讀?
| 看到的結果 | 優先判讀 |
|---|---|
192.168.x.x、10.x.x.x | 私有 IP,通常在 NAT 後方 |
172.16~172.31 | 私有 IP;其他 172.x 不一定是 |
127.0.0.1、::1 | 只回到本機的 loopback |
169.254.x.x | IPv4 link-local,常見於 DHCP 未成功 |
fe80::... | IPv6 link-local,還要看是否另有 global IPv6 |
路由器 WAN 為 100.64.0.0/10 | 可能是 CGNAT,需與 ISP/出口 IP 確認 |
| 本機與外部看到不同 IP | NAT、CGNAT、Proxy 或其他出口設備都可能造成 |
| 多條 Default Route | 多網卡、VPN 或 policy routing,應查實際目的地路由 |
安全的基本排錯順序
- Windows 執行
Get-NetIPConfiguration;Linux 執行ip -br addr。 - 記錄正在使用的介面、本機 IP 與 prefix。
- Windows 查
Get-NetRoute -DestinationPrefix "0.0.0.0/0";Linux 查ip route。 - 有多條路由時,確認到實際目的地選到哪個介面與來源 IP。
- 到路由器或防火牆確認 WAN IP,不要把本機私有 IP 當公網 IP。
- 必要時在符合公司政策下,比對可信外部服務看到的出口 IP。
- 再判斷是本機配置、DHCP、Gateway、NAT、CGNAT、DNS 或上游線路問題。
哪些指令可能中斷連線?
本文主要指令都是只讀查詢。下列操作會改變網路狀態,不要在遠端主機或正式環境直接嘗試:
ipconfig /release
ipconfig /renew
/release 會釋放 DHCP 設定並捨棄位址;/renew 會重新向 DHCP 取得設定,位址、DNS、Gateway 或路由可能改變,連線也可能短暫中斷。若你正透過 RDP、SSH 或遠端管理操作,可能把自己斷在外面。
Linux 的 ip address flush、ip route flush、重啟 NetworkManager/systemd-networkd 或重新執行 DHCP Client,也可能移除位址與路由。先使用主控台、維護窗口與復原方案,再由管理員操作。
下一步
- 網域解析結果不一致:看 Windows、Linux DNS 查詢指令。
- 查註冊商、NameServer 與公開 DNS:看 WHOIS、RDAP、nslookup 與 dig。
- 不熟悉網域、DNS 與 IP 的關係:看 DNS 基礎觀念解析。
- 要處理固定 IP、NAT 或 CGNAT:看 固定 IP 與 NAT 基礎。
- IP 正確但仍無法連線:接著用 ping 與 traceroute 判斷連線與路由。
官方參考:Microsoft ipconfig、Microsoft Get-NetIPConfiguration、Microsoft Get-NetIPAddress、Microsoft Get-NetRoute、Linux ip-address(8)、Linux ip-route(8)、Linux hostname(1)、RFC 1918、RFC 3927、RFC 6598。