Linuxのネットワーク系コマンド一覧

 UNIX系といっても、Solaris系、BSD系、Linux系と系列が違う場合、コマンド操作での若干の違いがあります。それぞれのコマンドの詳細などは man コマンドを使用することで確認できます。また、--help オプションでの指定も可能です。今回はLinux系を対象にしていきます。

ifconfig
ifconfig LANインタフェースの各種情報を表示したり、動作の設定をしたりするためのコマンド。情報を表示する際には-aや-sといったオプションを使う。設定をする際にはLANインタフェース名に続いてオプションを指定する構文となる。
[-a]|[adapter] 装着しているLANインタフェースの設定情報や状態情報および統計情報を表示する。オプションを特に指定しなかった場合は、現在UP状態のLANインタフェースの情報を表示する。-aオプションを指定した際には休止中ものも含めすべてのLANインタフェースの情報を表示する。LANインタフェース名を指定した際には、指定したLANインタフェースの情報を表示する。
-s [[-a]|[adapter]] LANインタフェースの統計情報を表示する。-sオプションだけを指定すると、現在UP状態のLANインタフェースの統計情報を表示する。-aオプションを一緒に指定した際には休止中ものも含めすべてのLANインタフェースの統計情報を表示する。LANインタフェース名を指定した際には、指定したLANインタフェースの統計情報を表示する。
netstat
netstat ネットワークに関する各種情報を表示する。コネクション情報、プロトコル統計情報、イーサネット統計情報、ルーティング情報などを表示できる。アクティブな(TCPの場合はコネクションが確立されている)ソケットの一覧を表示する。オプションがない場合は、アクティブな(TCPの場合はコネクションが確立されている)ソケットの一覧を表示する。
{--route|-r} ルーティング・テーブルに関する情報を表示する。
{--interfaces|-i} LANインタフェースに関する情報を表示する。
{--groups|-g} マルチキャスト・グループに関する情報を表示する。
{--statistics|-s} ネットワークの統計情報を表示する。
route
route コンピュータが管理するルーティング・テーブルの情報を表示あるいは設定する。ルーティング・テーブルを表示する使い方と、addやdelのオプションを用いてルーティング・テーブルを追加削除する使い方の2種類に大きく分かれる。これら2種類でオプションは大きく異なり、同時に組み合わせての使用はできない。オプションがない場合は、FIB(フォワーディング・インフォメーション・ベース:静的ルーティング・テーブル)の経路情報を表示する。
{-C|--cache} カーネルにキャッシュされた経路情報を表示する。
{-F|--fib} FIBテーブルの経路情報を表示する。ルーティング・テーブルの情報を表示させるためにrouteコマンドを使う場合はデフォルトで-Fオプションを指定したことになっており、-Cオプションを指定したとき以外はFIBテーブルの経路情報を表示する。-Cオプションと-Fオプションを同時に指定した場合は-Cオプションが優先される。
{-v|--verbose} 詳細表示モードで実行する。-vオプションはデバッグ・オプションとして受け付けられる(エラーとならない)が、実際の挙動には何も影響しない。
{n|--numeric} ホスト名の名前解決をせずにIPアドレスで表示する。
{--extend|-e} netstatコマンドのフォーマットで詳細な情報を表示する。
add ルーティング・テーブルにエントリを追加する。
del ルーティング・テーブルのエントリを削除する。
arp
arp IPアドレスとMACアドレスの対応付けを保存しているARPキャッシュを管理する。キャッシュのエントリを表示する使い方と、エントリを追加削除する使い方の2種類に大きく分かれる。
{-v|--verbose} 詳細な情報を表示する。
{-n|--numeric} 各ARPエントリのIPアドレス情報を表示する際に、ホスト名の名前解決をしないように指定する。
{-s|--set} ARPキャッシュに指定したホスト名またはIPアドレスに対応するMACアドレスを設定する。
{-d|--delete} 指定したエントリをARPキャッシュから消去する。
ping
ping ICMPのecho要求メッセージを送信し,相手とのIPレベルでのネットワークの接続状況を調べる。
-L マルチキャスト・パケットのループバックを抑制する。
-R echo要求パケットにRECORD_ROUTEオプションを設定して経路情報を記録し、返送パケットの経路バッファを表示する。IPヘッダーには、最大で9個までしか経路情報を記録できない。
-b ブロードキャスト・アドレスへのecho要求パケットの送信を許可する。このオプションを指定しないと、ブロードキャストアドレスへはecho要求パケットを送信できない。
-n 送信先ホストにホスト名を指定した場合に名前解決をしない。コマンドの実行結果の出力時にホスト名を出力せず、IPアドレスのみを出力する。
-r 通常利用するルーティング・テーブルを無視し、指定した送信先ホストへ直接echo要求パケットを送信する。送信先ホストが直接接続されたネットワーク上にない場合、エラーを戻す。
-t [TTL] 送出するecho要求メッセージのTTLの値を1から255までの数値で指定する。TTLとは time to live の略で、経由させるルーターの最大数を設定できる。IPヘッダーを見ながらルーティング処理をするたびに一つずつ減らしていき、ゼロになった時点で破棄される。このオプションを特に指定しなかった場合はTTLの値としては128を設定してecho要求メッセージを送信する。
-M do|want|dont 通信相手までの経路上の最小MTUを検出する Path MTU Discovery の実行について指定する。常にPath MTU Discoveryを実行する場合は do を、Path MTU Discoveryを実行するかどうかを経路ごとの設定をもとに判断する場合は want を、Path MTU Discoveryを実行しない場合は dont を指定する。doまたはwantを指定すると、最小MTUより大きなパケットを送信してもフラグメントは実行しない。
hostname
hostname ホスト名やNIS(network information service)ドメイン名の表示、あるいは設定などをする。-vオプション以外のオプションは排他的で、基本的に1つしか指定できない。もし複数のオプションを指定した場合は最後に指定したオプションが有効になる。
-v 結果を詳細モードで表示する。コマンド内部の処理状況を逐一出力する。
{-a|--alias} gethostname関数を使って(別名があれば)別名を表示する。
{-f|--fqdn} gethostname関数を使って、完全修飾ホスト名(FQDN)を表示する。
{-d|--domain} gethostname関数を使ってドメイン名を表示する。
{-i|--ip-address} gethostname関数を使ってホストのIPアドレス(複数の場合あり)を表示する。
{-y|--yp} getdomainname関数を用いてNIS(network information system)ドメイン名を表示する。
traceroute
traceroute 指定したホストに到達するまでのネットワーク上の経路を調べて表示する。実行時には対象ホストのみは指定が必須で、それ以外のオプションは用途に合わせて指定する。
-I UDPパケットの代わりにICMP echoを使用してネットワーク経路を調べる。
-n ホスト名をDNSで解決せず、結果をIPアドレスで表示する。
-r ルーティング・テープルを使用せず、ダイレクトに指定ホストにパケットを送出する。直接到達可能なネットワークに指定ホストがない場合はエラーとなる。
-v 詳細モードで結果を表示する。
nslookup
nslookup DNSサーバーでの名前解決について問い合わせをする。DNSに関する各種の調査やデバッグに使う。最近はdigコマンドの利用が推奨されているが、古くから利用されてきたコマンドということもあり現在でも広く利用されている。DNSサーバー以外の/etc/hostsなどの情報を参照すると誤解されることがあるが、あくまでDNSサーバーの試験ツールの位置付けで、hostsファイルは調査の対象としない。
-debug
-d2
デバッグ・モードを有効にする。
d2は、詳細なデバッグ・モードを有効にする。debugよりもさらに詳細な情報が表示される。
iptables
iptables ホストで送受信するパケットのフィルタリングや,NAT(network address translation)を管理するためのコマンド。非常に多機能で複雑なコマンド。

iptablesの定義はテーブル単位で管理する。このテーブルは、パケットを制御する目的ごとにあり、iptablesコマンドではfilter、nat、mangleの3つのテーブルを用意している。このうちfilterテーブルは、パケットの許可や破棄を設定するためのものでパケットのフィルタリングのために使う。natテーブルは、パケットの送信元フィールドや、あて先フィールドを変更のために使う。mangleテーブルは、TTLの設定変更やMARK付けなどパケットの内容を変更するために使う。

iptablesで設定したルールは、パケットが通過する途中のどこで適用するかという場所ごとに チェーン と呼ぶ単位でまとめておく。ルールが、どのチェーンで適用されるかは、filter、nat、mangleの3つのテーブルごとに異なる。
{-L|--list} [filter|nat|mangle] 指定したチェーンの全てのルールを表示する。チェーンの指定を省略した際には全てのチェーンのルールが表示される。
ssh
ssh ipaddr SSHプロトコルを使ってリモートホストと暗号化通信するコマンド。セキュリティを確保しながらリモートホストに接続できる。
scp
scp file user@host:file ネットワークホスト間でファイルを安全にコピーするためのコマンド。sshを使って暗号化した通信でファイルをコピーする。
ftp
ftp ipaddr FTPサーバーに接続してファイルの転送(送受信)を行う。TCP/IPネットワーク上で,広く使われるファイル転送のコマンド。
? コマンドの一覧を確認。
wget
wget HTTPまたはFTPを使って、サーバーからファイルを取得する。ファイルの再帰取得が可能であり、Webサイトの情報を一括取得することも可能である。また、ホームページの自動巡回ツールとして利用されることもある。
ーN 取得するファイルがすでに存在する場合は、タイムスタンプで更新の有無を判断しファイルの内容が更新されている場合にのみファイルを取得する。
-c 取得するファイルの一部がすでにローカルに存在する場合、続きの部分からファイルを取得する。ファイルの取得中に接続が切断されてファイル転送が中断された場合、このオプションを指定すれば中断したファイルの続きの部分から取得を開始する。
-S サーバーからの応答ヘッダーを表示する。
-r 再帰的にファイルを取得する。通常 wgetでファイルを取得する場合、URLで指定したファイルのみを取得するがこのオプションを指定するとURLで指定したファイルからリンクしているページについても再帰的にファイルを取得する。
-l decimal 再帰的にダウンロードする際の、取得する階層の最大の深さを数値で指定する。この場合、decimalが0を指定した場合、無制限指定となる。
-A string 再帰ダウンロードする際に取得するファイルの拡張子を指定する。通常再帰ダウンロードする場合、すべての拡張子のファイルを取得するが、このオプションを指定すると指定した拡張子のファイルのみ取得する。複数の種類のファイルを指定することも可能で、この場合コンマで区切って指定する。wget -A .jpg,.gif URL など。
-R string 再帰ダウンロードする際に取得しないファイルの拡張子を指定する。このオプションを指定すると、通常再帰ダウンロードする際に指定したファイルは取得しなくなる。複数の種類のファイルを指定することも可能で、この場合コンマで区切って指定する。
-L 再帰ダウンロードする際に、相対リンクで指定されているファイルのみを取得する。通常再帰ダウンロードする場合には全てのリンクで指定されているファイルを取得するが、このオプションを指定すると相対リンクで指定されているファイルのみを取得する。そのため、絶対リンクで他のサイトを指定しているような場合に、そのサイトのファイルを取得対象から外すことができる。
service
service 指定されたLinuxデーモン(サービス)の起動や停止、ステータスの確認を実行する。実際はシェルスクリプトであり、/sbin/serviceをテキストエディタなどで開くとスクリプトの中身を確認できる。また、serviceコマンドの中では、/etc/init.d(/etc/rc.d/init.d)にあるサービススクリプトを実行しているだけである。そのため、/etc/init.d以下のスクリプトを直接実行してもserviceコマンドと同じ作業ができるが、全サービスのステータスを表示したりパスをいちいち入力する必要がないため、コマンドとして使ったほうが便利である。
--status-all 全てのサービスについてのステータスを表示する。このオプションは、/etc/init.d以下にスクリプトがあるサービスが対象となるが、functionsやhalt、killallといった特別なスクリプトに関しては除外される。
service [option] 起動・停止・ステータス確認などを行いたいサービス名称を指定する。サービス名は、/etc/init.d以下にあるスクリプトファイル名をとなる。指定したサービススクリプトが、/etc/init.d以下に無ければエラーが返される。オプションは指定したサービスにより異なるが、start、stop、statusなどがある。
dig
dig DNSサーバーにドメイン情報を問い合わせて表示する。同様にDNSサーバーにドメイン情報を問い合わせる nslookup コマンドはDNSサーバーからの応答を一部加工した形式で表示するのに対して、digコマンドではDNSサーバーからの応答を基本的に加工せずに表示する。
@domain 検索に利用するDNSサーバーを、ドメイン名またはIPアドレスの形式で指定する。ドメイン名を指定した場合、DNSのリゾルバでドメイン名の名前解決をして、利用するDNSサーバーに問い合わせる。自身でDNSサービスを提供していない場合、/etc/resolv.confファイルの中で指定したドメイン名の名前解決ができるDNSサーバーを指定しておく必要がある。
-x ipaddr 逆引きアドレス変換を行う際に利用する。
host
host DNSサーバーで名前解決する情報について問い合わせをする。nslookupコマンドやdigコマンドと同様に、DNSに関する各種の調査やデバッグに使える。
-a DNSに登録されているレコードのすべてを検索し、結果を詳細表示する。-v -t ANY と指定した場合と同等の動作となる。
-d DNSの問い合わせ結果を詳細に出力する。
-l DNSのゾーン転送を要求し、その結果を出力する。
-v DNSの問い合わせ結果を詳細に出力する。
-t {..} 検索対象のリソースレコード(RR)のタイプを指定する。A IPアドレス、CNAME エイリアス、NS DNSサーバー、MX メールサーバー、ANY すべて。
chkconfig
chkconfig 起動スクリプトを管理する。/etc/rc[0-6].d ディレクトリの配下にあるシンボリックファイル(実体は /etc/init.d ディレクトリ配下)の生成や変更削除、各サービスの起動に関する設定をする。
--list Linuxの動作モードを意味する各ランレベルごとの起動スクリプトの状態を表示する。起動スクリプト名を省略した場合は、すべての起動スクリプトの状態を表示する。
--add 起動スクリプトを管理対象として追加する。起動スクリプト内に記述されている設定を元に /etc/rc[0-6].d ディレクトリ配下に起動スクリプト(シンボリック)が配置される。
--del 起動スクリプトを管理対象から削除する。/etc/rc[0-6].d ディレクトリ配下から起動スクリプトを削除する。
--level [0-6] script {on|off|reset} 各ランレベルにおける起動スクリプトの状態を設定する。ランレベルは0〜6の整数値で指定する(0:システムの停止、1:シングルユーザー、2:ネットワーク機能なしのマルチユーザー、3:CUIログインのマルチユーザー、4:カスタム、5:GUIログインのマルチユーザー、6:システムの再起動)。指定を省略した場合には、ラン・レベル2,3,4,5が指定されたものと見なされる。on を指定した場合は起動スクリプトにstartという引数をつけて実行されるという設定になる。off を指定した場合はstopという引数をつけて実行される設定となる。startはサービスを起動する引数であり、stopはサービスを停止する引数である。resetを指定した場合には、起動スクリプト内に記述されているデフォルトの設定となる。
rsync
rsync 2つのディレクトリを同期させるコマンド。同一ホスト内のディレクトリだけでなく、別ホスト上にあるディレクトリとの間でも同期できる。通常のcpやftp、rcpといったコピーコマンドと比べて同期機能が充実しており、更新や追加されたファイルのみコピーしたり、同期元ディレクトリでファイルを消すとリモート側でもファイルを消去したりするといった機能を持っている。このため、ディレクトリのバックアップや、常にサーバー間で設定を最新化しておきたい場合などに便利である。
-v 同期の情報を詳細表示する。
-q 同期の情報を表示しない。cronなどによるバッチ処理などで使用する。
-a 元のパーミッションやグループなどを保持したまま同期できるので、基本的に付加しておくのがよい。アーカイブモードとも呼ばれる。
-r 指定したディレクトリ下の各ディレクトリも再帰的にバックアップする。
-u 追加されたファイルだけをコピーする。
--existing 更新されたファイルだけをコピーし、追加されたファイルは無視する。
--delete コピー元で削除されたファイルは、コピー先でも削除する。-aオプションと同時に指定することでコピー元とコピー先を同期できることになる。
--stats rsyncアルゴリズムの転送効率を表示する。
id
id 該当ユーザーのユーザーIDやグループIDを表示する。主に、権限設定などの確認の際に使用する。ユーザー名を指定しない場合、コマンドを実行したユーザーの情報を表示する。オプションを何も指定せずに執行すると、実行したユーザーのユーザーID、グループID、所属する全てのグループを表示する。
[user] 情報を表示するユーザー名を指定する。このオプションを指定すると、指定したユーザーに関する情報を表示する。オプションの指定を省略した場合、コマンドを実行したユーザーの情報を表示する。
who
who 現在ログインしているユーザーの情報などを確認する。
-b システムが起動された時刻を表示する。

TOP