首页 > 代码库 > Nmap使用教程 - 一

Nmap使用教程 - 一

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.1

Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 20:59 CST
Nmap scan report for 192.168.1.1
Host is up (0.012s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

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

 

这里我们直接使用了nmap <目标主机>这一基础语句来对一个主机进行扫描,很快便获取了这个主机开放的端口信息

当然,我们除了可以直接扫描IP,也可以扫描网站:

root@kali-linux:~# nmap www.baidu.com

Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:02 CST
Nmap 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.188
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap 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.243

Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:07 CST
Nmap scan report for 220.181.112.244
Host is up (0.027s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap scan report for 220.181.112.243
Host is up (0.032s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http

Nmap 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.com

Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-08 21:13 CST
Nmap 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.188
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap 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.103
Not shown: 997 filtered ports
PORT    STATE  SERVICE
53/tcp  closed domain
80/tcp  open   http
443/tcp open   https

Nmap 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/24
Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-11 01:43 CST
Stats: 0:00:44 elapsed; 0 hosts completed (2 up), 256 undergoing Ping Scan

Nmap scan report for 192.168.1.101
Host is up (0.064s latency).
Not shown: 98 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
3389/tcp closed ms-wbt-server

Nmap scan report for 192.168.1.105
Host is up (0.056s latency).
Not shown: 97 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
3389/tcp closed ms-wbt-server

Nmap 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-200
Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-11 01:46 CST
Stats: 0:00:44 elapsed; 0 hosts completed (2 up), 100 undergoing Ping Scan

Nmap scan report for 192.168.1.101
Host is up (0.064s latency).
Not shown: 98 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
3389/tcp closed ms-wbt-server

Nmap scan report for 192.168.1.105
Host is up (0.056s latency).
Not shown: 97 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
3389/tcp closed ms-wbt-server

Nmap 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或者直接在本文下留言来询问,笔者将尽力解答

未完待续...

Nmap使用教程 - 一