0x01 Nmap介绍
Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统,笔者这里建议直接使用Kali Linux,因为已经预装好了Nmap,可以省去安装步骤。
Nmap是一款非常强大的实用工具,可用于:
1.检测活在网络上的主机(主机发现)
2.检测主机上开放的端口(端口发现或枚举)
3.检测到相应的端口(服务发现)
4.软件版本检测脆弱性的漏洞(Nmap的脚本)
虽然Nmap更新了这么多年依旧没有什么太大的进步,但至今还是信息搜集/主机扫描中的一个有着极其重要地位的工具
本套教程笔者将以Nmap为中心,为大家分层次介绍Nmap,让读者由简入深的了解Nmap的扫描方法
Nmap下载地址:https://nmap.org/
0x02 入门扫描(无参数)
我们在简单了解过nmap之后,我们就直接切入正题,开始我们的nmap扫描之旅
我们打开一种终端,在终端中直接使用nmap来扫描一台主机:
root@kali-linux:~# nmap 192.168.1.1Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 20:59 CSTNmap scan report for 192.168.1.1Host is up (0.012s latency).Not shown: 997 filtered portsPORT STATE SERVICE22/tcp open ssh80/tcp open http443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 24.37 seconds
这里我们直接使用了nmap <目标主机>这一基础语句来对一个主机进行扫描,很快便获取了这个主机开放的端口信息
当然,我们除了可以直接扫描IP,也可以扫描网站:
root@kali-linux:~# nmap www.baidu.comStarting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:02 CSTNmap scan report for www.baidu.com (220.181.112.244)Host is up (0.024s latency).Other addresses for www.baidu.com (not scanned): 220.181.111.188Not shown: 998 filtered portsPORT STATE SERVICE80/tcp open http443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 11.35 seconds
这里我们用百度做示范,扫描了百度的开放端口,也是使用了nmap <目标主机>的扫描语句
以上就是Nmap简单扫描单一主机的方法,那么当我们想要扫描多个主机,或者是某个IP段内的主机时,我们应该怎么办呢?
Nmap当然也支持了扫描多个IP/主机的扫描方式了:
root@kali-linux:~# nmap 220.181.112.244 220.181.112.243Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:07 CSTNmap scan report for 220.181.112.244Host is up (0.027s latency).Not shown: 998 filtered portsPORT STATE SERVICE80/tcp open http443/tcp open httpsNmap scan report for 220.181.112.243Host is up (0.032s latency).Not shown: 999 filtered portsPORT STATE SERVICE80/tcp open httpNmap done: 2 IP addresses (2 hosts up) scanned in 43.12 seconds
如上,这里我们扫描了220.181.112.244与220.181.112.243这两个IP,
Nmap也按照顺序输出了扫描结果,这里我们使用的语法是nmap <目标主机1> <目标主机2>
我们要将扫描的主机用空格隔开,比如nmap 192.168.1.1<空格>192.168.1.100 ,这样就可以扫描192.168.1.1和192.168.1.100两台主机的信息了
然后我们来测试一下扫描两个网站的主机信息:
root@kali-linux:~# nmap www.baidu.com www.bing.comStarting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:13 CSTNmap scan report for www.baidu.com (220.181.112.244)Host is up (0.033s latency).Other addresses for www.baidu.com (not scanned): 220.181.111.188Not shown: 998 filtered portsPORT STATE SERVICE80/tcp open http443/tcp open httpsNmap scan report for www.bing.com (202.89.233.104)Host is up (0.034s latency).Other addresses for www.bing.com (not scanned): 202.89.233.103Not shown: 997 filtered portsPORT STATE SERVICE53/tcp closed domain80/tcp open http443/tcp open httpsNmap done: 2 IP addresses (2 hosts up) scanned in 45.69 seconds
这里我们同时扫描了www.baidu.com与www.bing.com两个网站,也同样输出了主机信息
那么如果我们想扫描一个网段的主机信息该怎么扫描呢?
root@kali-linux:~# nmap 192.168.1.0/24Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-11 01:43 CSTStats: 0:00:44 elapsed; 0 hosts completed (2 up), 256 undergoing Ping ScanNmap scan report for 192.168.1.101Host is up (0.064s latency).Not shown: 98 filtered portsPORT STATE SERVICE22/tcp open ssh3389/tcp closed ms-wbt-serverNmap scan report for 192.168.1.105Host is up (0.056s latency).Not shown: 97 filtered portsPORT STATE SERVICE22/tcp open ssh80/tcp open http3389/tcp closed ms-wbt-serverNmap done: 256 IP addresses (2 hosts up) scanned in 91.04 seconds
我们只需要更改一下搜索的目标就可以扫描,这里笔者扫描了192.168.1.0-255这一整个网段,利用的指令还是nmap 192.168.1.0/24<目标网段>
这里需要注意的是,扫描一整个网段需要的时间较长,如果想要查看扫描进度可以在终端中按下Tab键便可以查看扫描进度
如果我们不需要扫描整个网段,只需要扫描某个范围内的存活主机该怎么扫描呢?
root@kali-linux:~# nmap 192.168.1.100-200Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-11 01:46 CSTStats: 0:00:44 elapsed; 0 hosts completed (2 up), 100 undergoing Ping ScanNmap scan report for 192.168.1.101Host is up (0.064s latency).Not shown: 98 filtered portsPORT STATE SERVICE22/tcp open ssh3389/tcp closed ms-wbt-serverNmap scan report for 192.168.1.105Host is up (0.056s latency).Not shown: 97 filtered portsPORT STATE SERVICE22/tcp open ssh80/tcp open http3389/tcp closed ms-wbt-serverNmap done: 100 IP addresses (2 hosts up) scanned in 43.01 seconds
这里我们使用了nmap 192.168.1.100-200的指令,意思是扫描192.168.1.100到192.168.1.200这一IP段中存活的主机,我们只需要将搜索目标的IP增加范围即可
小结:
在我们的Nmap扫描教程第一节中,我们学习了如何扫描单个主机/多个主机/整个网段以及某个IP段的存活主机信息
但是Nmap中还有许多有趣的扫描方式,这里我们暂且不提,在下一节的教程中,我们将学习不同协议的扫描方式
对于本文的教程如果有问题可以加作者QQ:2245998470或者直接在本文下留言来询问,笔者将尽力解答
未完待续...