42
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac の bash/zsh で現在の DNS サーバーなどのネットワーク設定を取得するコマンド

Last updated at Posted at 2018-10-23

macOS のネットワークの設定内容を CLI シェル(ターミナル)から確認したい

主に「DNSサーバ」の項目内容など。つまり、[システム環境設定]-[ネットワーク]-[Wi-Fi]-[詳細]-[DNS] にある項目。

Macのネットワーク設定のWi-FiにおけるDNSサーバの設定画面

mac ターミナル DNSサーバー 取得」や「mac シェル DNSサーバー 取得」を Qiita 記事に絞ってググっても出てこなかったので、自分のググラビリティとして。

🐒   networksetup コマンドは、オプションによって DNS サーバーの一覧以外に、接続中の SSID 名(Wi-Fi のアクセスポイント名)、MTU 値なども確認できます。
<networkservice> の値の探し方、networksetup コマンドの詳細は TS; DR をご覧ください。また、実際の名前解決に使われた DNS サーバを確認したい場合の方法なども記載しております。

TL; DR (今北産業)

  1. networksetup」コマンドの-GetDNSServers」オプションで DNSサーバ 一覧が取得できます。

  2. 基本構文

    getdnsserversオプションの構文
    networksetup -getdnsservers <networkservice>
    
  3. 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 <オプション> [<引数>]

取得系のオプション

以下は、設定情報を取得(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> の探し方

スクリーンショット 2018-10-24 4.32.50.png

<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: )

オプションの使用例

DNSサーバー設定の確認
$ networksetup -getdnsservers "Wi-Fi"
192.168.10.1
8.8.8.8
8.8.4.4
接続中のSSID名の確認
$ networksetup -getairportnetwork en0
Current Wi-Fi Network: aterm-xxxxxxxx-a
MTUの値を確認
$ networksetup -getMTU en0
Active MTU: 1500 (Current Setting: 1500)

現在利用しているDNSサーバーの確認

上記の、現在設定している DNS サーバーのうち実際に利用された DNS サーバーを確認するには nslookup コマンドを使います。Server: の項目が名前解決に使われた DNS サーバーです。

この例では qiita.com の名前解決に 8.8.8.8 が使われたことになる
$ 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

参考文献

42
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?