MacOS Xでstrokeを使ってポートスキャン
0.改訂履歴
- 2008.11.16 新規作成
1.はじめに
このドキュメントでは,MacOS Xを使ってポートスキャンを行う手順を説明する.
ポートスキャンとは,TCPおよびUDPで利用される通信上の受付口である「ポート」を探す行為である.
ポートとは,たとえばWebブラウザやサーバで利用されるHTTPは80番ポート,HTTPSは443番ポートを利用する等,サービス毎にポート番号が決められている.(ポート番号は変更する事も可能)
ポートスキャンは,主にセキュリティ対策として利用する場合が多く,不適切なポートの解放が無いか等の確認を行う. また,外部からポートスキャンが行われている場合は不正サクセスの準備ととらえる事ができる.
ポートスキャンを行うツールとしては,Linuxで使われるnmapコマンドが有名であるが,MacOS Xには手軽に使えるGUI版とその実装であるstrokeコマンドが用意されているので,このドキュメントでは,それらの両方の使用方法を説明する.
なお,ポートスキャン行為自体が不正アクセス行為と見なされる場合もあるので,自分が管理あるは事前に管理者に通知している機器に対してのみ実施するのが好ましい.2.ネットワークユーティリティを利用する
- MacOS Xには,「ネットワークユーティリティ」というGUIツールが付属している.
- [アプリケーション]フォルダにある[ユーティリティ]を開く.

- ネットワークユーティリティをダブルクリックで起動すると,次のような画面が表示される.

- "Portscan"タブを選択し,スキャンを行いたいIPアドレスかホスト名を入力する.
- ポート番号を指定する場合は,その範囲を入力する.(入力しない場合は,0〜65535までのポート番号がスキャンされる)
- Scanボタンを押す事で,コマンドの送信結果がテキスト領域に表示される.
- ポートスキャンの時間は,ポートスキャンの範囲と相手と自分のコンピュータの処理能力よって異なってくるが,一般的に時間がかかる(全スキャンの場合は1台あたり5分程度を見込んでおく.)
3.strokeコマンドを利用する
- 先に説明した"ネットワークユーティリティ"は,MacOS Xで搭載されているstrokeコマンドを用いて実行した結果を表示しているにすぎない.
- しかし,そのstrokeコマンドは普通の場所に無いので気づかない場合が多いと思われる.
- まずは,コマンドを探す.
- strokeコマンドは,"ネットワークユーティリティ"のリソース内に格納されているので,コマンドラインで次の様にディレクトリを移動して確認する.
mbp17:~ ujpadmin$ cd /Applications/Utilities/Network\ Utility.app/ |
- strokeコマンドを実行してみる.
mbp17:Resources ujpadmin$ ./stroke |
- GUIのネットワークユーティリティと同じで,調査対象となるターゲットのIPアドレスとポート番号を入力する事でスキャンが可能となる.
- GUIで実行したものと同じ様にポート番号1〜1024番をスキャンしてみる.
mbp17:Resources ujpadmin$ ./stroke localhost 1 1024 |
- コマンドライン版が利用できれば,複数サーバの同時スキャン等も可能となる.