
Open_Ports を使って Mac OS X のすべてのオープンネットワーク接続を監視する
無料のコマンドラインユーティリティ「open_ports.sh」を使えば、受信転送と送信転送の両方において、開いているすべてのネットワーク接続を監視できます。open_Portsは、lsofを使って開いているインターネット接続を一覧表示するよりもはるかに便利です。接続を開いているプログラムまたはプロセス、ポートとユーザー、プロセスごとの接続数、接続先のホスト名、国、さらには都市名など、広範なネットワーク情報を非常に読みやすい形式で提供するためです。
さらに、open_ports は、接続を待機しているすべてのオープンポートを表示します。アプリケーション、ユーザー、ポート番号と名前、さらにはサービスの IP アドレス範囲に関する情報も表示されます。出力はすべて色分けされており、赤い背景はプロセスがルートによって所有されていること、赤いテキストは IP アドレスがドメイン名と一致していないこと、青いテキストは IP アドレスが複数のドメイン名に一致していること、緑のテキストはプロトコルが暗号化されていることを示します。
インストールにはコマンドラインの知識が多少必要ですが、このようなアプリケーションが必要な場合はおそらく問題ないでしょう。それでは始めましょう…
Mac OS XにOpen_Portsをインストールする
これらはスウェーデンのルンド大学の開発者ページから直接提供されたインストール手順であり、Mac OS X 10.6.8 で動作することが確認されています。
警告:これはroot権限で実行されるbashスクリプトであり、Webから他のスクリプトをダウンロードします。これは明らかに潜在的なセキュリティ上の問題を抱えており、セキュリティ上の問題に不安がある場合や、ネットワーク環境が脆弱な場合は使用をお勧めしません。このスクリプトは意図したとおりに動作し、必要に応じてbashスクリプトのソースコードをご自身で確認することもできますが、サードパーティ製のスクリプトをroot権限で実行することに疑問や不安がある場合は、lsofなどを使用して、開いている接続を監視する別の方法を使用することをお勧めします。自己責任で実行してください。
http://fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/open_ports_install.shからインストール スクリプトを取得します。- ターミナルを起動する
- ルートになる: 通常ユーザーの場合は次のように入力し、管理者ユーザーの場合は次のように入力します。
sudo adminusernamne
sudo -i
sudo -i
- インストール スクリプトのアクセス権を設定します
chmod 755 open_ports_install.sh
(場所を特定する必要があります)- スクリプトを実行します:
./open_ports_install.sh
- インストールは通常すぐに完了します。Linuxの場合はこれで完了です。Macの場合は、GeekToolを開いた状態でインストールします。インストールするには、.PrefPaneをダブルクリックしてください。
- GeekToolの場合:「Shell」というアイコンをクリックし、デスクトップの何もない場所(ウィンドウがない場所)にドラッグします。サイズも調整します。
- 「プロパティ」ウィンドウが開きます。入力する必要があるのは以下のとおりです。
- コマンド: open_ports.sh
- 更新間隔: 120秒
- フォントを等幅フォントに変更します(Menloと白のフォント色を使用しています)
- これでGeekToolを閉じてください
open_ports のもう一つの優れた点は、Mac OS X版がGeekToolで使用できるように構築されているため、出力をMacのデスクトップに表示できることです。GeekTool経由で使用する場合、よりシンプルな背景画像を使用することをお勧めします。そうでないとテキストが読みにくくなります。これはOS X Lion Galaxyの壁紙を背景にした場合の見え方です。
Mac OS X から open_ports をアンインストールする場合は、root として次のコマンドを使用します。
launchctl stop se.lth.cs.open_ports
launchctl unload /Library/LaunchDaemons/se.lth.cs.open_ports.plist
その後、スクリプトを削除できます。
rm -rf /usr/bin/open_ports.sh (the script)
rm -rf /Library/LaunchDaemons/se.lth.cs.open_ports.plist (the gather control)
rm -rf /Library/cs.lth.se/OpenPorts (the data files)
ご興味があれば、Linux版もございます。この素晴らしいユーティリティはMacWorldで見つけたのですが、MacWorldでは実際にスクリプトの動作確認はしていません。しかし、間違いなく動作することを確認しました。