Linux で利用可能なネットワーク インターフェイスを表示する方法

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文

Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、システムのインストール時にネットワーク インターフェイスを構成することもできます。ただし、システムをインストールした後にネットワークを構成したり、既存の設定を変更したりすることを好む人もいます。

ご存知のとおり、コマンド ラインでネットワーク設定を構成するには、まずシステムで使用可能なネットワーク インターフェイスの数を知る必要があります。この簡単なガイドでは、Linux および Unix オペレーティング システムで利用可能なネットワーク インターフェイスを見つけるためのすべての可能な方法をリストします。

Linuxで利用可能なネットワークインターフェースを見つける

使用可能なネットワーク インターフェイスを見つけるには、次の方法を使用できます。

方法1: ifconfigコマンドを使用する

ifconfig コマンドを使用してネットワーク インターフェイスを表示する方法は、今でも最も一般的に使用されている方法です。この方法をまだ使用している Linux ユーザーは多くいると思います。

$ ifconfig -a

サンプル出力:

enp5s0: フラグ=4098<ブロードキャスト、マルチキャスト> mtu 1500
ether 24:b6:fd:37:8b:29 txqueuelen 1000 (イーサネット)
RXパケット 0 バイト 0 (0.0 B)
RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
TXパケット 0 バイト 0 (0.0 B)
TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 ネットマスク 255.0.0.0
inet6 ::1 プレフィックス長 128 スコープID 0x10<ホスト>
ループ txqueuelen 1000 (ローカル ループバック)
RXパケット 171420 バイト 303980988 (289.8 MiB)
RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
TXパケット 171420 バイト 303980988 (289.8 MiB)
TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

wlp9s0: フラグ=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500
inet 192.168.225.37 ネットマスク 255.255.255.0 ブロードキャスト 192.168.225.255
inet6 2409:4072:6183:c604:c218:85ff:fe50:474f プレフィックス長 64 スコープID 0x0<グローバル>
inet6 fe80::c218:85ff:fe50:474f プレフィックス長 64 スコープID 0x20<リンク>
ether c0:18:85:50:47:4f txqueuelen 1000 (イーサネット)
RXパケット 564574 バイト 628671925 (599.5 MiB)
RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
TXパケット 299706 バイト 60535732 (57.7 MiB)
TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

上記の出力に示されているように、私の Linux マシンには 2 つのネットワーク インターフェイスがあり、それらは enp5s0 (マザーボード上の有線ネットワーク カード) と wlp9s0 (ワイヤレス ネットワーク カード) と呼ばれます。 lo はループバック ネットワーク カードであり、ローカル ネットワーク サービスにアクセスするために使用されます。通常、その IP アドレスは 127.0.0.1 です。

FreeBSD などの多くの UNIX バリアントで同じ ifconfig を使用して、使用可能なネットワーク カードを一覧表示することもできます。

方法2: ipコマンドを使用する

最新の Linux バージョンでは、ifconfig コマンドは非推奨になっています。次のように、ip コマンドを使用してネットワーク インターフェイスを一覧表示できます。

$ ipリンク表示

サンプル出力:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 UNKNOWN モード DEFAULT グループ デフォルト qlen 1000
リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
リンク/イーサ 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff
3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 状態 UP モード DORMANT グループ デフォルト qlen 1000
リンク/イーサ c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff


次のコマンドを使用して表示することもできます。

$ IPアドレス
$ ip -s リンク

気づきましたか?これらのコマンドは、接続されているネットワーク インターフェイスのステータスも表示します。上記の出力をよく見ると、有線 NIC がネットワーク ケーブルに接続されていないことがわかります (上記の出力の DOWN で示されています)。また、ワイヤレス カードが接続されています (上記の出力の UP から確認できます)。詳細については、Linux でネットワーク インターフェイスの接続状態を確認するための以前のガイドを参照してください。

これら 2 つのコマンド (ifconfig と ip) は、Linux システムで使用可能なネットワーク カードを表示するのに十分です。

ただし、Linux でネットワーク インターフェイスを一覧表示する方法は他にもあります。これについては以下で説明します。

方法3: /sys/class/netディレクトリを使用する

Linux カーネルは、ネットワーク インターフェイスに関する詳細情報を /sys/class/net ディレクトリに保存します。このディレクトリの内容をチェックして、使用可能なインターフェイスのリストが前の結果と一致するかどうかを確認できます。

$ ls /sys/class/net

サンプル出力:

enp5s0 低い wlp9s0

方法4: /proc/net/devディレクトリを使用する

Linux オペレーティング システムでは、/proc/net/dev ファイルにネットワーク インターフェイスに関する情報が含まれています。

利用可能なネットワーク カードを表示するには、次のコマンドを使用して上記のファイルの内容を表示します。

$ cat /proc/net/dev

サンプル出力:

インター|受信|送信
フェイス | バイト パケット エラー ドロップ FIFO フレーム 圧縮 マルチキャスト | バイト パケット エラー ドロップ FIFO コール キャリア 圧縮
wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0
enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0

方法5: netstatコマンドを使用する

netstat コマンドは、ネットワーク接続、ルーティング テーブル、インターフェイス統計、マスカレード接続、マルチキャスト メンバーシップなど、さまざまな情報を一覧表示できます。

$ ネットスタット -i

サンプル出力:

カーネルインターフェーステーブル
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR フラグ
65536 171420 0 0 0 171420 0 0 0 LRU
wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU

netstat は非推奨であり、 netstat -iの代わりはip -s linkであることに注意してください。また、このメソッドでは、使用可能なすべてのインターフェースではなく、アクティブ化されたインターフェースのみがリストされることに注意してください。

方法6: nmcliコマンドを使用する

nmcli は、NetworkManager を制御し、ネットワークの状態を報告するために使用されるコマンドライン ツールです。ネットワーク接続の作成、表示、編集、削除、有効化、無効化、およびネットワーク ステータスの表示に使用できます。

Linux システムに NetworkManager がインストールされている場合は、次のコマンドを使用して、nmcli を使用して利用可能なネットワーク インターフェイスを一覧表示できます。

$ nmcli デバイスステータス

または

$ nmcli 接続表示

Linuxで利用可能なネットワークインターフェースを見つける方法がわかりました

Linux で利用可能なネットワーク インターフェイスを見つける他の簡単な方法をご存知の場合は、下のコメント セクションで共有してください。コメントを確認して、このガイドを更新します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux DMAインターフェースの知識ポイントの詳細な説明
  • Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ
  • LinuxシステムはPythonを使用してネットワークインターフェースを監視し、ネットワークの入出力を取得します。
  • Linux での BSD ソケット開発の基礎入門
  • Linux オペレーティングシステムでの BSD ソケット開発の基礎入門
  • Linux /etc/network/interfaces 設定インターフェース方法

<<:  antd+reactプロジェクトをviteに移行するためのソリューションの詳細な説明

>>:  MySQL の FIND_IN_SET() と IN の違いを簡単に分析します

推薦する

Vue の一般的な問題と解決策の概要 (推奨)

Vue に限定されず、他の種類の SPA プロジェクトにも当てはまる問題がいくつかあります。 1....

CSS の div の下の同じ行にある複数の要素を右揃えにする

方法1:フロート:右さらに、フローティングにするとレイアウトがよりコンパクトになります(隙間がなくな...

MySQL がエラーを報告: ファイルが見つかりません: './mysql/plugin.frm' 解決策

問題を見つける最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことで...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

uniapp WeChatミニプログラムのグローバル共有を実装するためのサンプルコード

目次グローバル共有コンテンツファイルを作成するファイルをインポートしてグローバルに登録するページ共有...

SQL Server データベース エラー 5123 の解決方法

なぜなら、SQL Server 2005 に基づくデータベース チュートリアルがあり、そこで使用され...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

vue3 テレポートの詳細な使用例

公式ウェブサイトhttps://cli.vuejs.org/ja/ガイド/場合によっては、コンポーネ...

Linuxシステムにmsfをインストールするプロセスの詳細な説明

または、インストールプロセスを自分で書き留めてください。私のサーバーシステムはAliyun Linu...

vueプロジェクトのマルチ環境設定(.env)の実装

目次マルチ環境構成とは何ですか? また、なぜそれが必要なのですか? .env ファイルはどこで設定さ...

mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...

Vueドロップダウンメニューのコンポーネント開発の詳細説明

この記事の例では、Vueドロップダウンメニューのコンポーネント開発の具体的なコードを参考までに共有し...

JS は Web ページナビゲーションバーの特殊効果を実現します

この記事では、ネイティブ JS を使用して実装された実用的な Web ナビゲーション バー効果を紹介...

CSS3のtransform属性で実装される4つの機能

CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...