nmap端口扫描工具使用

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

(一)Port scan简介

port Scan的方法介绍 port Scan就是一种通过检测对方服务器的开放端口,侦测对方服务器服务的方法。一般可分为主动式和被动式两种。 主动式就是通过向对方服务器的特定端口发送数据包,根据应答来判断,以nmap 为代表。

        被动式,不主动发出数据包,而是在网络上长时侦听,分析网上的transaction,来分析,严格的来被动式不应该被称作是端口扫描。以nwatch为代表

(二)优缺点比较 

(1)主动式的优点

主动式只要在对方没有把通信阻断的情况下,可以在较短的时间内获得结果

(2)主动式的缺点

   1 现在带有阻断功能的防火墙越来越多,有些防火墙当检测到端口扫描时,会将端口关闭一定的时间,还有的机器使用了很多filter功能,只对特定的IP地址提供服务,这种情况下,主动式的正确性大打折扣。

   2  主动式只是在一瞬间对端口进行扫描,只有当服务器那个时候使用的服务才有可能被侦测到。

   3  端口扫描是一种广义上的攻击行为,对于末经许可的机器,一般不能施行。

被动式的优点 :被动式只是侦听网络,不会成为网络攻击,它长期运行,可以侦测到一个长时间间内服务器的变化。

被动式的缺点: 由于它不会主动发出请求包,即使端口开着,如果没有发生实际的通信,被动式也无法侦测到服务

    本文主要简述nmap的原理及功能。

(三)nmap功能和使用

(1)nmap(network mapper) ,最早是Linux下的网络扫描和嗅探工具包。 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。     ----百度百科

(2)功能,有三个基本功能:

  1. 探测一组主机是否在线。

  2. 扫描主机端口,嗅探所提供的网络服务。

  3. 推断主机的操作系统。

Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

(3)nmap安装,使用yum安装方便快捷。也可以登录官网(https://nmap.org/download.html)下载压缩包进行下载安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@Monitor conf] # yum install nmap -y
已加载插件:fastestmirror
设置安装进程
Determining fastest mirrors
epel /metalink                                                                                                                   | 6.5 kB     00:00     
  * epel: mirrors.ustc.edu.cn
base                                                                                                                           | 3.7 kB     00:00     
dockerrepo                                                                                                                     | 2.9 kB     00:00     
epel                                                                                                                           | 4.3 kB     00:00     
epel /primary_db                                                                                                                 | 5.9 MB     00:49     
extras                                                                                                                         | 3.4 kB     00:00     
extras /primary_db                                                                                                               |  29 kB     00:00     
updates                                                                                                                        | 3.4 kB     00:00     
updates /primary_db                                                                                                              | 2.5 MB     00:01     
解决依赖关系
--> 执行事务检查
---> Package nmap.x86_64 2:5.51-6.el6 will be 安装
--> 完成依赖关系计算
依赖关系解决
======================================================================================================================================================
  软件包                           架构                               版本                                      仓库                              大小
======================================================================================================================================================
正在安装:
  nmap                             x86_64                             2:5.51-6.el6                              base                             2.8 M
事务概要
======================================================================================================================================================
Install       1 Package(s)
总下载量:2.8 M
Installed size: 9.7 M
下载软件包:
nmap-5.51-6.el6.x86_64.rpm                                                                                                     | 2.8 MB     00:00     
运行 rpm_check_debug 
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
   正在安装   : 2:nmap-5.51-6.el6.x86_64                                                                                                           1 /1 
   Verifying  : 2:nmap-5.51-6.el6.x86_64                                                                                                           1 /1 
已安装:
   nmap.x86_64 2:5.51-6.el6                                                                                                                            
完毕!

(4)nmap常见的扫描方式

  •  TCP同步(SYN)端口扫描(-sS参数)。TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用 SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。

  • Ping扫描(-sP参数)。Ping扫描通过发送ICMP (Internet Control Message Protocol Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。

  • TCP connect()端口扫描(-sT参数)。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。

  • UDP端口扫描(-sU参数)。

                                                                                                --------------百度百科

    具体例子如下:

  • -sS 使用SYN+ACK的方法,使用TCP SYN,

  • -sT 使用TCP的方法, 3次握手全做

  • -sU 使用UDP的方法

  • -sP ICMP ECHO Request 送信,有反应的端口进行调查

  • -sF FIN SCAN

  • -sX

  • -sN 全部FLAG OFF的无效的TCP包送信,根据错误代码判断端口情况

  • -P0 无视ICMP ECHO request的结果,SCAN

  • -p scan port range 指定SCAN的目端口的范围

  •    1-100, 或者使用25,100的方式

  • -O 侦测OS的种类

  • -oN 文件名 通常格式文件输出

  • -oX 文件名 通过DTD,使用XML格式输出结果

  • -oG 文件名,grep容易的格式输出

  • -sV 服务的程序名和版本SCAN

常用的实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
进行 ping 扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
nmap -sP 192.168.1.0 /24
仅列出指定网络上的每台主机,不发送任何报文到目标主机:
nmap -sL 192.168.1.0 /24
探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234
使用UDP  ping 探测主机:
nmap -PU 192.168.1.0 /24
使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:
nmap -sS 192.168.1.0 /24    以SYN的方式进行扫描,以报文回复来判断端口状态,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广
当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:
nmap -sT 192.168.1.0 /24
UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:
nmap -sU 192.168.1.0 /24   #UDP扫描,向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的,反之则为开启
确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19
探测目标主机的操作系统:
nmap -O 192.168.1.19
nmap -A 192.168.1.19 全面扫描包括端口主机版本探测,但速度较慢
namp  -ST   #TCP扫描,如果对方端口无法建立TCP连接,则判断为关闭状态,但扫描速度较慢,并且会在对方主机日志上会有记录,所以不推荐使用
另外,nmap官方文档中的例子:
nmap - v  scanme.
这个选项扫描主机scanme中 所有的保留TCP端口。选项- v 启用细节模式。
nmap -sS -O scanme. /24
进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。
nmap - v  -iR 100000 -P0 -p 80
随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。
nmap -P0 -p80 -oX logs /pb-port80scan .xml -oG logs /pb-port80scan .gnmap 216.163.128.20 /20
扫描4096个IP地址,查找Web服务器(不 ping ),将结果以Grep和XML格式保存。
host -l |  cut  -d -f 4 | nmap - v  -iL -
进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU /Linux  -- 其它系统进行区域传输时有不同的命令。
其他选项:
-p (只扫描指定的端口)
单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。
-F (快速 (有限的端口) 扫描)


重点备注:最常用的实例如下:

(一)主机发现:1,探测单个主机在线情况(nmap -sP ip)  2,探测一个网段的主机现在情况(nmap -sP 网络地址192.168.180.0/24  )   3,扫描自定义的IP范围(nmap -sP 192.168.180.1-200)  。具体例子如下:


1,探测单个主机在线情况:nmap -sP 192.168.180.2

1
2
3
4
5
6
root@localhost yunwen] # nmap -sP 192.168.180.2   
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:04 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00020s latency).
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap  done : 1 IP address (1 host up) scanned  in  2.53 seconds

2,探测一个网段的主机现在情况:nmap -sP 192.168.180.0/24

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost yunwen] # nmap -sP 192.168.180.0/24
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:06 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00064s latency).
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap scan report  for  localhost (192.168.180.3)
Host is up (0.00072s latency).
MAC Address: 00:15:5D:6E:28:02 (Microsoft)
Nmap scan report  for  xn1.lqb.com (192.168.180.4)
Host is up (0.00064s latency).
MAC Address: 00:15:5D:6E:28:05 (Microsoft)
Nmap scan report  for  192.168.180.5
Host is up (0.00081s latency).
MAC Address: 00:15:5D:6E:28:0F (Microsoft)
Nmap scan report  for  localhost (192.168.180.6)
Host is up (0.00071s latency).
MAC Address: 00:15:5D:6E:28:13 (Microsoft)
Nmap scan report  for  192.168.180.7
Host is up (0.00063s latency).

3,扫描自定义的IP范围:nmap -sP 192.168.180.1-10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@localhost yunwen] # nmap -sP 192.168.180.1-10
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:17 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00058s latency).
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap scan report  for  192.168.180.3
Host is up (0.00057s latency).
MAC Address: 00:15:5D:6E:28:02 (Microsoft)
Nmap scan report  for  xn1.lqb.com (192.168.180.4)
Host is up (0.00075s latency).
MAC Address: 00:15:5D:6E:28:05 (Microsoft)
Nmap scan report  for  192.168.180.5
Host is up (0.00074s latency).
MAC Address: 00:15:5D:6E:28:0F (Microsoft)
Nmap scan report  for  localhost (192.168.180.6)
Host is up (0.00057s latency).
MAC Address: 00:15:5D:6E:28:13 (Microsoft)
Nmap scan report  for  192.168.180.7
Host is up (0.00057s latency).
MAC Address: D8:CB:8A:BF:6F:D3 (Unknown)
Nmap scan report  for  192.168.180.8
Host is up (0.00057s latency).
MAC Address: 00:15:5D:6E:28:14 (Microsoft)
Nmap scan report  for  192.168.180.9
Host is up (0.00066s latency).
MAC Address: 00:15:5D:6E:28:15 (Microsoft)
Nmap scan report  for  localhost (192.168.180.10)
Host is up (0.00073s latency).
MAC Address: 00:15:5D:6E:28:0A (Microsoft)
Nmap  done : 10 IP addresses (9 hosts up) scanned  in  9.24 seconds


(二)端口扫描。常见的端口扫描有:1,扫描主机常见的端口(nmap -F ip)   2,自定义扫描端口(nmap -p port1-port2 ip)  3,自定义连续的端口扫描(nmap -p1-200 ip) 4,扫描危险的端口(nmap -sT -sV -p port  ip) 


1,扫描主机常见的端口:nmap -F 192.168.180.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost yunwen] # nmap -F 192.168.180.2
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:19 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00033s latency).
Not shown: 93 closed ports
PORT     STATE SERVICE
22 /tcp    open   ssh
80 /tcp    open   http
443 /tcp   open   https
3306 /tcp  open   mysql
8009 /tcp  open   ajp13
8080 /tcp  open   http-proxy
8081 /tcp  open   blackice-icecap
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap  done : 1 IP address (1 host up) scanned  in  0.08 seconds

2,自定义扫描端口:nmap -p22,25,3306,8801 192.168.180.2

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost yunwen] # nmap -p22,25,27,3306,8801 192.168.180.2
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:28 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00029s latency).
PORT     STATE  SERVICE
22 /tcp    open    ssh
25 /tcp    closed smtp
27 /tcp    closed nsw-fe
3306 /tcp  open    mysql
8801 /tcp  closed unknown
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap  done : 1 IP address (1 host up) scanned  in  0.08 seconds

3,自定义连续的端口扫描:nmap -p 1-1024 192.168.180.2

1
2
3
4
5
6
7
8
9
10
11
[root@localhost yunwen] # nmap -p 1-1024 192.168.180.2
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:27 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00028s latency).
Not shown: 1021 closed ports
PORT    STATE SERVICE
22 /tcp   open   ssh
80 /tcp   open   http
443 /tcp  open   https
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Nmap  done : 1 IP address (1 host up) scanned  in  0.09 seconds

4,扫描危险的端口:nmap -sT -sV -p 21,80,22,443,8081,8082,2443,3306 --max-hostgroup 10 --max-parallelism 10 --max-rtt-timeout 1000ms --host-timeout 800s --max-scan-delay 2000ms   --open 192.168.180.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost yunwen] # nmap -sT -sV -p 21,80,22,443,8081,8082,2443,3306 --max-hostgroup 10 --max-paralle
lism 10 --max-rtt-timeout 1000ms --host-timeout 800s --max-scan-delay 2000ms   -- open  192.168.180.2
Starting Nmap 6.40 ( http: //nmap .org ) at 2017-08-16 10:34 CST
Nmap scan report  for  localhost (192.168.180.2)
Host is up (0.00029s latency).
Not shown: 2 closed ports
PORT     STATE SERVICE VERSION
22 /tcp    open   ssh      OpenSSH 5.3 (protocol 2.0)
80 /tcp    open   http    nginx
443 /tcp   open   http    nginx
2443 /tcp  open   http    nginx
3306 /tcp  open   mysql   MySQL 5.6.27
8081 /tcp  open   http    Apache Tomcat /Coyote  JSP engine 1.1
MAC Address: 18:A9:05:77:38:14 (Hewlett-Packard Company)
Service detection performed. Please report any incorrect results at http: //nmap .org /submit/  .
Nmap  done : 1 IP address (1 host up) scanned  in  11.16 seconds

重要说明:以上显示端口的都有如下重要信息在端口STATE一栏中:

  • open:端口是开放的。

  • closed:端口是关闭的。

  • filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

  • unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。

  • open|filtered:端口是开放的或被屏蔽。

  • closed|filtered :端口是关闭的或被屏蔽。


本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1956473


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
运维 搜索推荐 Shell
Ansible自动化运维工具之个性化定制SSH连接登录端口(3)
Ansible自动化运维工具之个性化定制SSH连接登录端口(3)
184 0
|
2月前
|
网络协议
第二轮学习笔记: 扫描工具 -- nmap端口扫描
第二轮学习笔记: 扫描工具 -- nmap端口扫描
22 0
|
4月前
|
XML 网络协议 安全
主动扫描-Nmap-端口、系统、服务扫描
主动扫描-Nmap-端口、系统、服务扫描
111 0
|
7月前
|
网络安全
百度搜索:蓝易云【端口转发工具Rinetd详细入门教程】
现在你已经完成了Rinetd的入门教程。你可以根据需要在配置文件中添加更多的端口转发规则,并根据需要启用或禁用Rinetd服务。请注意,Rinetd的使用涉及网络安全方面的考虑,请确保只开放必要的端口并采取适当的安全措施。
254 0
|
7月前
|
安全 Linux 网络安全
如何使用Nmap进行端口扫描和服务识别?
如何使用Nmap进行端口扫描和服务识别?
544 0
|
8月前
|
应用服务中间件
【端口号清除工具】port is already in use解决利器,从此告别每次输入命令杀端口
【端口号清除工具】port is already in use解决利器,从此告别每次输入命令杀端口
85 0
|
11月前
|
Rust 数据安全/隐私保护
Fuso代理工具的初体验(端口映射+多层代理)
一款快速、稳定、跨平台、高效的内网穿透,端口转发工具,传输采用aes、rsa加密,利用rust开发,可以当作frp的rust版本,杀软还暂时不杀,支持socks代理、多级代理,暂时不支持kcp协议,程序仍处于开发阶段
595 0
|
网络协议
第二轮学习笔记: 扫描工具 -- nmap端口扫描
第二轮学习笔记: 扫描工具 -- nmap端口扫描
159 0
第二轮学习笔记: 扫描工具 -- nmap端口扫描
|
弹性计算 监控 Ubuntu
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,UFW配置防火墙,禁止root用户登录,禁用密码登陆,使用RSA私钥登录,使用 Fail2ban 工具,使用两步验证(2FA)
1801 0
|
Python
简单的Python端口扫描工具制作
简单的Python端口扫描工具制作
168 0
简单的Python端口扫描工具制作