OS X 終端機中的簡明 IP 訊息

OS X 終端機中的簡明 IP 訊息

OS X 終端機是否有一個指令可以顯示只有最重要的你的機器的IP設定資訊?我知道有“ifconfig”,但這會帶來一堆(在大多數情況下)不必要的資訊。我只想知道我現在的狀況IP、子網路遮罩、預設閘道和 DNS

更新


netstat -rn 的輸出

Axels-MacBook-Air:~ axelkennedal$ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.164.192.1       UGSc           75        0     en0
10.164.192/19      link#4             UCS             3        0     en0
10.164.192.1       c0:62:6b:e2:7a:c0  UHLWIir        76       20     en0   1150
10.164.206.216     127.0.0.1          UHS             0       25     lo0
10.164.223.255     ff:ff:ff:ff:ff:ff  UHLWbI          0       14     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              4      644     lo0
169.254            link#4             UCS             0        0     en0

Internet6:
Destination                             Gateway                         Flags         Netif Expire
::1                                     ::1                             UHL             lo0
fe80::%lo0/64                           fe80::1%lo0                     UcI             lo0
fe80::1%lo0                             link#1                          UHLI            lo0
fe80::%en0/64                           link#4                          UCI             en0
fe80::7ed1:c3ff:fef1:9b1f%en0           7c:d1:c3:f1:9b:1f               UHLI            lo0
ff01::%lo0/32                           ::1                             UmCI            lo0
ff01::%en0/32                           link#4                          UmCI            en0
ff02::%lo0/32                           ::1                             UmCI            lo0
ff02::%en0/32                           link#4                          UmCI            en0

答案1

據我所知,沒有一個命令可以為您提供所需的所有資訊。您將需要運行幾個不同的。最簡單的方法可能是建立一個小腳本來為您執行此操作。我在 Linux 上使用 Linux 上不可用的命令來編寫此內容ipconfig,因此可能會出現一些錯誤,請告訴我,我會嘗試解決這些問題。

#!/bin/bash

## Get the ip
ip=$(ipconfig getifaddr en0)

## Get the DNS server(s), this assumes Wi-Fi
dns=$(networksetup -getdnsservers Wi-Fi)

## Get the gateway
gateway=$(netstat -rn | awk 'NR==3{print $2}')

## And the netmask
mask=$(netstat -rn | awk 'NR==4{print $3}')

## Pretty print
cat<<EOF
IP      : $ip
Gateway : $gateway
Netmask : $mask
DNS     : $dns
EOF

將該腳本儲存為netinfo.sh您的目錄中的任何內容$PATH/usr/local/bin例如),使其可執行(chmod a+x /usr/local/bin/netinfo.sh),然後執行它:

$ netinfo.sh

答案2

希望這可以幫助。我認為沒有一個命令可以顯示該資訊。

ifconfig en1 | grep inet && scutil --dns | grep nameserver && netstat -nr | grep default

相關內容