目录
一、端口状态
1、open
应用程序正在此端口上积极接受TCP连接,UDP数据报或SCTP关联。查找这些通常是端口扫描的主要目标。具有安全意识的人们知道,每个开放端口都是攻击的途径。攻击者和渗透测试者想利用开放的端口,而管理员试图用防火墙关闭或保护它们,而又不妨碍合法用户。对于非安全性扫描,开放端口也很有趣,因为它们显示了可在网络上使用的服务。
2、closed
一个封闭的端口是可访问的(它接收并响应Nmap探测数据包),但是没有应用程序在监听它。它们可以帮助显示主机位于IP地址上(主机发现或ping扫描),并且可以作为操作系统检测的一部分。由于关闭的端口可以访问,因此如果某些端口打开,则稍后值得进行扫描。管理员可能要考虑使用防火墙阻止此类端口。然后它们将以过滤状态出现,接下来再讨论。
3、filtered
Nmap无法确定端口是否打开,因为数据包筛选会阻止其探针到达端口。过滤可以来自专用防火墙设备,路由器规则或基于主机的防火墙软件。这些端口使攻击者感到沮丧,因为它们提供的信息很少。有时,它们以ICMP错误消息作为响应,例如类型3代码13(目标无法访问:在管理上被禁止通信),但是仅丢弃探针而不响应的过滤器则更为常见。这迫使Nmap重试几次,以防万一由于网络拥塞而不是过滤导致探针被丢弃。这会大大降低扫描速度。
4、unfiltered
未过滤状态意味着可以访问端口,但是Nmap无法确定端口是打开还是关闭。仅用于映射防火墙规则集的ACK扫描将端口分类为此状态。使用其他扫描类型(例如窗口扫描,SYN扫描或FIN扫描)扫描未过滤的端口可能有助于解决端口是否打开的问题。
5、open|filtered
当Nmap无法确定端口是打开还是已过滤时,Nmap会将端口置于此状态。对于打开端口不响应的扫描类型,会发生这种情况。缺乏响应还可能意味着数据包过滤器丢弃了探针或其引发的任何响应。因此,Nmap无法确定端口是打开还是被过滤。UDP,IP协议,FIN,NULL和Xmas扫描以这种方式对端口进行分类。
6、closed|filtered
当Nmap无法确定端口是关闭还是过滤时,将使用此状态。它仅用于IP ID空闲扫描。
二、Nmap使用
用法: nmap [扫描类型] [参数] 目标IP
1、扫描类型
-sT TCP 连接扫描,会在目标主机中记录大量的链接请求和错误信息
-sS SYN扫描,只完成三次握手前两次,很少有系统记入日志,默认使用,需要root(admin)权限
-sP Ping扫描,默认使用,只有能Ping得通才会继续扫描
-P0 扫描之前不需要Ping,用于绕过防火墙禁Ping功能
-sA 高级的扫描方式,用来穿过防火墙的规则集
-sV 探测端口号版本
-sU UDP扫描,扫描主机开启的UDP的服务,速度慢,结果不可靠
-sX -sN 秘密的FIN数据包扫描,圣诞树(Xmas Tree)和空模式,针对Unix和Linux主机,系统要求遵循TCP RFC文档
2、扫描参数
-v 显示扫描过程,推荐使用
-h 帮助文档
-p 指定端口号,如[1-65535],[22,135,1433,3306,]等格式
-O 启动远程操作系统监测,存在误报
-A 全面系统监测,使用脚本检测,扫描等
-T4 针对TCP端口禁止动态扫描延迟超过10ms
-iL 批量扫描,读取主机列表,如[-iL C:\ip.txt]
三、扫描案例
1、扫描C段(局域网)存活主机
nmap -sP www.XXX.com/24
nmap -sP 192.168.1.* (注释:“*”为通配符)
2、扫描指定IP开放端口号
nmap -sS -p- -v 192.168.1.100
-p-为全端口扫描,和[1-65535]一样,建议使用
不使用默认Nmap认为危险的100个端口号
3、扫描指定IP所开端口及服务版本
nmap -sV -v 192.168.1.100
4、探测主机操作系统
nmap -O www.XXX.com
扫描准确度以百分比显示,未必准确
5、穿透防火墙扫描
nmap -P0 www.XXX.com
6、全面探测,-A包含OS 探测,版本探测,脚本扫描,traceroute
nmap -A www.XXX.com
7、使用脚本扫描
nmap --script="脚本名称" www.XXX.com
如在局域网上扫找 Conficker 蠕虫病毒
nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns --script-args safe=1 192.168.0.1-254
脚本放在Nmap安装目录script下,官网可查各个脚本功能
8、nmap保存结果
nmap 192.168.0.2 -oX D:\myscan.xml
参数解释:
-oN <filespec> (标准输出)
-oX <filespec> (XML输出)
-oS <filespec> (ScRipT KIdd|3 oUTpuT)
-oG <filespec> (Grep输出)
-oA <basename> (输出至所有格式)
9、批量扫描
nmap -v -sS --open -iL C:\Users\s\Desktop\edusec\待扫描.txt --no-stylesheet -oG output.txt -F
参考:https://www.cnblogs.com/cyrusxx/p/12562867.html