2006年06月07日

ss コマンド -- netstat と IPv6 アドレス

はてなブックマークに登録

netstat コマンドは,routing テーブルを表示したり統計を表示したりのにも使えますが,なんと言っても一番よく使うのは,現在開かれている TCP や UDP のポートの一覧を得たいときでしょう.サーバを管理する上でこの一覧は非常に重要で,日々お世話になっています.ただ,最近時々困った場面に出くわすことが度々ありました.それは,netstat コマンドで IPv6 アドレスを使ったコネクションのリストを取得しようとすると,アドレスの(表示上の)長さによっては途中でとぎれてしまうのです.これはどうやら, netstat コマンドがアドレスを表示するのに使用する文字幅が(端末の横幅に関係なく)固定になっているみたいで,その決められた幅に収まらないと省略するようなのです.そして一番問題なのは,それが省略されたアドレスなのかそうでないのかが明示されないので,表示されたアドレスが信用できない,ということです.

オプションで表示幅を変えられないか探してみたのですが,それらしいオプションもありませんでした.そんな時,ss コマンドに出会いました.ss コマンドは,netstat と完全互換,というわけではありませんが,コネクションの一覧を取得することができ,長い IPv6 アドレスも省略しません.

ss コマンド自体は,iproute2 のパッケージに入っています.またこのコマンドを使うためには,カーネルオプションの INET_DIAG を有効にしておく必要があります.使い方は… netstat コマンドを使ったことがある人ならすぐに分かると思いますので,IPv6 アドレスに悩まされている方は是非お試し下さい.
klab_gijutsu2 at 21:39│Comments(1)TrackBack(0)

トラックバックURL

この記事へのコメント

1. Posted by v6_Johnny_Raw   2009年10月08日 16:31
5 まさにドンピシャの記事! Win側のnetstatでは括弧でくくられて全て見えるのに、Linux側では何故..と思っていました。ありがとうございます!

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント