- ネットワークインターフェースを確認するコマンドが知りたい
- UbuntuやKali LinuxでNIC情報を確認したい
- 最新のLinux環境で使用できるコマンドを知りたい
本記事ではLinux環境で利用できる代表的な確認コマンドをまとめました。ip addr、ip link、ip routeをはじめ、nmcliやnetworkctlなど、現在のLinux環境で利用されているコマンドを紹介します。
さらに、各コマンドの実行結果や用途の違い、非推奨となったifconfig、routeについても解説しています。ネットワークインターフェースの確認方法を体系的に理解したい方は、ぜひ最後までご覧ください。
NICを確認する代表的なコマンド
Linux環境におけるネットワークインターフェース(NIC)の確認には、複数のコマンドが用意されています。それぞれのコマンドは取得できる情報の種類や粒度が異なるため、目的に応じて使い分けることが重要です。
従来はifconfigが広く利用されていましたが、現在のLinux環境ではiproute2パッケージに含まれるipコマンドの利用が推奨されています。
- Kali Linux 2026.1
- Ubuntu Desktop 26.04 LTS
- Ubuntu Server 26.04 LTS
NIC確認コマンド一覧
| コマンド(※) | 主な用途 | 確認できる主な情報 |
|---|---|---|
| ip address [show] ip addr [show] ip a [show] | IPアドレスの確認 | インターフェース名、IPアドレス(IPv4/IPv6)、MACアドレス、サブネットマスク、インターフェースの状態(UP/DOWN) |
| ip link [show] ip l [show] | ネットワークインターフェースの状態確認 | インターフェース名、MACアドレス、MTU、インターフェースの状態(UP/DOWN) ※IPアドレスは表示されません |
| ip route [show] ip r [show] | ルーティングテーブルの確認 | ルーティングテーブル、デフォルトゲートウェイ、パケットの通信経路 |
| nmcli device show nmcli d show | NetworkManagerが管理するネットワークの状態確認 | インターフェース名、IPアドレス(IPv4/IPv6)、MACアドレス、接続タイプ、接続状態、ゲートウェイ、DNSサーバー |
| networkctl --all status networkctl -a status | systemd-networkdが管理するネットワークの状態確認 | インターフェース名、IPアドレス(IPv4/IPv6)、MACアドレス、接続タイプ、接続状態、ゲートウェイ、DNSサーバー |
- 省略形のコマンドも含む。
- 利用頻度の高いオプションの指定方法を太字・青下線で表記しています。
【ディストリビューション別】対応コマンド
| ディストリビューション | 標準のネットワーク管理方式(※) | 利用できるコマンド |
|---|---|---|
| Kali Linux | NetworkManager(※) | ip { address | link | route } nmcli(※) networkctl |
| Ubuntu Desktop | NetworkManager | ip { address | link | route } nmcli networkctl |
| Ubuntu Server | systemd-networkd | ip { address | link | route } nmcli networkctl |
※ サーバーの構築方法によって、ネットワーク管理方式は異なる場合があります。本記事で使用している検証環境のKali Linuxの場合、ネットワーク設定は/etc/network/interfacesファイルに定義しています。そのため、nmcliコマンドでは一部の項目が管理対象外と表示されます。(例.接続状態 など)
「ifconfig」「route」は非推奨
Linux環境では、従来からネットワーク設定や確認にifconfig、routeコマンドが使用されてきました。これらのコマンドは、net-toolsパッケージに含まれていましたが、現在はメンテナンスを縮小しており、IPv6や高度なルーティング機能への対応が限定的です。
現在の主要なLinuxディストリビューションでは、これらのコマンドは非推奨(deprecated)となっており、ipコマンドへの移行が推奨されています。
従来コマンドと推奨コマンドの対応
| 従来コマンド | 推奨コマンド | 用途 |
|---|---|---|
| ifconfig | ip addr / ip link | IPアドレスやNIC情報の確認 |
| route | ip route | ルーティングテーブルの確認 |
例えば、Ubuntu 26.04 LTS(クライアント、サーバーともに)では、初期状態でifconfigがインストールされていません。やむを得ず使用する場合は、net-toolsパッケージを追加インストールしてください。
各コマンドの実行結果
本セクションで紹介する各コマンドの実行結果は、WindowsにインストールしたVirtualBox上で稼働するLinux仮想マシンにて実施しています。
Linux仮想マシン一覧
| NIC(1枚目) | NIC(2枚目) | |
|---|---|---|
| Kali Linux 2026.1 | ホストオンリーアダプター 192.168.10.11/24 | NAT(DHCP) |
| Ubuntu Desktop 26.04 LTS | NAT(DHCP) | ホストオンリーアダプター 192.168.10.102/24 |
| Ubuntu Server 26.04 LTS | NAT(DHCP) | ホストオンリーアダプター 192.168.10.106/24 |
【ipコマンドの実行結果について】
ディストリビューションによってネットワークインターフェース名は異なりますが、ipコマンドの実行結果に大きな差異はありません。そのため以下では、ipコマンドの実行結果の代表例として、Kali Linuxの出力結果を掲載しています。
ip addr
ip addrは、ネットワークインターフェースのIPアドレス情報を確認するための代表的なコマンドです。IPアドレス(IPv4/IPv6)、MACアドレス、インターフェース状態(UP/DOWN)などを一括で確認できます。
Kali Linuxの実行結果
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:79:3a:0a brd ff:ff:ff:ff:ff:ff
inet 192.168.10.11/24 brd 192.168.10.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe79:3a0a/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:e8:48:7e brd ff:ff:ff:ff:ff:ff
inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic noprefixroute eth1
valid_lft 73543sec preferred_lft 62743sec
inet6 fd17:625c:f037:3:273e:d7be:5d2a:c348/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86301sec preferred_lft 14301sec
inet6 fe80::fc79:c432:a841:bc46/64 scope link
valid_lft forever preferred_lft foreverip link
ip linkは、ネットワークインターフェースの状態を確認するコマンドです。IPアドレス情報は表示されず、NICそのものの状態確認に特化しています。
Kali Linuxの実行結果
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:79:3a:0a brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:e8:48:7e brd ff:ff:ff:ff:ff:ffip route
ip routeは、Linuxのルーティングテーブルを確認するコマンドです。通信パケットがどの経路で送信されるかを確認できます。
Kali Linuxの実行結果
$ ip route
default via 10.0.3.2 dev eth1 proto dhcp src 10.0.3.15 metric 1003
10.0.3.0/24 dev eth1 proto dhcp scope link src 10.0.3.15 metric 1003
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.11nmcli device show
nmcli(Network Manager Command Line Interface)は、NetworkManagerを操作するためのコマンドラインツールです。nmcli device showコマンドは、NetworkManagerが管理するネットワークインターフェースの詳細情報を表示します。
Ubuntu Desktopの実行結果
$ nmcli device show
GENERAL.DEVICE: enp0s3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:9C:04:D7
GENERAL.MTU: 1500
GENERAL.STATE: 100 (接続済み)
GENERAL.CONNECTION: netplan-enp0s3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: オン
IP4.ADDRESS[1]: 10.0.2.15/24
IP4.GATEWAY: 10.0.2.2
IP4.ROUTE[1]: dst = 10.0.2.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 10.0.2.2, mt = 100
IP4.DNS[1]: 192.168.3.1
IP6.ADDRESS[1]: fd17:625c:f037:2:a00:27ff:fe9c:4d7/64
IP6.ADDRESS[2]: fe80::a00:27ff:fe9c:4d7/64
IP6.GATEWAY: fe80::2
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024
IP6.ROUTE[2]: dst = fd17:625c:f037:2::/64, nh = ::, mt = 100
IP6.ROUTE[3]: dst = ::/0, nh = fe80::2, mt = 100
IP6.DNS[1]: fd17:625c:f037:2::3
GENERAL.DEVICE: enp0s8
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:11:B3:0B
GENERAL.MTU: 1500
GENERAL.STATE: 100 (接続済み)
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: オン
IP4.ADDRESS[1]: 192.168.10.102/24
IP4.GATEWAY: --
IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 101
IP6.ADDRESS[1]: fe80::6e6f:8850:e7be:ad8/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 100 (接続済み (外部))
GENERAL.CONNECTION: lo
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY: --本記事で使用する検証環境のKali Linuxでは、ネットワーク設定を/etc/network/interfacesファイルで管理しているため、NetworkManagerの管理対象外となり、nmcliコマンド実行時に「10 (管理無し)」と表示されます。
Kali Linuxの実行結果(一部抜粋)
$ nmcli device show
〜 省略 〜
GENERAL.STATE: 10 (管理無し)
〜 省略 〜networkctl -a status
networkctlは、systemdに統合されたネットワーク管理デーモンsystemd-networkdを操作するためのコマンドです。
Ubuntu Serverの実行結果
$ networkctl status
● Interfaces: 1, 2, 3
State: routable
Online state: online
Address: 10.0.2.15 on enp0s3
192.168.10.106 on enp0s8
fd17:625c:f037:2:a00:27ff:fe60:ac08 on enp0s3
fe80::a00:27ff:fe60:ac08 on enp0s3
fe80::a00:27ff:fe22:fb7e on enp0s8
Gateway: 192.168.10.1 on enp0s8
10.0.2.2 on enp0s3
fe80::2 on enp0s3
DNS: 192.168.3.1
fd17:625c:f037:2::3
〜 以下、省略 〜-aオプションを付与すると、全インターフェースの詳細情報が表示されます。
まとめ(推奨度)
本記事では、Linux環境(主にKali Linux、Ubuntu)におけるネットワークインターフェースの確認コマンドについて解説しました。最後に、各コマンドの推奨度を整理します。
| コマンド | 主な用途 | 推奨度 | 備考 |
|---|---|---|---|
| ip addr | IPアドレス・NIC情報の確認 | ◎ | 最も汎用性が高く第一選択 |
| ip link | NICの状態確認 | ○ | IPアドレスが表示されない |
| ip route | ルーティングテーブルの確認 | ◎ | デフォルトゲートウェイの確認に有効 |
| nmcli device show | NetworkManager環境でのNIC確認 | △ | NetworkManager環境限定 |
| networkctl -a status | systemd環境でのNIC確認 | △ | systemd-networkd環境限定 |
| ifconfig | IPアドレス・NIC情報の確認 | ✕ | 非推奨(net-toolsパッケージが必要) |
| route | ルーティングテーブルの確認 | ✕ | 非推奨(net-toolsパッケージが必要) |
ipコマンドはLinuxカーネルに直接アクセスするiproute2パッケージに含まれており、ネットワーク管理方式に左右されずに利用できます。
一方、nmcliはNetworkManager、networkctlはsystemd-networkdといったネットワーク管理方式に依存するため、環境によっては利用できない場合があります。
そのため、ネットワークインターフェースの確認を行う基本コマンドは、管理方式の違いを受けにくいipコマンド群を推奨します。
