1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Mac版】ターミナル上でプライベートIPアドレスを調べる方法

Last updated at Posted at 2021-03-27

ターミナル上でプライベートIPアドレスを調べる方法 1

下記コマンドを入力する.

ifconfig

下記出力が得られる.

...
en0: flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
	options=XXXX<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	ether XX:XX:XX:XX:XX:XX 
	inet6 XXXX::XXXX:XXXX:XXXX:XXXX%en0 prefixlen 64 secured scopeid 0xb 
	inet 192.168.100.158 netmask 0xffffff00 broadcast 192.168.100.255
	inet6 XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXX:XXXX prefixlen 64 autoconf secured 
	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 
	nat64 prefix 64:XXXX:: prefixlen 96
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active
...

上記コマンドだと余計な情報が多過ぎる.

プライベートIPアドレスはデバイス名en0inetにある(今回の場合は192.168.100.158

古い年式のMacの場合はプライベートIPアドレスが割り当てられているデバイス名はen1となっている場合が多い.

せっかくなので,プライベートIPアドレスの部分のみ取得を試みる.

ifconfig en0 inet

下記出力が得られる.

en0: flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu XXXX
	options=XXXX<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	inet 192.168.100.158 netmask 0xffffff00 broadcast 192.168.100.255
	nat64 prefix 64:ff9b:: prefixlen 96

あと少し!

awkコマンドを用いて,スペース区切り2つ目の文字列を取得

ifconfig en0 inet | awk '{print $2}'

下記出力が得られる.

flags=XXXX<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
192.168.100.158

1行目が余分なので力技で正規表現で絞り込み

ifconfig en1 inet | awk '{print $2}' | grep '^192'

下記出力が得られる.

192.168.100.158

プライベートIPアドレスの取得に成功!

ターミナル上でプライベートIPアドレスを調べる方法 2

ifconfigと比べると情報量が少ないが実はもうひとつ,ネットワーク状況を調べるための有名なコマンドが存在する.それがnetworksetup -getinfo Wi-Fiである.

networksetup -getinfo Wi-Fi

下記出力が得られる.

DHCP Configuration
IP address: 192.168.100.158
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

先程と同様に正規表現awkコマンドを用いて取得を試みる.

networksetup -getinfo Wi-Fi | grep '^IP address' | awk '{print $3}'

下記出力が得られる.

192.168.100.158

プライベートIPアドレスの取得に成功!

プライベートIPアドレスの用途

PHPでWebサービスを開発する際にビルトインウェブサーバを使い,ローカルサーバを立て他のマシンから接続し動作検証を行う際,プライベートIPアドレスを把握しなければならないケースが出てくる.

ビルトインウェブサーバの使い方

ドキュメントルートへ移動する.

cd /Library/WebServer/Documents

下記コマンドでも可(フルパス表記)

cd ~/../../Library/WebServer/Documents

ビルトインウェブサーバを使いローカルサーバを立てる

例)プライベートIPアドレスが192.168.100.158の場合

php -S 192.168.100.158:8000
1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?