ポートスキャンについて勉強しました。NmapをMACで実際インストールしてみました。
ポートスキャンについて
ポートとは
ポートについてはこちらそご覧ください。⬇️
ポートスキャンとは
ポートを調べることを言う。
ポートを調べるには、ポートスキャナーというものを使います。
ポートスキャナーとは
ポートの状態を調べるための「nmap」や「Zenmap」などのツールのこと。
特別な技術がなくても、ポートスキャナーさんが全部調べてくれます。つまり誰でもできます。
ポートスキャナーの仕組み
ターゲットのポートにむかって通信をして、その反応をみることでポートの状態を調べます。
ポートスキャンでどんなことがわかるのか?
- あいているポート
- しまっているポート
- どんなサービスを使っているのか。
- ファイアーウォールでアクセス制限されているポート
- 開いているポートで動いているサービスの情報
- ターゲットのOS情報
ポートスキャンの種類
ポートスキャンには下記ような種類があります。
- TCPスキャン
- SYNスキャン
- FINスキャン
- クリスマスツリースキャン
- NULLスキャン
- UDPスキャン
注意すること
他者が管理しているものにポートスキャンをしたりやサイバー攻撃をすると、犯罪行為となります。
Nmapインストール方法
Nmapツール
Network Mapperの略で、Linux、Windows、Mac OSなどで無料で使うことができる。
ターゲットに対してポート番号を変えながらIPパケットを送信する。そしてその反応を調べる。
ダウンロードの方法
Linux環境
多くのLinuxディストリビューションで公式パッケージが提供されている。
CentOSなどでは「nmap」というパッケージでNmapのバイナリが提供されており、yumコマンドでインストールできる。
#yum install nmap
#yum install nmap-frontend
nmapのバージョンが古い場合は、nmap.orgダウンロードページからバイナリやソースコード、ソースRPMを利用してインストールできる。
Windows環境
nmap.orgダウンロードページの真ん中ぐらいに「Microsoft Windows binaries」という項目があり、そこにインストーラおよびZIPアーカイブのダウンロードリンクが用意されている。(Zenmap他、各種ツールが入っている)
MAC環境
nmap.orgダウンロードページでMac OS X(x86版)向けのバイナリがあるのでそれをダウンロードする。
「nmap-7.91.dmg」をクリックする。
⬇️
ダウンロードされるので、「nmap-7.91.dmg」をクリックする。
⬇️
すると👆が現れるので「nmap-7.91.mpkg」のところを右クリックして開くをクリックする。
⬇️
このPOPが出るので、「開く」をクリックする。
⬇️
するとインストーラーが開くので、「続けるを」クリックする。
⬇️
そのままインストールを押すと、「インストール準備中」と表示がでますのでしばらく待ちます。
⬇️
許可するかのPOPがでたら、パスワードを入力して「ソフトウェアをインストール」ボタンを押す。
⬇️
これでインストール完了です。「閉じる」を押すとインストーラーをゴミ箱にいれますか?ときかれるので、ポイしましょう。
確認の為にアプリケーションを開いてみると入っていました。
はて?Nmapを入れたはずだけど、「Zenmap.app」が入ってましたけど、マークが一緒だからおなじものかなー?
これで「ダウンロード」+「インストール」は完了です。
使い方
「Zenmap.app」をダブルクリックするとこの画面がでました。
ターゲットのところに、ドメイン名を入れてみるとIPアドレスやサーバの情報など、たくさんの情報が表示されました。
なんだか恐ろしいです。
ターミナルで使用する場合
appでなくて、ターミナルで利用する場合は下記の通りです。
「nmap 対象のIPアドレス(またはホスト名)」
# nmap ◯◯.com/
〜・・・〜
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
995/tcp closed pop3s
3000/tcp closed ppp
8080/tcp closed http-proxy
Nmap done: 1 IP address (1 host up) scanned in 38.84 seconds
空いているポート番号:22、25、80
閉まっているポート番号:995、3000、8080
とわかる。
空いていると言うことは、そこのポートのサービスが使える状態になっているということ。
閉じていると言うことは、そこに対応するサービスが使われていないということです。
他にもこんな状態があります👇
状態 | 内容 |
---|---|
open | ポートが開いている。 |
closed | ポートが閉じている。 |
filtered | パケットフィルタが適用されており、ポートが利用中であるかは判断できない。 |
unfiltered | ポートへのアクセスは可能の状態であるが、ポートが開いているかどうかはわからない。 |
open|filtered | ポートは開いている、もしくはパケットフィルタが適用されているが、どちらかは判断できない。 |
closed|filtered | ポートは閉じられている、もしくはパケットフィルタが適用されているが、どちらかは判断できない。 |
# nmap -v nantoka.com
-vオプションを付けてnmapコマンドを実行すると、より詳細なログが出力される。
# nmap -A nantoka.com
-Aオプションをつけると、ポートスキャンに加えてターゲットのOSやサービスのバージョンに関する情報も確認できる。
オプション | 意味 | 指定例 |
---|---|---|
-sS | TCPでスキャン(デフォルト) | -sS |
-sU | UDPでスキャン | -sU |
-p ポート番号 | ポート番号を指定 | 単数:80、複数:79-80や79.80と指定する |
-p T:ポート番号 | TCPポート番号を指定 | 単数:80、複数:79-80や79.80と指定する |
-p U:ポート番号 | UDPポート番号を指定 | 単数:80、複数:79-80や79.80と指定する |
TCPでスキャンをする場合
# nmap -p 79-80 192.168.◯.◯
UDPでスキャンをする場合
nmap -sU -p 52,53 192.168.◯.◯
TCP/UDPどちらもスキャンする場合
nmap -sU -sS -p 79-80 192.168.◯.◯
- TCP SYNスキャン(-sS)
- TCP connectスキャン(-sT)
- UDPスキャン(-sU)
- TCP Nullスキャン(-sN)
- FINスキャン(-sF)
- Xmasスキャン(-sX)
- TCP ACKスキャン(-sA)
- TCPウィンドウスキャン(-sW)
- TCP Maimonスキャン(-sM)
こういうものがあるようです。
詳しくは、こちらのサイトが詳しいです。
https://qiita.com/hana_shin/items/f3281b3401e06b3c8439
ではでは、また何か調べたら続きを書いていきます。