一、关于Nmap:
Nmap是一款针对大型网络的端口扫描工具,它也适用于单机扫描,它支持很多扫描,也同时支持性能和可靠性统计,Namp是可以免费下载的,是在免费软件基金会的GNU General Public License (GPL)下发布的。是一个免费和开源的实用程序 网络发现和安全审计。许多系统和网络 管理员也发现它对网络等任务很有用 库存,管理服务升级计划,并监视主机或 服务正常运行时间。Nmap以新颖的方式使用原始IP数据包来确定 网络上有哪些主机,有哪些服务(应用程序 名称和版本)那些主机提供的,什么样的操作系统 (和操作系统版本)他们正在运行,什么类型的数据包 过滤器/防火墙正在使用,以及其他几十个特点。它 是为快速扫描大型网络而设计的,但对 单主机。Nmap可以在所有主流的计算机操作系统上运行,并且 官方二进制包可用于Linux、Windows和Mac OS X. 除了经典的命令行Nmap可执行文件之外,Nmap 套件包括高级GUI和结果查看器 ( Zenmap),一个灵活的数据 传输、重定向和调试工具 ( Ncat),一种实用程序,用于 比较扫描结果(Ndiff),以及数据包生成和响应分析工具(Nping).
二、Nmap的四种基本功能:
- 「端口扫描」
- 「主机探测」
- 「服务识别」
- 「系统识别」
三、用法
1. 如何针对单个 IP、主机或目标启动基本 Nmap 扫描
只需键入以下命令即可启动 nmap:
nmap
然后,这是超级简单的,只需输入IP地址,如果你的目标!
nmap 1.1.1.1
您也可以扫描特定的主机名,只需像这样替换主机名的 IP:
nmap http://hostname.com
如果您刚刚开始使用渗透测试或安全审核,那么这种类型的初始扫描可能是合适的,但是 - 请谨慎行事,因为它会相当嘈杂,任何具有良好设置的防火墙都会立即标记此行为并踢出您。
2. 如何扫描服务器上的特定端口或整个端口范围
nmap -p 1-65535 servername
我们上面使用的命令使用了标志,该标志表示 Nmap 将自身与 Ports 相关联(因此是“P”——真的很简单!-P
之所以有 65535 个,是因为这是现实生活中有多少个端口。
使用上面的命令 Nmap 将耐心扫描所有可能的端口,但这可能是不必要的,也许您只想扫描特定端口。为此,请执行以下操作:
nmap -p 80,443 8.8.8.8
这将检查两个访问端口,以便公众查看网页。普通的 HTML 将通过端口 80 提供,而 SSL 当然是 443。
对于其他类似的基本协议,我这里有一个可能有用的资源。
3. 如何使用 Nmap 扫描多个 IP 地址
问得好!如果您的客户端有一堆要扫描的域,那么您只需要在语法末尾附加一个逗号,如下所示:
当然,将“X”替换为数字——我只是使用它,因为我想突出显示附加的“2,3,4”以显示额外的 IP 地址。
nmap -p X.X.X.X,2,3,4
这将扫描 、 和 。X.X.X.XX.X.X.2X.X.X.3X.X.X.4
4. 如何扫描 IP 范围
能够扫描整个 IP 范围怎么样?好问题!为此,您可以执行此语法,并为 0-28 CIDR IP 范围附加斜杠。例如:
nmap -p X.X.X.X/28
当然,将 X 替换为实数。
5. 如何扫描最流行的端口
只需点击以下命令即可获得网络上“最受欢迎”和通常打开的端口
nmap --top-ports 30 192.168.1.106
将“30”替换为要扫描的端口数。
通常扫描的 Nmap 端口(实际上是协议)包括以下一些:
- PORT STATE SERVICE
- 21/tcp ftp
- 22/tcp ssh
- 23/tcp telnet
- 25/tcp smtp
- 53/tcp domain
- 80/tcp http
- 110/tcp pop3
- 111/tcp rpcbind
- 135/tcp msrpc
- 139/tcp netbios-ssn
- 143/tcp imap
- 443/tcp https
- 445/tcp microsoft-ds
- 993/tcp imaps
- 995/tcp pop3s
- 1723/tcp pptp
- 3306/tcp mysql
- 3389/tcp ms-wbt-server
- 5900/tcp vnc
- 8080/tcp http-proxy
6. 如何扫描从文本文件中读取的主机和 IP 地址
您可能有一个要扫描的 IP、域或 DNS 记录的列表。那么不用担心,这就是你会做的:
nmap -iL mylist.txt
将所有引用放在一个简单的文本文件中,如下所示:
192.168.1.110
http://cloudflare.com
http://concise-courses.com
7. 如何将 Nmap 扫描结果保存到文件中
如果你在渗透测试中,你会想要保存你的结果,也许可以将它们用于以后查看,甚至可能将它们插入到另一个工具中,如Metasploit。
这是你如何做到的:
nmap -oN outputdata.txt http://concise-courses.com
而且,要将其转换为只需切换扩展即可。XML.txt
nmap -oX outputdata.xml http://concise-courses.com
8. 如何禁用DNS名称解析
要加快Nmap扫描速度(它们可能需要很长时间),只需添加将禁用DNS解析的标志即可。-n
nmap -p 80 -n 8.8.8.8
关于速度的问题,追加将改变扫描的速度。这很重要,因为快速扫描将触发防火墙和入侵检测系统。 -T4T10
9. 如何扫描操作系统
只需使用“-A”标志,您就可以开始了,例如:
nmap -A -T4 http://192.168.1.102.com
10. 如何检测服务/守护进程版本
这可以通过使用 – 标志来完成:sV
nmap -sV 192.168.1.24
11. 如何使用 TCP 或 UDP 协议进行扫描
与其他网络扫描程序一样,Nmap 可以针对各种端口协议(如 UDP 和 TCP)执行扫描。有什么区别?一切都在握手中。TCP 是 HTML/IP 协议的“面包和黄油”,它基本上包括任何文本和 Internet 中的绝大多数流量。
TCP非常严格。UDP 不是。视频流服务将使用 UDP,因为如果视频(数据)略有延迟,那么这只是缓冲,用户体验期望这一点。用户永远不会接受半生不熟的收到的电子邮件。
下面是一个 TCP Nmap 命令:
nmap -sT 192.168.1.1
而且,下面是一个 UDP Nmap 命令:
nmap -sU 192.168.1.1
12. 如何使用 nmap 执行 CVE 检测
Nmap 有自己独特的脚本,称为“Nmap 脚本引擎”,并具有扩展.nse
因此,要将 CVE 加载到扫描中,您需要触发 -Pn 标志来执行脚本来测试已知漏洞。
nmap -Pn --script vuln 192.168.1.112
13. 如何使用 Nmap 发起 DOS 攻击
当然,你只能用它来测试你自己或你客户的网络作为“压力测试”,看看他们的服务如何应对DoS攻击。
同样,我们将为此命令部署 NSE,并运行如下命令:
nmap 192.168.1.110 -max-parallelism 700 -Pn --script http-name-of-known-hack --script-args http-name-of-known-hack.runforever=true
14. 如何使用 Nmap 发起暴力攻击
啊,蛮力永无止境的迷人。我之前已经介绍过关于 THC Hydra 的这个问题,但从本质上讲,假设您试图破解 WordPress,那么您会启动类似的东西:
nmap -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=true' 192.168.1.105
对于尊贵的 FTP:
nmap --script ftp-brute -p 21 192.168.1.112
当然,正如我们从早期就知道的那样,端口 21 运行一个 FTP 服务,因此标志(用于端口)和 21 用于必要的端口。-p
15. 如何检测远程主机上的恶意软件感染
我必须说,当我研究和更新这篇文章时,我并不知道这一点:Nmap 可以检测恶意软件。很酷的东西。
我建议使用 Google 恶意软件检查资源,您可以将其与 Nmap 结合使用,如下所示:
nmap -p123 --script http-google-malware http://clientinfectedsitexyz.com
16 结合 Nmap 和 Nikto
我们在这里介绍了 Nikto,但这里有一个可以与 Nmap 一起使用的命令:
nmap -p80 10.0.1.0/24 -oG - | nikto.pl -h -