Linuxのネットワークコマンドは、net-toolsパッケージからiproute2に移行が進んでいます。本稿では、iproute2のipとssコマンドの使用方法をまとめます。
記事の目次
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」を使用すると名前解決を行わずに表示できます。「-4」のオプションを使用するとipv4に絞ることができます。ポートを使用するプロセスを表示する「-p」オプションを使用する場合は、root権限で実行します。
# ss -4tlnp
ネットワークコマンド番外編: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パッケージのコマンドに移行していきましょう。
関連記事
関連書籍(Amazon)