1#Nmap简介
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。官网为:www.nmap.org。
一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
Nmap有以下优点:
- 灵活,支持数十种不同的扫描方式,支持多种目标对象的扫描
- 强大,Nmap可以用于扫描互联网上大规模的计算机
- 可移植,支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
- 简单,提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip
- 自由,Nmap作为开源软件,在GPL License的范围内可以自由的使用
- 文档丰富,Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍
- 社区支持,Nmap背后有强大的社区团队支持
而Nmap包含四项基本功能:
- 主机发现 (Host Discovery)
- 端口扫描 (Port Scanning)
- 版本侦测 (Version Detection)
- 操作系统侦测 (Operating System Detection)
而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑),首先需要进行主机发现,随后确定端口状态,然后确定端口上运行的具体应用程序和版本信息,然后可以进行操作系统的侦测。而在这四项功能的基础上,nmap还提供防火墙和 IDS 的规避技巧,可以综合运用到四个基本功能的各个阶段。另外nmap还提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。
2#Zenamp简介
上面说的是Namp,那Zenamp又是啥呢?
简单的说,就是Namp的图形化程序
Zenmap是Nmap的GUI版本,由Nmap官方提供,通常随着Nmap安装包一起发布。Zenmap是用Python语言编写的,能够在Windows、Linux、UNIX、Mac OS等不同系统上运行。开发Zenmap的目的主要是为Nmap提供更加简单的操作方式。
3#下载
直接通过官方下载方式下载即可:https://nmap.org/download.html
Zenamp的安装运行也非常的简单,不会的可以参考这一篇文章:https://www.jianshu.com/p/4ef1ff69f473
4#快速上手
Zenamp只是给Namp加了一个图形化界面更加便于操作,而两者的使用语法是一模一样的(核心都一样嘛)
这里给大家看一下
下面是常见服务对应端口号(对应查看就可以知道):
服务 | 端口号 |
---|---|
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
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服务器 --traceroute: 追踪每个路由节点Nmap用于端口扫描的一些用法
1、扫描方式选项
-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扫描方式2、 端口参数与扫描顺序
[plain] view plain copy -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文件。3、 版本侦测的用法
版本侦测方面的命令行选项比较简单。 [plain] view plain copy -sV: 指定让Nmap进行版本侦测 --version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。 --version-light: 指定使用轻量侦测方式 (intensity 2) --version-all: 尝试使用所有的probes进行侦测 (intensity 9) --version-trace: 显示出详细的版本侦测过程信息。更多详细的操作,师傅们可以查看这一篇文章哟(上面也是摘录的,感谢这位师傅):https://www.cnblogs.com/weihua2616/p/6599629.html
发表评论