nmap端口扫描工具使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

(一)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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
190 5
|
3月前
|
监控 安全 网络安全
如何使用PortTunnel端口映射工具?
【10月更文挑战第8天】PortTunnel是一种端口映射工具,它允许用户将本地计算机上的端口映射到远程服务器上。要使用PortTunnel,您需要首先下载并安装该软件,然后按照以下步骤进行操作:,1. 打开PortTunnel并配置您的本地和远程端口设置。,2. 在“本地地址”字段中输入您要映射的本地IP地址。,3. 在“远程地址”字段中输入远程服务器的IP地址。,4. 在“本地端口”字段中输入您要映射的本地端口号。,5. 在“远程端口”字段中输入远程服务器上的端口号。,6. 单击“启动”按钮以开始映射过程
424 2
|
3月前
|
Python
Python编程--使用NMAP端口扫描
Python编程--使用NMAP端口扫描
38 1
|
3月前
|
网络协议
Nmap 中的各种端口扫描技术
Nmap 中的各种端口扫描技术
206 0
|
5月前
|
网络安全 网络架构
Nmap扫描六种端口状态介绍
Nmap扫描六种端口状态介绍
192 2
|
5月前
|
安全 网络协议 关系型数据库
黑客红客,都用过这个工具扫端口!
黑客红客,都用过这个工具扫端口!
|
6月前
|
网络协议 Linux Shell
Linux下常用的端口转发工具
【7月更文挑战第27天】Linux下常用的端口转发工具
299 14
|
5月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
|
5月前
|
网络协议 安全 Linux
在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
|
7月前
|
机器学习/深度学习 安全 测试技术
【Docker项目实战】在Docker环境下使用RustScan端口扫描工具
【6月更文挑战第9天】在Docker环境下使用RustScan端口扫描工具
139 5

热门文章

最新文章