macOS のネットワークの設定内容を CLI シェル(ターミナル)から確認したい。
主に「DNSサーバ」の項目内容など。つまり、[システム環境設定
]-[ネットワーク
]-[Wi-Fi
]-[詳細
]-[DNS
] にある項目。
「mac ターミナル DNSサーバー 取得」や「mac シェル DNSサーバー 取得」を Qiita 記事に絞ってググっても出てこなかったので、自分のググラビリティとして。
🐒 networksetup
コマンドは、オプションによって DNS サーバーの一覧以外に、接続中の SSID 名(Wi-Fi のアクセスポイント名)、MTU 値なども確認できます。
<networkservice>
の値の探し方、networksetup
コマンドの詳細は TS; DR をご覧ください。また、実際の名前解決に使われた DNS サーバを確認したい場合の方法なども記載しております。
TL; DR (今北産業)
-
「
networksetup
」コマンドの「-GetDNSServers
」オプションで DNSサーバ 一覧が取得できます。 -
基本構文
getdnsserversオプションの構文networksetup -getdnsservers <networkservice>
-
DNSサーバの確認例
DNSサーバー設定の確認(キャメルケースでも大丈夫)$ networksetup -GetDNSServers "Wi-Fi" 192.168.10.1 8.8.8.8 8.8.4.4
TS; DR (networksetup を理解するコマケーこと)
$ man networksetup | head -6
NETWORKSETUP(8) BSD System Manager's Manual NETWORKSETUP(8)
NAME
networksetup -- configuration tool for network settings in System Prefer-
ences.
$ man networksetup | head -6
NETWORKSETUP(8) BSD System Manager's Manual NETWORKSETUP(8)
NAME
networksetup -- 「システム環境設定」のネットワーク設定用コマンド・ツールです。
オプションによって、ネットワークの設定内容の確認、もしくは変更が行え
ます。なお変更には `sudo`(管理者)権限が必要です。
基本構文
networksetup <オプション> [<引数>]
-
マニュアル
$ man networksetup
- Mac OS X Server Command-Line PDF マニュアル P.41(英語)@ Apple
-
networksetup
で利用可能なコマンド一覧 @ Qiita
-
設定を行いたい場合はこちら
- 「Macのネットワーク設定をコマンドラインからやりたい」@ Qiita
-
応用技
- 「macOS Mojave の WiFi をコマンドからオン・オフする」@ Qiita
取得系のオプション
以下は、設定情報を取得(get
)する系のオプションです。マニュアル(man
)でも確認できるのですが、すべて小文字で可読性が悪いため、アッパー・キャメルケースにしてみました。
コマンド引数の <hardwareport>
<device name>
<networkservice>
の探し方は次項をご覧ください。
オプション | 引数 | ネットワーク設定での表示名 |
---|---|---|
-GetMACAddress |
<hardwareport or device name> |
MACアドレス |
-GetComputerName |
なし | コンピューター名 |
-GetInfo |
<networkservice> |
IPアドレス、サブネットマスク、デフォルトゲートウェイなどの諸情報 |
-GetAdditionalRoutes |
<networkservice> |
IPv4 の Static Route |
-GetV6AdditionalRoutes |
<networkservice> |
IPv6 の Static Route |
-GetDNSServers |
<networkservice> |
DNSサーバ |
-GetSearchDomains |
<networkservice> |
検索ドメイン |
-GetFTPProxy |
<networkservice> |
FTPプロキシ |
-GetWebProxy |
<networkservice> |
Webプロキシ(HTTP) |
-GetSecureWebProxy |
<networkservice> |
保護されたWebプロキシ(HTTPS) |
-GetStreamingProxy |
<networkservice> |
ストリーミングプロキシ |
-GetGopherProxy |
<networkservice> |
Gopherプロキシ |
-GetSocksFirewallProxy |
<networkservice> |
SOCKSプロキシ |
-GetProxyBypassDomains |
<networkservice> |
プロキシ設定を使用しないホストとドメイン |
-GetProxyAutoDiscovery |
<networkservice> |
自動プロキシ検出 |
-GetPassiveFTP |
<networkservice> |
受動FTPモード(PASV)を使用 |
-GetAutoProxyURL |
<networkservice> |
自動プロキシ構成 |
-GetAirportNetwork |
<device name> |
ネットワーク名(接続中のSSID/アクセスポイント名) |
-GetAirportPower |
<device name> |
ネットワーク状況(Wi-Fiのオン・オフなど) |
-GetNetworkServiceEnabled |
<networkservice> |
サービスの有効・無効状態 |
-GetMTU |
<hardwareport or device name> |
現在のMTU値と設定値 |
-GetMedia |
<hardwareport or device name> |
ハードウェアの構成 |
-GetCurrentLocation |
なし | 選択済みのネットワーク環境 |
<networkservice>
の探し方
<networkservice>
は -ListAllNetworkServices
オプションで確認できます。無線 LAN の場合は「Wi-Fi」がネットワークサービス名になります。
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Thunderbolt Ethernet
iPhone USB
Wi-Fi
Bluetooth PAN
VPN Home RPi
<device name>
(<hardwareport>
)の探し方
<device name>
は -ListNetworkServiceOrder
オプションで確認できます。Wi-Fi の場合は、「Device:」の「en0
」などが該当します。
$ networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Thunderbolt Ethernet
(Hardware Port: Thunderbolt Ethernet, Device: en6)
(2) iPhone USB
(Hardware Port: iPhone USB, Device: en4)
(3) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)
(4) Bluetooth PAN
(Hardware Port: Bluetooth PAN, Device: en3)
(5) VPN Home RPi
(Hardware Port: L2TP, Device: )
オプションの使用例
$ networksetup -getdnsservers "Wi-Fi"
192.168.10.1
8.8.8.8
8.8.4.4
$ networksetup -getairportnetwork en0
Current Wi-Fi Network: aterm-xxxxxxxx-a
$ networksetup -getMTU en0
Active MTU: 1500 (Current Setting: 1500)
現在利用しているDNSサーバーの確認
上記の、現在設定している DNS サーバーのうち実際に利用された DNS サーバーを確認するには nslookup
コマンドを使います。Server:
の項目が名前解決に使われた DNS サーバーです。
$ nslookup qiita.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: qiita.com
Address: 54.178.201.169
Name: qiita.com
Address: 54.178.219.247
Name: qiita.com
Address: 52.68.241.143
確認環境
- macOS HighSierra(OSX 10.13.6)
-
man networksetup | tail -1
: Mac OS X, April 16, 2002, Mac OS X
参考文献
- Mac OS X Server Command-Line Administration PDF P.41 @ Apple
-
How to find the currently connected network service from the command line?
@ StackExchange - Get DNS Server IP Addresses from the Command Line in Mac OS X @ OSXDaily