Macのターミナル上でプライベートIPアドレスを調べる方法
最も簡単にプライベートIPアドレスを調べる方法
わざわざターミナルでコマンドを入力しなくても,システム環境設定>ネットワーク>[ 詳細 ]ボタン押下>TCP/IPタブ>IPv4アドレスの欄から簡単に調べる事ができるが,ネットワーク系のスキルを向上させるためにはやはり最低限のターミナルコマンドを使いこなせなければならないというのが筆者の持論である.
ターミナル上でプライベートIPアドレスを調べる方法 1
Macにおいてネットワーク状況を調べるための有名なコマンドと言えばifconfig
.Windowsでいうところのipconfig
に相当するものである.
$ ifconfig
lo0: flags=XXXX<UP,LOOPBACK,RUNNING,MULTICAST> mtu XXXXX
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen XXX
inet 127.0.0.1 netmask 0XXX000000
inet6 XXXX::XXXXX prefixlen 64 scopeid XXX
nd6 options=1<PERFORMNUD>
gif0: flags=XXXX<POINTOPOINT,MULTICAST> mtu XXXX
stf0: flags=0<> mtu XXXX
en0: flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
options=27<RXCSUM,TXCSUM,VLAN_MTU,TSO4>
ether XX:XX:XX:XX:XX:XX
nd6 options=1<PERFORMNUD>
media: autoselect
status: inactive
en1: flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
ether XX:XX:XX:XX:XX:XX
inet6 XXXX::XXX:XXXX:XXXX:XXXXXXXX prefixlen 64 scopeid XXX
inet 192.168.100.103 netmask XXXXXXXXXX broadcast 192.168.100.XXX
inet6 XXXX:XXXX:XXX:XXXX:XXX:XXXX:XXXX:XXXX prefixlen 64 autoconf
inet6 XXXX:XXXX:XXX:XXXX:XXXX:XXXX:XXXX:XXXX prefixlen 64 autoconf temporary
inet6 XXXX:XXXX:XXX:XXXX:XXX:XXXX:XXXX:X prefixlen 64 dynamic
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
p2p0: flags=XXXX<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
ether XX:XX:XX:XX:XX:XX
media: autoselect
status: inactive
上記コマンドだと余計な情報が多過ぎる.
プライベートIPアドレスはデバイス名en1のinetにある(今回の場合は192.168.100.103)
〜プライベートIPアドレスが割り当てられているデバイス名について〜
・古い年式のMacの場合はen1となっている.
・現行のMacの場合はen0となっている.
必要に応じて以降のコマンドは置き換えて頂きたい.
せっかくなので,スクレイピングしてプライベートIPアドレスの部分のみ取得を試みる.
$ ifconfig en1 inet
en1: flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
inet 192.168.100.103 netmask XXXXXXXXXX broadcast 192.168.100.XXX
あと少し!
awkコマンドを用いて,スペース区切り2つ目の文字列を取得
$ ifconfig en1 inet | awk '{print $2}'
flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
192.168.100.103
1行目が余分なので力技で正規表現で絞り込み
$ ifconfig en1 inet | awk '{print $2}' | grep '^192'
192.168.100.103
無事にプライベートIPアドレスの取得に成功!
ターミナル上でプライベートIPアドレスを調べる方法 2
ifconfig
と比べると情報量が少ないが実はもうひとつ,ネットワーク状況を調べるための有名なコマンドが存在する.それがnetworksetup -getinfo Wi-Fi
である.
それでは実行してみよう
$ networksetup -getinfo Wi-Fi
DHCP Configuration
IP address: 192.168.100.103
Subnet mask: 255.255.255.0
Router: 192.168.100.1
Client ID:
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
Wi-Fi ID: XX:XX:XX:XX:XX:XX
確かに情報量が少なくプライベートIPアドレスを見つけやすい.
先程と同様に正規表現とawkコマンドを用いて取得を試みる.
$ networksetup -getinfo Wi-Fi | grep '^IP address' | awk '{print $3}'
192.168.100.103
無事にプライベートIPアドレスの取得に成功!
プライベートIPアドレスの用途
筆者のようにPHPでWebアプリケーションを開発する際にビルトインウェブサーバを立て,同じネットワーク内の他のマシンからサーバマシンに接続しテストを行う際にプライベートIPアドレスを把握しなければならないケースが出てくる.
ビルトインウェブサーバの立て方
ドキュメントルートへ移動
$ cd /Library/WebServer/Documents
下記コマンドでも可(フルパス表記)
$ cd ~/../../Library/WebServer/Documents
ビルトインウェブサーバを立てる
例)プライベートIPアドレスが192.168.100.103の場合
$ php -S 192.168.100.103:8000
Author And Source
この問題について(Macのターミナル上でプライベートIPアドレスを調べる方法), 我々は、より多くの情報をここで見つけました https://qiita.com/rimorimo/items/9ee259ffb492a073884a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .