nmap使用方法详解

article/2025/9/19 22:15:53

Nmap详解

Nmap(网络映射器)是一款开放源代码的网络探测和安全审核工具,它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。
Nmap的特点:

 - 主机探测:探测网络上的主机,如列出响应TCP和ICMP请求、开放特别端口的主机- 端口扫描:探测目标主机所开放的端口- 版本检测:探测目标主机的网络服务,版本其服务名称及版本号- 系统检测:探测目标主机的操作系统及网络设备的硬件特征- 支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和lua编程语言

入门Nmap

  • 扫描参数
    在命令行直接执行Nmap或查看帮助文档Nmap --help将显示Nmap的用法及其功能

-iL: 从文件中导入目标主机或者目标网段
-iR: 随机选择目标主机
--exclude: 后面跟的主机或网段将不在扫描范围内
--excludefile: 导入文件中的主机或网段将不在扫描范围中与主机发现方法相关的参数如下:-sL: List Scan (列表扫描),仅列举指定目标的IP,不进行主机发现
-Sn: Ping Scan,只进行主机发现,不进行端口扫描
-Pn: 将所有指定的主机视作已开启,跳过主机发现的过程
PS/PA/PU/PY [portlist]: 使用TCP SYN/ACK或SCTP INIT/ECHO方式来发现
PE/PP/PM: 使用ICMP echo、timestamp、 netmask请求包发现主机
-PO [protocollist]: 使用IP协议包探测对方主机是否开启
-n/-R: -n表示不进行DNS解析-R表示总是进行DNS解析
--dns-servers<serv1[,serv2],...>: 指定DNS服务器
--system-dns: 指定使用系统的DNS服务器
--traceroute:追踪每个路由节点与常见的端口扫描方法相关的参数如下:-sS/sT/sA/sW/sM: 指定使用TCP SYN/Connect () /ACK/Window/Maimon scans的方式对目标主机进行扫描
-sU: 指定使用UDP扫描的方式确定目标主机的UDP端口状况
-sN/sF/sX: 指定使用TCP Null/FIN/Xmas scans秘密扫描的方式协助探测
对方的TCP端口状态
--scanflags<flags>: 定制TCP包的flags
-s|<zombie host [: probeport] >: 指定使用ldle scan的方式扫描目标
主机(前提是需要找到合适的zombie host)
-sY/sZ: 使用SCTP INIT/COOKIE-ECHO扫描SCTP协议端口的开放情况
-sO: 使用IP protocol扫描确定目标机支持的协议类型
-b<FTP relay host>: 使用FTP bounce scan扫描方式跟端口参数与扫描顺序的设置相关的参数如下:-p<port ranges>: 扫描指定的端口
-F: Fast mode (快速模式),仅扫描TOP 100的端口
-r: 不进行端口随机打乱的操作(如无该参数,Nmap会将要扫描的端口以
随机顺序的方式进行扫描,让Nmap的扫描不易被对方防火墙检测到)
--top-ports <number>: 扫描开放概率最高的number个端口(Nmap的作者曾做过大规模的互联网扫描,以此统计网络上各种端口可能开放的概率,并排列出最有可能开放端口的列表,具体可以参见nmap-services文件,默认情况下,Nmap会扫描最有可能的1000个TCP端口)
--port-ratio <ratio>: 扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数,概率大于--port-ratio的端口才被扫描,显然参数必须在0~1之间,想了解具体的概率范围可以查看nmap-services文件与版本侦测相关的参数如下所示:-sV: 指定让Nmap进行版本侦测
--version-intensity<level>: 指定版本侦测的强度(0~9),默认为7,数值越高,探测出的服务越准确,但是运行时间会比较长
--version-light: 指定使用轻量级侦测方式(intensity2) 
--version-all: 尝试使用所有的probes进行侦测(intensity 9)
--version-trace: 显示出详细的版本侦测过程信息在了解以上参数及其含义后,再来看用法会更好理解,扫描命令格式: Nmap+扫描参数+目标地址或网段,比如一次完整的Nmap扫描命令如下:nmap-T4-A-v ip其中-A表示使用进攻性(Aggressive) 方式扫描;-T4表示指定扫描过程使用的时序(Timing);共有6个级别(0~5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通信状况良好的情况下推荐使用T4;-v表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,有助于让用户了解当前的扫描状态

常用方法

Nmap的参数较多,但是通常用不了那么多,以下是在渗透测试过程中比较常见的命令

  • 扫描单个目标地址
    在Nmap后面直接添加目标地址即可扫描
root@kali:~# nmap 192.168.1.100
Starting Nmap 7.70 ( https://nmap.org ) at 2020-08-28 10:29 CST
Nmap scan report for 192.168.1.100
Host is up (0.0016s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
MAC Address: 00:0C:29:FE:8D:2D (VMware)Nmap done: 1 IP address (1 host up) scanned in 3.48 seconds
  • 扫描多个目标地址
    如果目标地址不在同一个网段,或在同一个网段但不连续且数量不多,可以使用下面的方法进行扫描:
root@kali:~# nmap 192.168.1.100 182.61.200.6
Starting Nmap 7.70 ( https://nmap.org ) at 2020-08-28 10:33 CST
Nmap scan report for 192.168.1.100
Host is up (0.00059s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
MAC Address: 00:0C:29:FE:8D:2D (VMware)Nmap scan report for 182.61.200.6
Host is up (0.039s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  httpsNmap done: 2 IP addresses (2 hosts up) scanned in 9.10 seconds
  • 扫描一个范围内的目标地址
    可以指定扫描一个连续的网段,中间使用-连接,例如,下列命令表示扫描范围为192.168.0.100-192.168.0.110
nmap 192.168.1.100-110
  • 扫描目标地址所在的某个网段
    以C段为例,如果目标是一个网段,则可以通过添加子网掩码的方式扫描,下列命令表示扫描范围为192.168.1.1-192.168.1.255
nmap 192.168.1.100/24
  • 扫描主机列表1.txt中的所有目标地址
nmap -iL 1.txt
  • 扫描除某一个目标地址之外的所有目标地址
nmap 192.168.1.100/24 -exclude 192.168.1.1
  • 扫描除某一文件中的目标地址之外的目标地址
nmap 192.168.1.100/24 -excludefile 1.txt
  • 扫描某一目标地址的22、445、8080端口
nmap 192.168.1.100 -p 22,445,8080
  • 对目标地址进行路由跟踪
nmap --traceroute 192.168.1.100
  • 扫描目标地址所在C段的在线状态
nmap -sP 192.168.1.100/24
  • 目标地址的操作系统指纹识别
nmap -O 192.168.1.100
  • 目标地址提供的服务版本检测
nmap -sV 192.168.1.100
  • 探测防火墙状态
nmap -sF -T4 192.168.1.100

状态识别

nmap输出的是扫描列表,包括端口号、服务名称、服务版本及协议
在这里插入图片描述

Nmap进阶

Nmap的脚本主要分为以下几类:


Auth:负责处理鉴权证书(绕过鉴权)的脚本
Broadcast:在局域网内探查更多服务的开启情况,如DHCP/DNS/SQLServer等
Brute:针对常见的应用提供暴力破解方式,如HTTP/SMTP等
Default:使用-sC-A选择扫描时默认的脚本,提供基本的脚本扫描能力
Discovery:对网络进行更多信息的收集,如SMB枚举、SNMP查询等
Dos:用于进行拒绝服务攻击
Exploit:利用已知的漏洞入侵系统
External:利用第三方的数据库或资源,如Whois解析
Fuzzer:模糊测试脚本,发送异常的包到目标机,探测出潜在漏洞
Intrusive:入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
Malware:探测目标是否感染了病毒、开启后门等信息
Safe:此类与Intrusive相反,属于安全性脚本
Version:负责增强服务与版本扫描功能的脚本
Vuln:负责检查目标是否有常见漏洞,如MS08-067

常见脚本
用户还可根据需要设置–script=类别进行扫描


-sC/--script=default: 使用默认的脚本进行扫描
--script=<Lua scripts>: 使用某个脚本进行扫描
--script-args=key1=value1,key2=value.....: 该参数用于传递脚本里的参数,key1是参数名,该参数对应value1这个值;如有更多的参数,使用逗号连接
--script-args-file=filename: 使用文件为脚本提供参数
--script-trace: 如果设置该参数,则显示脚本执行过程中发送与接收的数据
--script-updatedb: 在Nmap的scripts目录里有一个script.db文件,该文件保存了当前Nmap可用的脚本,类似于一个小型数据库, 如果我们开启Nmap并调用了此参数,则Nmap会自行扫描scripts目录中的扩展脚本,进行数据库更新
--script-help: 调用该参数后,Nmap会输出该脚本对应的脚本使用参数,以及详细的介绍信息
  1. 鉴权扫描
    使用–script=auth可以对目标主机或者目标主机所在的网段进行应用弱口令检测
 nmap --script=auth 192.168.1.100
  1. 暴力破解攻击
    Nmap具有暴力破解的功能,可对数据库、SMB、SNMP等进行简单密码的暴力猜解
nmap --script=brute 192.168.1.100
  1. 扫描常见的漏洞
    Nmap具备漏洞扫描的功能,可以检查目标主机或网段是否存在常见的漏洞
 nmap --script=vuln 192.168.1.100
  1. 应用服务扫描
    Nmap具备很多常见应用服务的扫描脚本,例如VNC服务、MySQL服务、Telnet服务、Rsync服务等,此处以VNC服务为例:
nmap --script=realvnc-auth-bypass 192.168.1.100
  1. 探测局域网内更多服务开启的情况
nmap -n -p 445 --script=broadcast 192.168.1.100
  1. Whois解析
    利用第三方的数据库或资源查询目标地址的信息
nmap -script external baidu.com

获取目标主机的操作系统,其中Pn和-p0参数的意思是不使用ping的方式,而且假定所有主机系统都是活动的,可以穿透防火墙,也可以避免被防火墙发现

nmap -O -Pn/p0 miaosj.cn

http://chatgpt.dhexx.cn/article/dfwvAE3U.shtml

相关文章

Nmap的使用方法总结

文章目录 Nmap的使用方法总结一&#xff1a;各种参数的使用1&#xff1a;ping扫描 —— nmap < 要扫描的目标ip地址>2&#xff1a;TCP SYN Ping扫描3&#xff1a;-PA TCP ACK Ping扫描4&#xff1a;半开扫描5&#xff1a;自定义端口扫描 nmap -P&#xff08;扫描范围&…

nmap使用方法

目录 第一、nmap使用 第一、nmap使用 1、nmap扫描一台服务器&#xff0c;默认扫描1000个最有可能开放的TCP端口。 2、-v显示详细信息 3、-p表示端口扫描。 扫描全部端口&#xff0c;查看开放了那些。 4、查看端口正在被那个进程使用 查看22端口正在被那个进程使用。 查看s…

Nmap使用教程图文教程(超详细)

kali的命令行中可以直接使用 nmap 命令&#xff0c;打开一个「终端」&#xff0c;输入 nmap 后回车&#xff0c;可以看到 nmap 的版本&#xff0c;证明 nmap 可用。 Nmap有四种基本功能&#xff1a;「端口扫描」、「主机探测」、「服务识别」和「系统识别」。 一、端口扫描 扫…

诗词——人间绝句

人生若只如初见&#xff0c;何事秋风悲画扇。 ——纳兰性德《木兰花令拟古决绝词谏友》 花自飘零水自流&#xff0c;一种相思&#xff0c;两处闲愁。 ——李清照《一剪梅红藕香残玉覃秋》 最是人间留不住&#xff0c;朱颜辞镜花辞树。 ——王国维《蝶恋花》 金风玉露一相逢&…

[《雪的散文诗》小个子的诗集]2012年8月28日

雪花吟 雪是冬的姑娘&#xff0c;冬把雪孕育。 什么时候起&#xff0c;没有了天朗气清。 沉寂灰朦&#xff0c;是天&#xff0c;是云&#xff0c;是气&#xff1f; 凝固最后一颗秋露&#xff0c;冰封最后一处溪流。 天动了&#xff0c;或者是云动了&#xff0c;亦或是气动了…

正版四字梅花诗:小户人家 梅花诗:怒发冲冠

正版四字梅花诗&#xff1a;小户人家 梅花诗&#xff1a;怒发冲冠 为您解答&#xff08;免费分享-2宵&#xff09;等待您的加入&#xff01; 107为您解答&#xff01;请威-芯 创建 Html 的时候报错

python turtle 绘制创意梅花

""" author:魏振东 data&#xff1a;2019.10.25 func:绘制创意图形 """from turtle import * from random import *#画雪花 def drawSnow():hideturtle()pensize(2)for i in range(20):pencolor("white")penup()setx(randint(-640,640…

仓央嘉措诗歌全集

好文章集锦目录 《那一世》 编辑 1 那一夜 我听了一宿梵唱 不为参悟 只为寻你的一丝气息 那一月 我转过所有经筒 不为超度 只为触摸你的指纹 那一年 我磕长头拥抱尘埃 不为朝佛 只为贴着你的温暖 那一世 我翻遍十万大山 不为修来世 只为路中能与你相遇 那一瞬 我飞升成仙 不为长…

数学与诗歌

数学与诗歌本不是一家&#xff0c;数学是抽象思维活动&#xff0c;诗词是阐述心灵的文学艺术&#xff0c;但有些诗与数学联姻&#xff0c;把数字嵌入诗中&#xff0c;装点了诗词的国度&#xff0c;让诗词多了一种气质和风情&#xff1b;当我们在吟读诗词时&#xff0c;提高文学…

精选诗词歌赋

精选诗词歌赋 上邪 汉 佚名 上邪&#xff0c;我欲与君相知&#xff0c;长命无绝衰。 山无陵&#xff0c;江水为竭。冬雷震震&#xff0c;夏雨雪。 天地合&#xff0c;乃敢与君绝。 菩萨蛮 五代 佚名 枕前发尽千般愿&#xff0c;要休且待青山烂。 水面上秤锤浮&#xff0c;直待…

html竖版古诗,古诗竖版手抄报版面设计图

中国古诗含蓄凝练,充满模糊性。在做古诗的手抄报的同时&#xff0c;可以好好欣赏古诗。下面是学习啦小编为大家带来的古诗竖版手抄报版面设计图&#xff0c;希望大家喜欢。 古诗竖版手抄报的图片 古诗竖版手抄报图(1) 古诗竖版手抄报图(2) 古诗竖版手抄报图(3) 古诗竖版手抄报图…

曹雪芹诗歌中的鸿蒙,曹雪芹诗词选

薄命司对联 清 曹雪芹 春恨秋悲皆自惹&#xff0c; 花容月貌为谁妍。 嘲顽石幻相 清 曹雪芹 女娲炼石已荒唐&#xff0c; 又向荒唐演大荒。 失去幽灵真境界&#xff0c; 幻来亲就臭皮囊。 春梦歌 清 曹雪芹 春梦随云散&#xff0c; 飞花逐水流。 寄言众儿女&#xff0c; 何必…

曹雪芹的诗歌鸿蒙,曹雪芹的诗

本页收录曹雪芹的诗,根据这些曹雪芹的诗可以用来参考写作或设置QQ个性签名等用途.如果您也有喜欢的曹雪芹的诗,欢迎发布出来与我们共享. 曹雪芹的诗 1、从前碌碌却因何&#xff0c;到如今回头试想真无趣&#xff01; 2、势败休云贵&#xff0c;家亡莫论亲。 3、滴不尽相思血泪抛…

YiLu代理中住宅IP代理和数据中心/机房IP代理分析及对比

YiLu代理的代理IP池根据代理类型分类的话主要可以分为住宅IP代理和数据中心/机房IP代理2大类&#xff0c;本文主要讲解下YiLu Proxy中住宅IP代理和数据中心/机房IP代理它们各自的特点以及两者之间存在的差别。 文章目录 什么是住宅IP代理&#xff1f;住宅IP代理的特点 什么是数…

Socks5代理和IP代理

Socks5代理和IP代理是常用的网络代理服务&#xff0c;它们为用户提供了匿名访问和保护隐私的功能。在本文中&#xff0c;我们将介绍这两种代理的基本概念和工作原理&#xff0c;并展示如何编写一个简单的代理服务器。 一、什么是Socks5代理和IP代理&#xff1f; Socks5代理…

多重共线性的处理方法

回归分析需要考虑多重共线性问题。多重共线性是指自变量之间存在高度相关性&#xff0c;导致回归模型的系数估计不稳定和假设检验不可靠。在实际应用中&#xff0c;许多自变量之间都可能存在一定程度的相关性&#xff0c;如果没有进行控制&#xff0c;就会导致多重共线性问题的…

基于Python回归模型的多重共线性分析

本文主要是运用两种方法消除回归模型中的多重共线性问题 一、多重共线性的诊断 扩大因子法 扩大因子法是通过对自变量进行计算的结果&#xff1a; 其中是自变量的中心化标准矩阵。 是每个自变量的扩大引子。 当时&#xff0c;则说明自变量与其他自变量存在严重的多重共线性问题…

解决多元线性回归的多重共线性问题

在上一章我们提到多重共线性的影响以及产生的原因&#xff0c;因为在解释变量存在多重共线性的情况下&#xff0c;使用普通最小二乘法估计参数会导致参数估计方差太大&#xff0c;使普通最小二乘法的效果很不理想。在这篇文章中我们将讨论如何解决多元线性回归中的多重共线性问…

如何消除多重共线性

介绍 机器学习是一种解决不能明确编码的问题的方法&#xff0c;例如&#xff0c;分类问题。机器学习模型将从数据中学习一种模式&#xff0c;因此我们可以使用它来确定数据属于哪个类。 但有个问题。这个模型是如何工作的?一些人不能接受一个性能良好的模型&#xff0c;因为…

去除多重共线性的5种方法,你学废了嘛?

什么是多重共线性呢? 就是回归模型多个特征之间具有很强的相关性。 多重共线性&#xff0c;听起来很就很严重&#xff0c;其实没有很大的危害&#xff0c;只是容易过拟合&#xff0c;或者导致模型无法解释。尤其是在实际项目中&#xff0c;我们需要解释模型的特征对目标变量…