一、背景介绍
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
通常我们在进行渗透测试的过程中需要对目标主机的端口开放状态进行探测,从而了解目标主机,进行对应的测试。
二、资源装备
1.安装好Kali Linux的虚拟机一台;
2.整装待发的小白一个。
三、战略安排
3.1 nmap基本语法使用查看,如下图所示。
命令:nmap
或者nmap --help
3.2 相关帮助信息解析,如下图所示。
-p:后跟端口号
常见端口
21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用
22 ssh 安全 Shell(SSH)服务
23 telnet Telnet 服务
25 smtp 简单邮件传输协议(SMTP)
42 nameserver 互联网名称服务
53 domain 域名服务(如 BIND)
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
110 pop3 邮局协议版本3
123 ntp 网络时间协议(NTP)
143 imap 互联网消息存取协议(IMAP)
161 snmp 简单网络管理协议(SNMP)
389 ldap 轻型目录存取协议(LDAP)
443 https 安全超文本传输协议(HTTP)
873 rsync rsync 文件传输服务
3306 mysql MySQL 数据库服务
5044 logstash
5601 kibana
9200 elasticsearch
端口状态:
Open(开放的)意味着目标机器上的应用程序正在该端口监听连接 / 报文。filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap 无法得知 它是 open(开放的) 还是 closed(关闭的)。closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。
unfiltered(未被过滤的)当端口对 Nmap 的探测做出响应,但是 Nmap 无法确定它们是关闭还是开放时
open filtered 开放或者被过滤的
closed filtered 关闭或者被过滤的
–top-ports:后跟端口数量,表示扫描多少个常见的端口。
–top-ratio:后跟端口出现的概率,表示扫描在指定概率下出现的端口
3.3 普通扫描,如下图所示。
命令:nmap 192.168.1.30
3.4 指定端口扫描,如下图所示。
命令:nmap -p 80 192.168.1.30
3.5 批量端口扫描,如下图所示。
3.5.1 利用”,”分割端口号进行批量扫描,如下图所示。
命令:nmap -p 80,22,8080 192.168.1.30
3.5.2 利用”-”分割端口号进行批量扫描,如下图所示。
命令:nmap -p 80-135 192.168.1.30
3.5.3 扫描所有端口,如下图所示。
命令:nmap -p 1-65535 192.168.1.30
3.6 指定端口类型进行扫描,如下图所示。
端口类型:UDP(简称U)
TCP(简称T)
-sU :扫描UDP端口
-sT :扫描TCP端口
U:后跟UDP端口号
T:后跟TCP端口号
Eg:nmap -sU -p U:445 192.168.130
nmap -sT -p T:455 192.168.1.30
nmap -sS -p T:135,U:445 192.168.1.30
3.7 根据端口的常见性进行扫描,如下图所示。
命令:nmap --top-ports 10 192.168.1.30
3.8 根据端口的出现的概率(0-1)进行扫描,如下图所示。
命令:nmap --port-ratio 0 192.168.1.30
–port-ratio 后跟概率(0-1)