Nmap使用
Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp。数据库
Nmap能够完成如下任务:安全
- 主机探测
- 端口扫描
- 版本检测
- 系统检测
- 支持探测脚本的编写
- Nmap在实际中应用场合以下:
- 经过对设备或者防火墙的探测来审计它的安全性
- 探测目标主机所开放的端口
- 经过识别新的服务器审计网络的安全性
- 探测网络上的主机
端口扫描工具,即借助工具,试图了解所扫描IP提供的计算机网络服务类型(网络服务均与端口号相关),从而发现攻击弱点,常见服务对应端口号:服务器
服务 |
端口号 |
HTTP |
80 |
HTTPS |
443 |
Telnet |
23 |
FTP |
21 |
SSH(安全登陆)、SCP(文件传输)、端口重定向 |
22 |
SMTP |
25 |
POP3 |
110 |
WebLogic |
7001 |
TOMCAT |
8080 |
WIN2003远程登陆 |
3389 |
Oracle数据库 |
1521 |
MS SQL* SEVER数据库sever |
1433 |
MySQL 数据库sever |
3306 |
Nmap进行完整全面的扫描
nmap –T4 –A –v网络
其中-A选项用于使用进攻性(Aggressive)方式扫描;-T4指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通信情况良好的状况推荐使用T4;-v表示显示冗余(verbosity)信息,在扫描过程当中显示扫描的细节,从而让用户了解当前的扫描状态。框架
Nmap用于主机发现的一些用法
-
-
sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
-
-
-
sn: Ping Scan 只进行主机发现,不进行端口扫描。
-
-
-
Pn: 将全部指定的主机视做开启的,跳过主机发现的过程。
-
-
-PS
/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
-
-
-PE
/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。-PO[protocollist]: 使用IP协议包探测对方主机是否开启。
-
-
-n/-
R: -n表示不进行DNS解析;-R表示老是进行DNS解析。
-
-
--dns-servers <serv1[,serv2],...>: 指定DNS服务器。
-
-
--system-
dns: 指定使用系统的DNS服务器
-
-
-
Nmap用于端口扫描的一些用法
一、扫描方式选项分布式
-
-sS
/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
-
-
-
sU: 指定使用UDP扫描方式肯定目标主机的UDP端口情况。
-
-
-sN
/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
-
-
--scanflags <flags>: 定制TCP包的flags。
-
-
-sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提须要找到合适的zombie host)
-
-
-sY
/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的状况。
-
-
-
sO: 使用IP protocol 扫描肯定目标机支持的协议类型。
-
-
-b <FTP relay host>: 使用FTP bounce scan扫描方式
-
二、 端口参数与扫描顺序工具
-
-
-p <port ranges>: 扫描指定的端口
-
-
实例: -p22; -p1
-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T表明TCP协议、U表明UDP协议、S表明SCTP协议)
-
-
-
F: Fast mode – 快速模式,仅扫描TOP 100的端口
-
-
-
r: 不进行端口随机打乱的操做(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)。
-
-
--top-ports <number>:扫描开放几率最高的number个端口(nmap的做者曾经作过大规模地互联网扫描,以此统计出网络上各类端口可能开放的几率。以此排列出最有可能开放端口的列表,具体能够参见文件:nmap-services。默认状况下,nmap会扫描最有可能的
1000个TCP端口)
-
-
--port-ratio <ratio>: 扫描指定频率以上的端口。与上述--top-ports相似,这里以几率做为参数,让几率大于--port-ratio的端口才被扫描。显然参数必须在在
0到1之间,具体范围几率状况能够查看nmap-services文件。
三、 版本侦测的用法测试
-
-
-
-
-
--version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,可是运行时间会比较长。
-
-
--version-light: 指定使用轻量侦测方式 (intensity 2)
-
-
--version-all: 尝试使用全部的probes进行侦测 (intensity 9)
-
-
--version-trace: 显示出详细的版本侦测过程信息。
具体操做演示以下
一、用Nmap扫描特定IP地址
spa
二、用-vv
对结果进行详细输出
操作系统
三、自行设置端口范围进行扫描

四、指定端口号进行扫描

五、对目标进行Ping扫描
格式:namp -sP <target ip>

六、路由跟踪
nmap -traceroute <target ip>

七、扫描一个段的主机在线情况
nmap -sP <network address > </CIDR>

八、操做系统探测
nmap -O <target ip>

九、万能开关扫描
nmap -A <target ip>

十、其余扫描方式
SYN扫描:利用基本的SYN扫描方式测试其端口开放状态
namp -sS -T4 <target ip>
FIN扫描:利用FIN扫描方式探测防火墙状态。FIN扫描方式用于识别端口是否关闭,收到RST回复说明该端口关闭,不然说明是open或filtered状态
namp -sF -T4 <target ip>
ACK扫描:利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(不管打开或关闭)会回复RST包
namp -sA -T4 <target ip>
扫描前不进行Ping扫描测试
nmap -Pn <target ip>
若是有一个ip地址列表,将这个保存为一个txt文件,和nmap在赞成目录下,扫描这个txt的全部主机,命令为
nmap -iL target.txt
版本检测扫描
nmap -sV <target ip>

Nmap的帮助文档


参考资料