帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux命令之nmap:如何安装nmap以及使用nmap命令

Linux命令之nmap:如何安装nmap以及使用nmap命令

2023-05-26 13:44:25 2701

Nmap代表Network Mapper,它是一个免费的开源网络扫描和侦察工具,用于扫描主机和收集有关主机的详细信息。在本指南中,我们介绍了如何在Linux系统中安装Nmap命令,以及列举了几个非常实用的nmap命令示例。

Nmap代表Network Mapper,它是一个免费的开源网络发现和侦察工具,用于发现主机和收集有关主机的详细信息。nmap是用C,C ++和Python编写的,最初于1997年9月发布,已经成为网络安全和数字取证专业人士不可或缺的工具,依靠它们可以揭示有关目标主机和发掘潜在漏洞的详细信息。Nmap揭示了诸如网络上的活动主机,打开的端口,操作系统和服务检测以及执行隐形扫描等信息。

在本指南中,我们重点介绍了一些方便的Nmap命令,您可以使用这些命令从主机系统中检索尽可能多的信息

如何安装nmap

在研究使用nmap命令的各种方式之前,让我们检查一下如何安装此有用的命令行工具。安装nmap的最简单,通用的方法是使用snap软件包。快照是随库和依赖项一起提供的预构建软件包。它们可以在所有主要的Linux发行版中找到。您可以在snapstore中找到大量的快照。但是,在从快照包安装Nmap之前,需要首先启用快照的守护程序。这将使您能够下载和安装快照包。

要使用快照安装Nmap,请运行以下命令。

snap install nmap


另外,您可以选择使用每个Linux发行系列独有的软件包管理器来安装Nmap。

Ubuntu和Debian安装nmap

对于基于Ubuntu / Debian / Mint的发行版,请使用APT软件包管理器,如图所示。

# apt -y install nmap

 

CentOS 8 / RHEL 8 / Fedora 22及更高版本上安装nmap

对于CentOS 8 / RHEL 8和Fedora 22及更高版本,请使用dnf软件包管理器。

dnf -y install nmap

CentOS 7和RHEL 7上安装nmap

对于CentOS 7 / RHEL 7和更早的版本,请使用yum软件包管理器。

yum -y install nmap

Arch Linux / Manjaro安装nmap

对于基于Arch的系统,请使用pacman软件包管理器,如图所示。

# pacman -S nmap

看完nmap的安装后,让我们继续来看Linux中20个很棒的nmap命令示例


如何安装nmap

在研究使用nmap命令的各种方式之前,让我们检查一下如何安装此有用的命令行工具。安装nmap的最简单,通用的方法是使用snap软件包。快照是随库和依赖项一起提供的预构建软件包。它们可以在所有主要的Linux发行版中找到。您可以在snapstore中找到大量的快照。但是,在从快照包安装Nmap之前,需要首先启用快照的守护程序。这将使您能够下载和安装快照包。

要使用快照安装Nmap,请运行以下命令。

# snap install nmap

另外,您可以选择使用每个Linux发行系列独有的软件包管理器来安装Nmap。

Ubuntu和Debian安装nmap

对于基于Ubuntu / Debian / Mint的发行版,请使用APT软件包管理器,如图所示。

apt -y install nmap

 

CentOS 8 / RHEL 8 / Fedora 22及更高版本上安装nmap

对于CentOS 8 / RHEL 8和Fedora 22及更高版本,请使用dnf软件包管理器。

dnf -y install nmap

CentOS 7和RHEL 7上安装nmap

对于CentOS 7 / RHEL 7和更早的版本,请使用yum软件包管理器。

# yum -y install nmap

Arch Linux / Manjaro安装nmap

对于基于Arch的系统,请使用pacman软件包管理器,如图所示。

# pacman -S nmap

看完nmap的安装后,让我们继续来看Linux中20个很棒的nmap命令示例


(1)Nmap命令用于扫描单个主机

nmap命令的基本形式可用于扫描单个主机,而无需传递任何参数。语法如下所示:

# nmap <ip地址>

例如;

# nmap 103.47.83.186

image.png

或者,您可以指定域名,而不是指定IP地址,如下

# nmap lanan.fun

image.png


(2)nmap如何扫描多台主机

一次扫描多个主机特别适用于要一次扫描多个主机的广泛网络。这是在单个命令中扫描主机的简便方法,而不是分别扫描每个主机。例如,您在处理其他内容时可以扫描10个或更多主机或整个子网。有不同的解决方法。

首先,您可以在一行中指定多个IP地址或域,并用空格隔开,如图所示;

#  nmap 103.47.83.186 103.23.11.114

image.png


3nmap通过详细选项获取更多信息

要在nmap扫描期间获得更强大的输出,请使用-v选项。此选项打印出扫描的详细信息,例如扫描的性质和发现的打开的端口。

# nmap -v 103.47.83.186

image.png


4nmap执行快速扫描

顾名思义,您可以通过传递-F标志来使用nmap进行更快的扫描,如下所示:

# nmap -F 103.47.83.186

image.png


5nmap执行扫描以检测防火墙

防火墙检测在执行漏洞测试或道德黑客攻击时特别有用。它使系统管理员可以知道是否启用了目标主机的防火墙。要了解防火墙的状态,请使用-sA标志,如图所示。

# nmap -sA 103.47.83.186

image.png

这将启动ACK扫描,以检查数据包是否可以未经过滤通过。使用-n标志可防止目标主机上的DNS反向解析。


6nmap收集系统服务版本和端口信息

扫描可能的漏洞时,检测正在运行的服务及其版本以及它们正在侦听的端口至关重要。这使您知道攻击者可以利用哪些服务来破坏您的系统。有关服务和端口版本的知识使您可以决定是将服务更新为最新版本还是完全卸载它们。

要收集服务和端口信息,请使用-sV标志。

# nmap -sV 103.47.83.186

image.png


7nmap打印出主机接口和路由

有时,您可能会发现需要找到主机系统的接口和路由以进行调试。可以通过传递–iflist选项轻松实现。

# nmap --iflist


image.png


8nmap执行主动扫描

使用-A选项时,nmap会给出非常详细的扫描结果,包括打开的端口和正在运行的服务的版本,操作系统检测,甚至执行目标主机的跟踪路由。

# nmap -A 103.47.83.186

 

(9)配合脚本使用

0x03 使用系列的nmap NSE 进行检查

#nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描:
auth: 负责处理鉴权证书(绕开鉴权)的脚本 
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
brute: 提供暴力破解方式,针对常见的应用如http/snmp等  
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
dos: 用于进行拒绝服务攻击  
exploit: 利用已知的漏洞入侵系统  
external: 利用第三方的数据库或资源,例如进行whois解析  
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 
intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
malware: 探测目标机是否感染了病毒、开启了后门等信息  
safe: 此类与intrusive相反,属于安全性脚本  
version: 负责增强服务与版本扫描(Version Detection)功能的脚本  
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability)

 

配合脚本使用案例:

 

# nmap --script http-headers www.landui.com

image.png


验证SSL-cert证书问题

Nmap -v -v --scripts ssl-cert 103.47.83.186

image.png





提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: