Nmap(Network Mapper)是一款用于网络发现(Network Discovery)和安全审计(Security Audting)的安全工具,采用C++语言编写,常用于端口扫描。
Nmap软件包带有一个名为GUI的包zenmap,使用Python编写。
安装nmap
|
|
使用
最简单的形式是只传递地址或域名:123nmap scanme.nmap.orgnmap 74.207.244.221nmap 192.168.1.200
端口状态
扫描结果中显示的商品状态
状态 | 说明 |
---|---|
open | 开放,探测报文到达了端口,端口有响应:我有应用程序监听 - SYN/ACK |
closed | 关闭,探测报文到达了端口,端口有响应:我没应用程序监听 - RST (复位) |
filtered | 被屏蔽,探测报文到不了端口,石沉大海 |
unfiltered | 没有被屏蔽,还需要确认,探测报文到达了端口,没响应了 |
open | filtered | 开放或屏蔽,有可能报文过滤器丢弃了探测报文(filtered),或丢弃了端口的响应报文 (open)(原理请往下看 -sN,-sF,-sX)UDP,IP 协议, FIN,Null,和 Xmas 扫描可能把端口归入此类 |
closed | unfiltered | 关闭或屏蔽,IPID+1,但是 closed 和 unfiltered 都可能导致只 + 1,所以就不确定了。只可能出现在 IP ID Idle 扫描中(看下端口 TCP 空闲扫描的原理就知道为什么了) |
扫描类型
参数 | 说明 |
---|---|
-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 文档 |
扫描参数
参数 | 说明 |
---|---|
-v | 显示扫描过程,推荐使用 |
-h | 帮助文档 |
-p | 指定端口号,如 [1-65535],[22,135,1433,3306,] 等格式 |
-O | 探测操作系统,存在误报 |
-A | 全面系统监测,使用脚本检测,扫描等 |
-T4 | 针对 TCP 端口禁止动态扫描延迟超过 10ms |
-iL | 批量扫描,读取主机列表,如 [-iL C:\ip.txt] |
-F | 快速扫描 |
-V | 确定指定端口对应的服务信息 |
-eclude | 排除IP,多个IP用逗号分隔 |
-p | 指定端口,多个端口用逗号分隔 |
扫描案例
|
|
补充: