首页 > 编程知识 正文

nmap常用命令,linux创建shell脚本

时间:2023-05-03 12:00:54 阅读:23349 作者:1133

本文提供了在Linux系统上使用nmap命令执行各种网络任务的基本知识。 Nmap是用于安全审计和渗透测试的强大的网络扫描工具,是网络管理员用于解决网络连接问题和端口扫描的基本工具之一,Nmap是Mac地址、操作系统类型Nmap是目前可安装在所有主要操作系统上的多平台程序,最初作为Linux专用工具发布,然后移植到其他系统,如BSD、MAC OS和windows windows版本的Nmap有一些限制,通常比UNIX版本慢。 另外,如果您喜欢GUI而不是命令行,则Nmap还提供了一个称为ZeNmap的图形用户界面。 有关安装的信息,请参见如何在Ubuntu/debian/arch Linux/fedora/opensuse上安装nmap。

使用Nmap命令的语法

Nmap通常用于审核网络安全、网络映射、标识开放端口和搜索在线设备。

nmap命令的简化语法如下:

nmap [Options] [Target.]

即,nmap [选项] [目标. ]

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

nmap scanme.nmap.org

如果以没有原始数据包权限的非根用户身份调用,nmap将执行TCP连接扫描,默认情况下在非权限模式下打开[-ST]。

输出如下所示。 包含有关扫描的基本信息以及打开和过滤的TCP端口的列表。

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

以具有管理员权限的用户身份调用nmap时,默认情况下会打开-sS。

sudo nmap 192.168.10.121

要获得更详细的输出,请使用-v或-vv提高详细级别。

sudo nmap -vv 192.168.10.121

要执行UDP扫描,请以根用户身份使用-sU选项调用命令。

sudo nmap -sU 192.168.10.121

有关端口扫描方法的详细信息,请参阅Nmap帮助信息。

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

sudo nmap-6fd 12336034563360789 a :13360:3:33601

指定目标主机

Nmap将所有非可选参数视为目标主机。

如果参数以单破折号-----开头,则被视为可选。

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

nmap 192.168.10.121 host.to.scan

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

nmap 192.168.10.0/24

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

nmap 192.168.10-12.1

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

nmap192.168.10、11和12.1

所有形式都可以组合在一起。

nmap10.8-10.10、11、12.0/28192.168.1-2.100、101

要在扫描之前验证是否指定了正确的主机,请使用列表扫描选项-sL。 此选项仅列出目标,而不执行扫描。

nmap-sl 10.8-10.10、11、12.0/28192.168.1-2.100、101

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

nmap 10.8-10.10、11、12.0/28-- exclude 10.10.12.12

指定和扫描端口

默认情况下,Nmap对000个最常见的端口执行快速扫描。 这些端口不是前000个连续端口,而是65389个最常见的端口。

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

nmap -p- 192.168.10.121

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

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

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

已过滤-不响应请求。

端口和端口范围由-p选项指定。

例如,要仅扫描443个端口,请使用以下命令:

nmap -p 443 192.168.10.121

要指定多个端口,请用逗号分隔目标端口。

nmap-p80,443192.168.10.121

端口范围可以用破折号指定。 例如,要扫描范围为1024的所有UDP端口,请执行以下操作:

SDO nmap-su-P1-1024192.168.10.121

全部合并:

n

map -p 1-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可以检测到主机操作系统,它将打印如下内容:

通常,系统服务监听众所周知的标准端口并为其保留,例如,如果对应于SSH服务的22端口已打开,则您将假定SSH服务器在主机上运行,但是,您不能绝对确定,因为人们可以在所需的任何端口上运行服务。

通过服务和版本检测,Nmap将显示端口上侦听的程序和程序版本。

要扫描服务和版本,请使用-sV选项:

sudo nmap -sV scanme.nmap.org

您还可以使用-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选项:

sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml

另一种有用的格式是grepable输出,可以使用标准的Unix工具(如grep、awk和cut)进行解析,可grepable输出是通过-oG选项指定的:

sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Nmap脚本引擎

Nmap的最强大功能之一就是其脚本引擎,Nmap附带了数百个脚本,您也可以使用Lua语言编写自己的脚本。

您可以使用脚本来检测恶意软件和不正常的程序等。

例如,要检查给定主机是否受有安全问题,可以使用:

nmap -sV --script http-malware-host scanme.nmap.org

结论

Nmap是一个开放源代码工具,网络管理员主要使用它来发现主机和扫描端口,同时掌握了以上技术,等于是玩转了Linux系统下的Nmap命令。这里另外提醒的是:在某些国家或者地区,未经授权扫描网络是非法的,这点必需引起重视,只能用它来做正面的事情。

相关主题

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。