【CentOS8】ネットワークインターフェースの接続状態・ソケットの接続情報を表示するコマンドまとめ


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におけるネットワークインターフェースの接続状態、パケット情報を確認するコマンド一覧となります。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!