CentOS8でネットワークの情報に関する便利なコマンドをまとめました。
LinuxOSで確認できるインターフェースの状態やソケット情報、プロトコルの情報などを確認したいときのコマンドをまとめました。
「CentOS8」ネットワークインターフェースの接続状態・ソケットの接続などの情報を表示するコマンド一覧
以下ではインターフェース・ソケット情報のコマンドと出力結果をまとめます。
インターフェース周りで確認したいことがある場合に便利なコマンドとなります。
ネットワークインターフェースの接続状態確認
「netstat -i」
見やすさで言うと「netstat」コマンドの方が一眼でわかりやすいです。
インターフェースの送受信パケットの状況を1行で確認することができます。
リンクUP/DOWN状態は確認できませんが、表示されているのは、アクティブ状態のインターフェースが表示されます。
$ netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg docker0 1500 0 0 0 0 0 0 0 0 BMU eth0 1500 8516 0 0 0 7223 0 0 0 BMRU lo 65536 0 0 0 0 0 0 0 0 LRU
「ip -s link」
インターフェースのリンクUP/DOWN、MTU値などを確認、送受信のパケット情報を確認するときに便利です。
$ ip -s 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
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
------中略------
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
RX: bytes packets errors dropped overrun mcast
9999414 8471 0 0 0 0
TX: bytes packets errors dropped carrier collsns
706612 7193 0 0 0 0
ソケットの接続状態確認
「ss」
現在どのソケットがオープン状態で、送受信したデータのバイト数を確認することができます。
$ ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 197094 * 198007
u_str ESTAB 0 0 * 197087 * 198001
------中略------
tcp ESTAB 0 0 172.17.0.2:ssh 172.17.0.1:63208
また、全てのソケットの接続状態を確認する場合は「-a」オプションをつけて実行します。
$ ss -a
「netstat」
netstatのデフォルトでの表示はオープンにされているソケット情報を一覧表示で確認することができます。
$ netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 centos8:ssh _gateway:63208 ESTABLISHED Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 3 [ ] DGRAM 194434 /run/systemd/notify unix 2 [ ] DGRAM 194435 /run/systemd/cgroups-agent ------中略------ unix 3 [ ] STREAM CONNECTED 196864 /run/dbus/system_bus_socket unix 3 [ ] STREAM CONNECTED 195091 Active Bluetooth connections (w/o servers) Proto Destination Source State PSM DCID SCID IMTU OMTU Security Proto Destination Source State Channel
こちらも同じく全てのソケットの接続状態を確認するには「-a」オプションを付けて実行します。
$ netstat -a
ソケットの接続状態を名前解決せず、IPアドレスで表示する
ソケット情報を表示するときに対象のアドレス表示を名前解決をせず「IPアドレス」で表示する場合は「-n」オプションを使用します。
「ss」
$ ss -an
「netstat」
$ netstat -an
対象プロトコルのみのソケット状態確認
以下では全てのソケット状態を表示し、ネットワークアドレスの名前解決をせず、IPアドレスで表示し、全てのTCPソケット状態を確認するときに表示するコマンドとなります。
「ss -ant」
ssコマンドでのTCPソケット状態を表示する際の出力結果
$ ss -ant State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* ESTAB 0 0 172.17.0.2:22 172.17.0.1:63208 LISTEN 0 128 [::]:22 [::]:*
「netstat -ant」
見やすさで言えば「netstat」コマンドの方がコンパクトで見やすいです。
$ netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 172.17.0.2:22 172.17.0.1:63208 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN
各プロトコルの統計情報を確認
使用されているプロトコルの統計情報を表示する際のコマンドとなります。
「ss -s」
各プロトコルの統計情報を見やすく表示できるコマンドです。
$ ss -s Total: 70 TCP: 14 (estab 1, closed 11, orphaned 0, timewait 0) Transport Total IP IPv6 RAW 0 0 0 UDP 0 0 0 TCP 3 2 1 INET 3 2 1 FRAG 0 0 0
「netstat -s」
パケットの送受信など詳細な確認をしたい場合は以下のコマンドが便利です。
$ netstat -s
------中略------
Tcp:
173 active connection openings
2 passive connection openings
0 failed connection attempts
0 connection resets received
1 connections established
8582 segments received
7215 segments sent out
2 segments retransmitted
4 bad segments received
0 resets sent
Udp:
383 packets received
0 packets to unknown port received
0 packet receive errors
383 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
TcpExt:
166 TCP sockets finished time wait in fast timer
4 delayed acks sent
Quick ack mode was activated 74 times
1810 packet headers predicted
349 acknowledgments not containing data payload received
1662 predicted acknowledgments
------中略------
以上がCentOS8におけるネットワークインターフェースの接続状態、パケット情報を確認するコマンド一覧となります。

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

コメント