UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

MacOS Xでstrokeを使ってポートスキャン

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/
mbp17:Network Utility.app ujpadmin$ cd Contents/Resources/
mbp17:Resources ujpadmin$ ls -la
total 536
drwxrwxr-x 22 root admin 748 2 22 2008 .
drwxrwxr-x 8 root admin 272 11 25 2007 ..
drwxrwxr-x 5 root admin 170 4 26 2007 Dutch.lproj
drwxrwxr-x 5 root admin 170 11 25 2007 English.lproj
drwxrwxr-x 5 root admin 170 3 30 2007 French.lproj
drwxrwxr-x 5 root admin 170 4 13 2007 German.lproj
drwxrwxr-x 5 root admin 170 4 16 2007 Italian.lproj
drwxrwxr-x 5 root admin 170 4 13 2007 Japanese.lproj
-rw-rw-r-- 1 root admin 221870 11 25 2007 Network Utility.icns
drwxrwxr-x 5 root admin 170 4 19 2007 Spanish.lproj
drwxrwxr-x 5 root admin 170 4 18 2007 da.lproj
drwxrwxr-x 5 root admin 170 4 19 2007 fi.lproj
drwxrwxr-x 5 root admin 170 5 30 00:50 ko.lproj
drwxrwxr-x 5 root admin 170 5 5 2007 no.lproj
drwxrwxr-x 5 root admin 170 8 17 2007 pl.lproj
drwxrwxr-x 5 root admin 170 8 8 2007 pt.lproj
drwxrwxr-x 5 root admin 170 4 16 2007 pt_PT.lproj
drwxrwxr-x 5 root admin 170 8 24 2007 ru.lproj
-rwxrwxr-x 1 root admin 46944 11 25 2007 stroke
drwxrwxr-x 5 root admin 170 4 19 2007 sv.lproj
drwxrwxr-x 5 root admin 170 4 6 2007 zh_CN.lproj
drwxrwxr-x 5 root admin 170 8 30 2007 zh_TW.lproj
mbp17:Resources ujpadmin$
  • strokeコマンドを実行してみる.
mbp17:Resources ujpadmin$ ./stroke
2008-11-16 17:45:31.307 stroke[3582:10b] stroke address startPort endPort
mbp17:Resources ujpadmin$
  • GUIのネットワークユーティリティと同じで,調査対象となるターゲットのIPアドレスとポート番号を入力する事でスキャンが可能となる.
  • GUIで実行したものと同じ様にポート番号1〜1024番をスキャンしてみる.
mbp17:Resources ujpadmin$ ./stroke localhost 1 1024
Port Scanning host: 127.0.0.1

Open TCP Port: 22 ssh
Open TCP Port: 631 ipp

mbp17:Resources ujpadmin$
  • コマンドライン版が利用できれば,複数サーバの同時スキャン等も可能となる.


広告スペース
Google