Linuxのネットワークコマンドの使用方法(ipコマンド/ssコマンド)

Linuxのネットワークコマンドは、net-toolsパッケージからiproute2に移行が進んでいます。本稿では、iproute2のipとssコマンドの使用方法をまとめます。net-toolsパッケージのifconfig、arp、route,、netstatコマンドから卒業しましょう。

使用環境

  • Ubuntu 18.04.3 Desktop

ipコマンドとssコマンドのバージョン表示

ipコマンドとssコマンドのバージョンを表示します。

$ ip -V
ip utility, iproute2-ss180129
$ ss -V
ss utility, iproute2-ss180129

ipコマンドでアドレス表示

ipコマンドでアドレス表示を行います「ip address(省略形:ip a)」コマンドを使用します。

$ ip a
$ ip address

ipコマンドでルーティングテーブルを表示

ipコマンドでアドレス表示を行います「ip route(省略形:ip r)」コマンドを使用します。

$ ip r
$ ip route

※ルーティングテーブルへの追加、削除は、「ip route add」、「ip route del」コマンドを使用します。

ipコマンドでARPテーブルを表示

ipコマンドでアドレス表示を行います「ip neigh(省略形:ip n)」コマンドを使用します。

$ ip n
$ ip neigh

※ARPテーブルへの追加、削除は、「ip neigh add」、「ip neigh del」コマンドを使用します。

ssコマンドでネットワークの接続状況を表示

ssコマンドで、ネットワークの接続状況を表示します。「ss」のみのオプション無しで実行すると、unixドメインソケットが大量に表示されて見にくいので、「-t」オプションでTCP接続に絞るなどしたほうがよいでしょう。「-n」を使用すると名前解決を行わずに表示できます。

$ ss -tn

ssコマンドでリスニングポートを表示

ssコマンドで、「-l」オプションを使用して、リスニングポートを表示します。「-n」を使用すると名前解決を行わずに表示できます。

$ ss --tln

ネットワークコマンド番外編:pingコマンド

pingコマンドは、従来通り使用できます。

ネットワークコマンド番外編:tracerouteコマンド

Ubuntu 18.04 LTSでは、デフォルトでtracerouteコマンドがインストールされていません。

$ traceroute

Command 'traceroute' not found, but can be installed with:

sudo apt install inetutils-traceroute
sudo apt install traceroute

どちらをインストールするか迷うところですが、Linuxでの使用ならば、tracerouteパッケージの方が機能が多く便利なようです。「inetutils-traceroute」は、GNU版とのことでこちらでも問題ないですが、両方インストールした状態で「traceroute」と打つと、私の環境ではGNU版が実行されます。どちらかのみをインストールしたほうが分かりやすいでしょう。

おわりに

Linuxのネットワーク環境は、日々進歩を重ねているようなので、net-toolsパッケージからiproute2パッケージのコマンドに移行していくようにしましょう。