如何使用nmap命令

Nmap是安全审核和渗透测试的强大网络扫描工具。网络管理员用于解决网络连接问题和端口发现的基本工具之一。Nmap还可以检测Mac地址、操作系统类型、服务版本等。

本文档介绍了如何使用nmap命令执行各种网络操作的基本知识。

安装Nmap

Nmap是一个多平台程序,可安装在所有主要操作系统上。最初宣布为Linux专用工具,后来迁移到其他系统,如BSD、Windows和macOS。

如果您更喜欢GUI而不是命令行,Nmap还有一个名为Zenmap和的图形用户界面。

可以从Nmap下载页面。下载正式的二进制软件包。安装过程很简单,取决于操作系统。

在Ubuntu和Debian上安装Nmap

Nmap可用于基础Ubuntu和Debian存储库。要安装,请运行:

Sudo apt更新

Sudo apt install nmap

在CentOS和Fedora上安装Nmap

在CentOS和其他Red Hat衍生产品上运行:

Sudo dnf install nmap

在macOS上安装Nmap

MacOS用户可以在Nmap站点或通过Homebrew“.可以下载“dmg”安装包来安装Nmap。

Brew install nmap

在Windows上安装Nmap

Windows版本的Nmap有一些限制,通常比UNIX版本慢。

在Windows上安装Nmap最简单的方法是下载并运行自己的安装exe文件。

通过从命令行或启动ZeNmap程序,可以在Windows上运行Nmap。有关在Windows上使用Nmap的详细信息,请参阅安装后使用说明。

使用Nmap

Nmap通常用于网络安全、网络映射、开放端口识别和在线设备发现。

Nmap命令的简化语法如下:

Nmap [Options] [Target.]

使用Nmap的最基本示例是以标准用户的身份搜索各个目标,而不指定选项。

Nmap scanme.nmap.org

如果以没有原始数据包权限的非root用户身份调用,nmap将运行TCP连接检查。默认情况下,(-sT)在未经授权的模式下打开。

输出类似于以下内容,包括扫描的基本信息以及打开和过滤的TCP端口的列表:

启动nmap 7.91(https://nmap . org)at 2020-12-16 20:19 cet

nmap scan report for cast . LAN(192 . 168 . 10 . 121)

Host is up (0.048s latency)。

Not shown: 981 closed ports

PORT STATE服务

21/tcp open FTP

22/TCP开放ssh

25/tcp open SMTP

53/TCP开放域

80/tcp open http

110/TCP开放流行3

143/TCP开放IMAP

443/TCP开放https

587/tcp open submission

993/TCP开放映像

995/tcp open pop3s

1025/TCP开放NFS-or-IIS

1080/TCP开放插槽

8080/tcp open http-proxy

8081/tcp open blackice-icecap

nmap done:1 IP address(1 host up)scanned in 1.78 seconds

最受欢迎的扫描选项是TCP SYN扫描(-sS),比connect选项快,并且可用于所有兼容的TCP堆栈。

以具有管理权限的用户调用nmap时,默认情况下会启用-sS选项

Sudo nmap 192.168.10.121

要获得更详细的输出,请添加-v或-vv选项。

Sudo nmap -vv 192.168.10.121

要执行UDP检查,请以root用户身份(-sU)调用命令。

Sudo nmap -sU 192.168.10.121

有关端口发现方法的完整列表,请访问Nmap文档页面。

Nmap还支持IPv6地址。要指定IPv6主机,请使用-6选项。

Sudo nmap -6 fd12:3456:789a:1:1

指定目标主机

Nmap将所有非选项参数视为大象主机。

如果参数以单破折号或双破折号(-,-)开头,则被视为选项。

最简单的选择是传递一个或多个大象地址或域名。

Nmap 192.168.10.121 host.to.scan

您可以使用CIDR表示法指定网络范围。

Nmap 192.168.10.0/24

要指定8字节范围,请使用破折号。例如,要扫描192.168.10.1、192.168.11.1和192.168.12.1:

Nmap 192.168.10-12.1

另一个可用于指定目标的字符是逗号。以下命令的大象主机与上述主机相同:

Nmap 192.168.10,11,12.1

可以合并所有表。

Nmap 10.8-10.10,11,12.0/28 192.168.1-2.100,101

要确保在搜索之前指定了正确的主机,请使用列表搜索选项(-sL),该选项仅列出目标,而不运行搜索。

Nmap-sl 10.8-10.10,11,12.0/28 192.168.1-2.100,101

要排除指定范围内的目标,请使用- exclude选项。

Nmap 10.8-10.10,11,12.0/28-exclude 10.10.12.12

指定和扫描端口

默认情况下,Nmap对1000个使用最广泛的端口执行快速发现。这些端口不是前1000个连续端口,而是1到65535之间最常用的1000个端口。

要扫描1到65535之间的所有端口,请使用-p-选项。

Nmap -p- 192.168.10.121

每个端口可以处于以下状态之一:

打开-端口上运行的程序响应请求。

关闭-端口上没有运行程序,主机响应请求。

已过滤-主机不响应请求。

端口和端口范围由-p选项指定。例如,如果只想扫描端口443,则可以使用以下命令:

Nmap -p 443 192.168.10.121

要指定多个端口,请用逗号分隔大象端口。

Nmap -p 80,443 192.168.10.121

端口范围可以用虚线指定。例如,要搜索1到1024之间的所有UDP端口,可以运行:

sudo nmap-su-P1-1024 192 . 168 . 10 . 121

全部添加:

Nmap-P1-1024,8080,9000 192.168.10.121

也可以使用端口名称指定端口。例如,要扫描端口22 ssh,可以使用:

Nmap -p ssh 192.168.10.121

Ping扫描

要执行Ping搜索或主机搜索,请使用-sn选项调用nmap命令。

Sudo nmap -sn 192.168.10.0/24

-sn选项指示Nmap仅搜索联机主机,而不是端口扫描。如果要快速确定已启动并正在运行的指定主机,此功能非常有用。

禁用DNS名称解析

Nmap的默认行为是对每个发现的主机执行反向DNS检查,以增加发现时间。

扫描大型网络时,建议禁用反向DNS分析,加快扫描速度。为此,请使用-n选项调用命令。

Sudo nmap -n 192.168.10.0/16

操作系统,服务和版本检测

Nmap可以使用TCP/IP堆栈指纹检测远程主机操作系统。要运行操作系统测试,请使用-O选项调用命令。

Sudo nmap -O scanme.nmap.org

如果Nmap可以检测到主机操作系统,请打印以下内容:

.

Device type: general purpose

Running: Linux 5。x

oscpe:CPE:/o:Linux:Linux _ kernel:5

OS details:Linux 5.0-5.4

Network Distance: 18 hops

osdetectionperformed . please report any incorrect results at https://nmap . org/submit/。

nmap done:1 IP address(1 host up)scanned in 26.47 seconds

通常,系统服务由知名的标准端口接收和存档。例如,如果与SSH服务相对应的端口22已打开,则假定SSH服务器正在主机上运行。但是不能绝对肯定,因为人们可以在所有需要的端口上运行服务。

通过服务和版本检测功能,Nmap显示端口正在侦听的程序和程序版本。

要搜索服务和版本,请使用-sV选项。

Sudo nmap -sV scanme.nmap.org

.

Port state服务版本

19/tcp filtered chargen

22/TCP open ssh OpenSSH 6 . 6 . 1 p 1 Ubuntu 2 Ubuntu 2 . 13(Ubuntu Linux:协议2.0)

80/TCP open http Apache httpd 2 . 4 . 7((Ubuntu))

135/tcp filtered msrpc

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

9929/TCP open n ping-echo n ping echo

31337/tcp open tcpwrapped

服务信息:操作系统:LinuxCPE: cpe:/o:linux:linux_kernel

.

您还可以使用-A选项,通过一个命令检索操作系统版本并运行traceroute。

Sudo nmap -A 192.168.10.121

Nmap输出

默认情况下,Nmap以标准输出(stdout)打印信息。

如果扫描大型网络或需要信息以备将来使用,可以将输出保存到文件中。

Nmap提供多种输出类型。要以常规格式保存输出,请使用-oN选项,后跟文件名。

sudo nmap-su-p 1-1024 192 . 168 . 10 . 121-on output . txt

最受欢迎的选项是以XML格式保存输出。为此,请使用-oX选项。

sudon map-su-P1-1024 192 . 168 . 10 . 121-oxoutput . XML

另一个有用的格式是grepable输出,您可以使用标准Unix工具(如grep、awk和cut)查看该输出。使用-oG选项指定可复制的输出。

sudo nmap-su-P1-1024 192 . 168 . 10 . 121-ogoutput

Nmap脚本引擎

Nmap最强大的功能之一是脚本引擎。Nmap附带了数百条记录。也可以使用Lua语言直接创建记录。

可以使用脚本检测恶意软件和后门程序,进行暴走攻击等。

例如,要确定指定的主机是否受到威胁,可以使用:

nmap-SV-script http-malware-hostscanme . nmap . org

结论

Nmap是一个开源工具,网络管理员主要使用它来搜索主机和扫描端口。

在一些国家,未经授权扫描网络是非法的。

如果有问题或意见,请在下面写下意见。

Linux

Command

Nmap

LINUX

如何在Linux中检查内存使用情况

2022-9-22 15:46:09

LINUX

如何在Ubuntu 20.04上安装Microsoft Edge浏览器

2022-9-22 17:16:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索