ifconfigとは何か?表示内容の意味を実例で解説|flagsやlo,en,gif,stf,awdl,p2p,bridge,inet,inet6とは何か?現在のネットワークの使用状況を確認する方法

windows-terminal-prograshi(プロぐらし)-kv Command
記事内に広告が含まれていることがあります。
[PR]

MacなどUnix系のOSでは「ifconfig」というコマンドが用意されています。

これを使うと、現在どんなネットワークに接続しているかといった詳細情報を確認することができます。

その中には、lo, en, gif, stf, awdl, p2p, bridge, inet, inet6といった普段見慣れない記号がズラリと並んだりします。

ここではそれらが何を意味しているのかについてまとめています。


ifconfigコマンドの表示例

ifconfigコマンドを実行すると、以下のような表示が返ります。

$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=201<PERFORMNUD,DAD>

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether f8:ff:c2:56:35:e8
    inet6 fe80::cfb:70e3:8399:8de4%en0 prefixlen 64 secured scopeid 0x6
    inet 192.168.3.7 netmask 0xffffff00 broadcast 192.168.3.255
    inet6 2400:2412:6a60:bb00:15:a832:d64c:80a7 prefixlen 64 autoconf secured
    inet6 2400:2412:6a60:bb00:3cf2:cef9:ebd7:60aa prefixlen 64 deprecated autoconf temporary
    inet6 2400:2412:6a60:bb00:30e6:5275:ff96:4a02 prefixlen 64 autoconf temporary
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

ネットワークインターフェース毎に一塊となって出てきます。

実際には、lo0, gif0, stf0, en0, en1, en2, en3, en4, en5, p2p0, awdl0, bridge0など更にたくさんの情報が表示されます。

上記では主要な、lo0とen0のみピックアップしています。

lo0やen0がネットワークインターフェース名。アルファベットがインターフェースの種類、後の番号が接続した順番を表しています。


ネットワークインターフェースの意味

lo0, gif0, stf0, en0, p2p0, awdl0, bridge0などのネットワークインターフェース名は「インターフェースの種類 + 番号」で表示されます。

同じ種類のネットワークインターフェースがあると、0,1,2,,,といったように数値が増えていきます。

各インターフェースの記号は以下を表しています。

インターフェース名概要
loローカルループバック。自分自身のIPアドレス(localhost)
enイーサネット。wifiや有線LAN
gifトンネルデバイス(Generic tunnel interface))。IPv4とIPv6を繋ぐ
stfSix to Four。IPv6からIPv4に変換する。
awdlApple Wireless Direct Link。iOSとの通信。iphoneと接続するなど。
p2pawdlと類似した機能。
bridgeDockerを使ったサーバー通信


lo(Local Loopback)とは何か?

lo0のは自分自身を表すネットワークです。

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=201<PERFORMNUD,DAD>

それぞれの項目の意味は以下のようになっています。

flags

インターフェースの状態を表しています。

項目内容 詳細
8049ステータス<>の中身を数値化したもの
UPインターフェースの起動状態UP:起動中、DOWN:停止中
LOOPBACKループバックループバックであることを示す。 
RUNNING転送の状態システムがパケットをインタフェース経由で転送していることを示す。 
MULTICASTマルチキャストの状態インタフェースがマルチキャスト転送をサポートすることを示す。 
mtu 16384最大転送単位(Max Transmission Unit)最大転送速度:16,384オクテット

オクテットは8ビットのことです。


options

ネットワークインターフェースのオプションです。

項目内容詳細
RXCSUM,TXCSUMチェックサムオフロードの設定ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを有効にする。
TXSTATUS送信状況送信状況を表示できる(?)

TXとRXについて

通信管理用語。
Tx: 送信結果、送信機。transmitter
Rx: 受診結果、受信機。Reciever

xは以下省略の意味。


inet

IPv4のIPアドレスのことです。

項目内容詳細
127.0.0.1ループバックアドレス自分に接続するためのアドレス。localhostと同じ
netmask 0xff000000ネットマスクipv4ネットマスクのIPでネットワーク部とホスト部の区切りを定義

ループバックアドレスとは自分自身の環境を表すIPアドレスです。

仮想環境のサーバーにアクセスして、localhost:8080と入力してページが表示される時、127.0.0.1:8080としても同じページが表示されます。


inet6

IPv6のIPアドレスのことです。

項目内容詳細
::1ループバックアドレス0:0:0:0:0:0:0:1の省略形。::は0が省略されているのを示す
prefixlen 128プレフィックス長ネットワーク部とインターフェースIDの区切りを示す

ループバックアドレスとは自分自身の環境を表すIPアドレスです。


ループバックアドレスはなぜ::1なのか?

IPv4だと127.0.0.1 、IPv6だと::1のようにループバックアドレスの末尾は0ではなく1となっています。

この理由はネットワークアドレスで説明できます。

IPアドレスはネットワーク部とホスト部で構成されます。

ネットワーク部とホスト部長さはIPアドレスにより変わります。IPv4だと127.0.0.1の場合は以下のようになります。

・ネットワーク部:127.0.0
・ホスト部:1

このとき、ホスト部が「0」の「127.0.0.0」はネットワーク部自体を指し、ネットワークアドレスと呼びます。

つまり、127.0.0.0はネットワークアドレスとなっているので、実際に割り当てられるIPアドレスは、127.0.0.1からとなります。

結果として、ループバックアドレスは、末尾が0ではなく、1になっています。


ブロードキャストアドレスとは何か?

127.0.0.0などホスト部が「0」のものをネットワークアドレスと呼ぶように、ホスト部が「255」のものをブロードキャストアドレスと呼びます。

ブロードキャストアドレスにデータを送ると、該当するネットワーク部の全てのIPアドレスにデータが送信されます

ブロードキャストアドレスもネットワークアドレスと同じく既に決まっているため、割り当て用のIPアドレスには使用できません。

なお、127から始まるIPアドレスで、実際に割り当て可能なのは以下です。

127.0.0.1 ~ 127.255.255.254


en(ethernet)とは何か?

en(ethernet)とはイーサネットのことです。昔は有線LANでしたが、現在はwifiがほとんどです。

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=400<CHANNEL_IO>
    ether f8:ff:c2:56:35:e8
    inet6 fe80::cfb:70e3:8399:8de4%en0 prefixlen 64 secured scopeid 0x6
    inet6 2400:2412:6a60:bb00:15:a832:d64c:80a7 prefixlen 64 autoconf secured
    inet6 2400:2412:6a60:bb00:10e:cb65:fc27:e871 prefixlen 64 autoconf temporary
    inet 192.168.3.7 netmask 0xffffff00 broadcast 192.168.3.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

各項目の基本的な読み方はloと同じです。

ここでは、inetに記載されている「192.168.3.255」について解説します。


プライベートIPアドレス

「192.168」で始まるIPアドレスをプライベートIPアドレスと呼びます。これは、実際にWEBとつながっているグローバールIPアドレスとは異なります。

wifiルーターなどを介して接続していることを示しています。

例えばフレッツ光だとグローバールIPアドレスとプライベートIPアドレスの違いは以下のようになります。

WEB
 ↑↓ (global IP address)
ONU-wifiルーター
 ↑↓ (Private IP address)
PC・スマホなど

プライベートIPアドレスを使うのは、限られたIPアドレスを有効活用するためです。

現在使用しているグローバルIPアドレスは、以下のサイトで確認できます。
ラッコツールズ IPアドレス住所検索


プライベートIPアドレスの種類

192.168始まり以外に、10始まりや、172.16始まりも該当します。

クラス名IPアドレス範囲サブネットマスクアドレス数
クラスA10.0.0.0 – 10.255.255.255255.0.0.016,777,216
クラスB172.16.0.0 – 172.31.255.255255.240.0.01,048,576
クラスC192.168.0.0 – 192.168.255.255255.255.0.065,536

企業など規模が大きく接続する人数が多い場合は10始まりを使うことが多です。


eather

インターフェースの中に記載されているeatherはMACアドレスを指します。

ether f8:ff:c2:56:35:e8

MACアドレスとは各ネットワーク機器に割り当てられた番号のことです。

wifiルーターや有線LANポートなどネットワークを繋ぐ一つ一つの機器にユニークな番号が割り当てられています。


IPv4とIPv6の比較

IPv4のIPアドレスの枯渇問題に対して、よりたくさんのIPアドレスを定義できるIPv6が使われるようになりました。

現在のwifiはIPv4とIPv6の両方を割り当てている場合が多いです。

IPv4とIPv6の主な違いは以下のようになります。

項目IPv4IPv6
実例192.168.3.72400:2412:6a60:bb00:15:a832:d64c:80a7
ビット数32bit128bit
区切りビット数4bit8bit
各区切りの桁数316
進数10進数16進数(1~10 + a~f)
構成ネットワーク部・ホスト部インターフェーID・プレフィックス

IPv6はとにかく長いですが、基本的な構成概念はIPv4と同じです。


タイトルとURLをコピーしました