百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

常用黑客工具之【Nmap 教程基础】

xsobi 2024-12-01 05:41 1 浏览



什么是 Nmap?

Nmap 传统上被描述为端口扫描工具。

另一种解释是,Nmap是一个极其流行的黑客工具,用于获取目标信息,特别是侦查工作。而众所周知,侦查被认为是任何渗透测试中最重要的方面之一。

当您需要建立有关您感兴趣的实际目标或 IP 的信息时,该工具确实最适合使用。

该工具几乎可以在所有可以想象的平台上使用,当然,如果您下载并安装了 Kali Linux、Parrot、Backbox 或类似版本的副本,那么 Nmap 会随这些 Linux 发行版一起提供。


流行和有用的nmap命令

在这篇文章中,我们将列出一些非常有用的 Nmap 命令,这些命令将在您执行渗透测试或安全审计时为您提供帮助。

  1. 如何针对单个 IP、主机或目标启动基本 Nmap 扫描
  2. 如何扫描本地或远程服务器上的特定端口或扫描整个端口范围
  3. 如何扫描多个 IP 地址
  4. 如何扫描一组 IP 范围
  5. 如何扫描最受欢迎和最知名的端口
  6. 如何扫描从文本文件中读取的主机和 IP 地址
  7. 如何将 Nmap 扫描结果保存到文本文件
  8. 如何禁用DNS名称解析
  9. 如何扫描操作系统
  10. 检测服务/守护程序版本
  11. 使用 TCP 或 UDP 协议进行扫描
  12. 如何使用 Nmap 执行 CVE 检测
  13. 如何使用 Nmap 启动 DoS
  14. 如何使用 Nmap 发起暴力攻击
  15. 如何检测远程主机上的恶意软件感染
  16. 结合 Nikto Scan 和 Nmap

1. 如何针对单个 IP、主机或目标启动基本 Nmap 扫描

只需键入以下命令即可启动 nmap:

nmap

然后,这是超级简单的,只需输入IP地址,如果你的目标!

nmap 1.1.1.1

您也可以扫描特定的主机名,只需像这样替换主机名的 IP:

nmap 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
cloudflare.com
concise-courses.com


7. 如何将 Nmap 扫描结果保存到文件中

如果你在渗透测试中,你会想要保存你的结果,也许可以将它们用于以后查看,甚至可能将它们插入到另一个工具中,如Metasploit。

这是你如何做到的:

nmap -oN outputdata.txt concise-courses.com

而且,要将其转换为只需切换扩展即可。XML.txt

nmap -oX outputdata.xml concise-courses.com


8. 如何禁用DNS名称解析

要加快Nmap扫描速度(它们可能需要很长时间),只需添加将禁用DNS解析的标志即可。-n

nmap -p 80 -n 8.8.8.8

关于速度的问题,追加将改变扫描的速度。这很重要,因为快速扫描将触发防火墙和入侵检测系统。 -T4T10


9. 如何扫描操作系统

只需使用“-A”标志,您就可以开始了,例如:

nmap -A -T4 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 clientinfectedsitexyz.com


16 结合 Nmap 和 Nikto

我们在这里介绍了 Nikto,但这里有一个可以与 Nmap 一起使用的命令:

nmap -p80 10.0.1.0/24 -oG - | nikto.pl -h -


总结

Nmap 理所当然地在我每年的黑客工具列表中都占有令人垂涎的位置,并且仍然坚定地在 2024 年依然存在。

只要你能掌握Nmap,你就已经站在了一个很好的起点上。如果你正在努力通过CISSP、OSCP或CEH考试,那么想在网络安全领域有所建树的话,学习Nmap绝对是必不可少的。

还值得一提的是,有一个叫做ZenMap的GUI(图形化)版本。

如果您想要具体的结果,您应该始终将多个端口扫描和渗透测试工具的结果结合起来,以获得可靠且(几乎)无可争议的结果,尤其是在将其呈现给客户时。

相关推荐

好用的云函数!后端低代码接口开发,零基础编写API接口

前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...

快速上手:Windows 平台上 cURL 命令的使用方法

在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...

使用 Golang net/http 包:基础入门与实战

简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...

#小白接口# 使用云函数,人人都能编写和发布自己的API接口

你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...

极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...

window使用curl命令的注意事项 curl命令用法

cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...

Linux 系统curl命令使用详解 linuxctrl

curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...

Tornado 入门:初学者指南 tornados

Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...

PHP Curl的简单使用 php curl formdata

本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...

Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介

本章涵盖使用Actix提供静态网页...

我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些

这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...

linux文件下载、服务器交互(curl)

基础环境curl命令描述...

curl简单使用 curl sh

1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...

常用linux命令:curl 常用linux命令大全

//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...

三十七,Web渗透提高班之hack the box在线靶场注册及入门知识

一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...