2015年1月23日金曜日

nmapを使ってみる

■目的
 nmapを使ったポートスキャンを試してみる。

■参考にさせて頂いたサイト
http://nmap.org/man/jp/index.html

■前提
まずはyum install で nmapをインストールしておく。
#yum install nmap

スキャン先は通常サーバーを指定すると思うが今回はArista-SWに対してスキャンしてみる。

■試してみる
①まずはSWのIPを指定して普通に実行してみる。

[root@centos ~]# nmap 192.168.1.7

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 12:59 JST
Nmap scan report for 192.168.1.7
Host is up (0.00026s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    open   http
161/tcp   open   snmp
179/tcp   closed bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 4.75 seconds

特にポートを指定しなければ上記のポートをスキャンしてくれるようだ。
②次にサイトを参考にしてポート指定で実行してみる。
[root@centos ~]# nmap 192.168.1.7 -p 22 

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:08 JST
Nmap scan report for 192.168.1.7
Host is up (0.00050s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 2.08 seconds

③次は複数ホストを指定してみる。
・list.txt に複数のスキャン対象IPを記載しておく :-iL list.txt  #今回は2IP
・スキャン結果をres.txtに出力出来るようにする  :-oG res.txt
[root@centos tmp]# nmap -oG res.txt -iL list.txt

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:17 JST
Nmap scan report for 192.168.1.1
Host is up (0.00030s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    closed http
161/tcp   closed snmp
179/tcp   open   bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown

Nmap scan report for 192.168.1.2
Host is up (0.00027s latency).
Not shown: 981 filtered ports
PORT      STATE  SERVICE
22/tcp    open   ssh
23/tcp    open   telnet
80/tcp    closed http
161/tcp   open   snmp
179/tcp   closed bgp
443/tcp   closed https
5900/tcp  closed vnc
5901/tcp  closed vnc-1
5902/tcp  closed vnc-2
5903/tcp  closed vnc-3
5904/tcp  closed unknown
5906/tcp  closed unknown
5907/tcp  closed unknown
5910/tcp  closed cm
50000/tcp closed ibm-db2
50001/tcp closed unknown
50002/tcp closed iiimsf
50003/tcp closed unknown
50006/tcp closed unknown
■ちゃんと結果ファイルが出来ている #中身は長いので割愛
[root@centos tmp]# ls
list.txt  res.txt

④次は特定ポートに対して複数ホストを指定をしてみる。
・list.txt に複数のスキャン対象IPを記載しておく :-iL list.txt #今回は7IP
・スキャン結果をres.txtに出力出来るようにする  :-oG res.txt
-sT (TCP connect() スキャン) も指定
・-n (DNS解決を行わない) も指定
・--max-hostgroup 10 --scan-delay 1 :10 台づつ実行し、 1秒開けて次の10台を実行?多分
・--max-rtt-timeout 3 :3秒応答が無い場合は終了

[root@centos tmp]# nmap -oG res2.txt -p 22 -iL list.txt -sT -n --max-hostgroup 10 --scan-delay 1 --max-rtt-timeout 3

Starting Nmap 5.51 ( http://nmap.org ) at 2015-01-22 13:13 JST
Nmap scan report for 192.168.1.1
Host is up (0.00032s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.2
Host is up (0.00028s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.3
Host is up (0.00026s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.4
Host is up (0.00052s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.5
Host is up (0.00037s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.6
Host is up (0.00032s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.7
Host is up (0.00029s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 7 IP addresses (7 hosts up) scanned in 2.06 seconds
■ちゃんと出力ファイルが出来ている
[root@centos tmp]# ls
list.txt  res2.txt

■中身を確認してみる
[root@centos tmp]# cat res.txt
# Nmap 5.51 scan initiated Thu Jan 22 13:13:45 2015 as: nmap -oG res.txt -p 22 -iL list.txt -sT -n --max-hostgroup 10 --scan-delay 1 --max-rtt-timeout 3
Host: 192.168.1.1 ()   Status: Up
Host: 192.168.1.1 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.2 ()   Status: Up
Host: 192.168.1.2 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.3 ()   Status: Up
Host: 192.168.1.3 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.4 ()   Status: Up
Host: 192.168.1.4 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.5 ()   Status: Up
Host: 192.168.1.5 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.6 ()   Status: Up
Host: 192.168.1.6 ()   Ports: 22/open/tcp//ssh///
Host: 192.168.1.7 ()   Status: Up
Host: 192.168.1.7 ()   Ports: 22/open/tcp//ssh///
# Nmap done at Thu Jan 22 13:13:47 2015 -- 7 IP addresses (7 hosts up) scanned in 2.06 seconds


■終わり
 経路上にFW等でポートが制限されていなければopenしているポートが確認できるのでかなり便利だと思った。
思ったよりオプションが沢山あるのでどの組み合わせがいいのか検討が必要かもしれない。

私の体験が誰かの生産性向上に役立っていただけることを祈って

0 件のコメント:

コメントを投稿