← 返回所有文章

查詢本機 IP 位址

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

功能

彙整 Linux、Windows、macOS本機 IPv4/介面位址(內網或實際綁在網卡上的位址)的指令與輸出範例。

情境

  • 連進這台機器、設定 防火牆白名單、或寫腳本要取得本機 IP 時快速查;與 Ping/DNS 搭配釐清是 Layer 2/3 哪一段問題。

Linux

Code
ip -br addr show

-br 為簡潔輸出;列出介面名稱、狀態與 IP,方便腳本解析。

Code
hostname -I

輸出本機所有 IPv4 位址(空格分隔),不含介面名稱;取第一個即常用主 IP。

輸出範例(ip -br addr):

Code
lo               UNKNOWN        127.0.0.1/8
<interface>      UP             <ip>/<cidr>

UP 表示介面已啟用;/24 為 CIDR 子網路遮罩。

Windows

Code
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.InterfaceAlias -notlike '*Loopback*' } | Select-Object InterfaceAlias, IPAddress

列出非 Loopback 的 IPv4 與對應介面名稱;可過濾掉 127.0.0.1。

Code
ipconfig | findstr /i "IPv4"

使用傳統 ipconfig 並過濾含 IPv4 的行,不需 PowerShell 模組。

輸出範例:

Code
InterfaceAlias IPAddress
-------------- ---------
<InterfaceAlias> <ip_address>

macOS

Code
ifconfig | grep "inet " | grep -v 127.0.0.1

ifconfig 過濾出 inet 行並排除本機回環,得到各介面的 IPv4。

Code
ipconfig getifaddr <interface>

只取得指定介面(如 en0 常見為 Wi-Fi)的單一 IPv4,適合腳本使用。

輸出範例:

Code
inet <ip> netmask <netmask> broadcast <broadcast>

有線或其它介面可能是 en1en2 等,可先用 ifconfig 看介面名稱。