Linux豆知識 110
netstatコマンド
公開日:2012年08月24日
netstatコマンドは、ホストのネットワーク接続状態やソケット・インターフェイスごとのネットワーク統計などを表示するコマンドです。コンピュータの、ネットワーク接続の一覧やそのステータス、統計、エラー状態なども表示できます。ネットワーク状態を調べるのに非常に便利かつ欠かせないコマンドだと言えます。
netstatは、引数なしで実行すると全ての有効な接続が表示されます。UNIXドメインソケットの情報も表示されるため、非常に数多くの行が表示され、少々見づらくなってしまいます。この対策としては、-t(tcp)、-u(udp)、-w(ICMP・RAW)オプションを使い、以下のように実行するとよいでしょう。
$ netstat -atuw
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 52 192.168.1.10:ssh 192.168.1.12:65116 ESTABLISHED
「LISTEN」はリッスン状態であることを、「ESTABLISHED」は、接続が成立していることを表します。
netstatコマンドの出力を見て注視すべきは、状態が「LISTEN」となっているところです。-aオプションで出力されます。LISTENは、外部からの接続を、ポートを開放して待っているという状態です。netstatを実行し、LISTENの表示されているところを見ることで、思わぬポートがLISTEN状態になっていないか?を確認することは重要です。この作業により、思わぬポートが開いているとわかった場合、セキュリティに問題がありますので、原因を突き止めて対策をしたほうがよいでしょう。
netstatコマンドには、他にもさまざまなオプションがあります。LISTEN状態の接続のみを表示する「-l」オプション、詳細な情報を表示する「-v」オプション、インターフェイスごとのパケット統計を表示する「-i」オプション、ネットワークの統計を表示する「-s」オプション、マスカレード接続の表示を行う「-M」オプション、マルチキャストのグループ情報を表示する「-g」オプション、ルーティングテーブル情報を表示する「-r」オプションなどがあります。これらのオプションを利用すると、netstatはさまざまな情報を出力します。中には、他のオプションを指定したときとは全く異なる出力となるオプションもあります。これらをマスターすれば、ネットワークの状態を調べたいときに大きな力になってくれるでしょう。
使い方も多様なnetstatコマンド、それだけに得られる情報も多様になりますので、ぜひ負けずに取り組んでみてください。