分享好友 最新动态首页 最新动态分类 切换频道
nmap用法详解
2024-12-11 22:34

目录

nmap用法详解

用法:nmap [扫描类型] [选项] {目标指定内容}

一、目标指定

-iL <输⼊⽂件名>

-iR <主机数量>

--exclude <主机 1 [, 主机 2][, 主机 3],...>

--excludefile <排除⽂件>

二、主机发现

-sL

-sn

-Pn

-PS/PA/PU/PY [端⼝列表]

-PE/PP/PM

-PO [协议列表]

-n/-R

--dns-servers <服务器 1 [, 服务器 2],...>

--system-dns

--traceroute

三、扫描技术

-sS/sT/sA/sW/sM

-sU

-sN/sF/sX

--scanflags <标志>

-sI <僵⼫主机 [: 探测端⼝]>

-sY/sZ

-sO

-b

四、端口指定及扫描顺序

-p <端⼝范围>

--exclude-ports <端⼝范围>

-F

-r

--top-ports <数量>

--port-ratio <⽐例>

五、服务 / 版本检测

-sV

--version-intensity <级别>

--version-light

--version-all

--version-trace

六、脚本扫描

-sC

--script=

--script-args==v1,[n2=v2,...]>

--script-args-file=filename

--script-trace

--script-updatedb

--script-help=

七、操作系统检测

-O

--osscan-limit

--osscan-guess

八、定时与性能

-T<0 - 5>

--min-hostgroup/max-hostgroup <⼤⼩>

--min-parallelism/max-parallelism <探测数量>

--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <时间>

--max-retries <尝试次数>

--host-timeout <时间>

--scan-delay/--max-scan-delay <时间>

--min-rate <数量>

九、防火墙 / 入侵检测系统规避与欺骗

-f; --mtu <值>

-D <诱饵 1, 诱饵 2 [, 我⾃⼰],...>

-S

-e <接⼝>

-g/--source-port <端⼝号>

--proxies ,[url2],...>

--data <⼗六进制字符串>

--data-string <字符串>

--data-length <数字>

--ip-options <选项>

--ttl <值>

--spoof-mac

--badsum

十、输出

-oN/-oX/-oS/-oG <⽂件>

-oA <基本名>

-v

-d

--reason

--open

--packet-trace

--iflist

--append-output

--resume <⽂件名>

--noninteractive

--stylesheet <路径 / URL>

--webxml

--no-stylesheet

十一、其他

-6

-A

--send-eth/--send-ip

--privileged

--unprivileged

-V

-h

十二、示例

nmap -v -A scanme.nmap.org

nmap -v -sn 192.168.0.0/16 10.0.0.0/8

nmap -v -iR 10000 -Pn -p 80

# ⽤例

 ⼀、红队渗透步骤

主机发现

端口扫描

详细信息扫描

# 原理

一、没有nmap进行主机发现(Linux bash命令为例)

二、没有nmap进行端口扫描

1. 使用进行旧版nc端口扫描


可以传入主机名、IP 地址、网络等。

例如scanme.nmap.org microsoft.com/24 、192.168.0.1;10.0.0 - 255.1 - 254

-iL <输⼊⽂件名>

:从主机 / ⽹络列表中读取输⼊内容。

-iR <主机数量>

:随机选择⽬标主机。

--exclude <主机 1 [, 主机 2][, 主机 3],...>

:排除指定的主机 / ⽹络。

--excludefile <排除⽂件>

:从⽂件中的列表排除相关内容。

-sL

:列表扫描 - 仅列出要扫描的⽬标。

-sn

:Ping 扫描 - 禁⽤端⼝扫描。

-Pn

:将所有主机视为在线状态 - 跳过主机发现步骤。

-PS/PA/PU/PY [端⼝列表]

:对给定端⼝进⾏ TCP SYN/ACK、UDP 或 SCTP 发现操作。

-PE/PP/PM

:ICMP 回显、时间戳和⼦⽹掩码请求发现探测。

-PO [协议列表]

:IP 协议 Ping。

-n/-R

:从不进⾏ DNS 解析 / 总是进⾏ DNS 解析(默认:有时进⾏)。

--dns-servers <服务器 1 [, 服务器 2],...>

:指定⾃定义 DNS 服务器。

--system-dns

:使⽤操作系统的 DNS 解析器。

--traceroute

:追踪到每个主机的跃点路径。

-sS/sT/sA/sW/sM

:TCP SYN/Connect ()/ACK/Window/Maimon 扫描。

-sU

:UDP 扫描。

-sN/sF/sX

:TCP Null、FIN 和 Xmas 扫描。

--scanflags <标志>

:⾃定义 TCP 扫描标志。

-sI <僵⼫主机 [: 探测端⼝]>

:空闲扫描。

-sY/sZ

:SCTP INIT/COOKIE-ECHO 扫描。

-sO

:IP 协议扫描。

-b <FTP 中继主机>

:FTP 反弹扫描。

-p <端⼝范围>

:仅扫描指定的端⼝。

例如:-p22;-p1 - 65535;-p U:53,111,137,T:21 - 25,80,139,8080,S:9

--exclude-ports <端⼝范围>

:从扫描中排除指定的端⼝。

-F

:快速模式 - 扫描的端⼝⽐默认扫描的要少。

-r

:按顺序扫描端⼝ - 不随机排列。

--top-ports <数量>

:扫描 <数量> 个最常⻅的端⼝。

--port-ratio <⽐例>

:扫描⽐ <⽐例> 更常⻅的端⼝。

-sV

:探测开放端⼝以确定服务 / 版本信息。

--version-intensity <级别>

:设置从 0(轻度)到 9(尝试所有探测)的强度。

--version-light

:限制为最有可能的探测(强度为 2)。

--version-all

:尝试每⼀个单独的探测(强度为 9)。

--version-trace

:显⽰详细的版本扫描活动(⽤于调试)。

-sC

:等同于 --script=default。

--script=<Lua 脚本>

:<Lua 脚本> 是⼀个由逗号分隔的⽬录、脚本⽂件或脚本类别列表。

--script-args=<n1=v1,[n2=v2,...]>

:为脚本提供参数。

--script-args-file=filename

:在⽂件中提供 NSE 脚本参数。

--script-trace

:显⽰所有发送和接收的数据。

--script-updatedb

:更新脚本数据库。

--script-help=<Lua 脚本>

:显⽰关于脚本的帮助信息。

<Lua 脚本> 是⼀个由逗号分隔的脚本⽂件或脚本类别列表。

-O

:启⽤操作系统检测。

--osscan-limit

:将操作系统检测限制在有希望的⽬标上。

--osscan-guess

:更积极地猜测操作系统。

选项中涉及的 <时间> 单位为秒,或者可以在数值后附加 'ms'(毫秒)、's'(秒)、'm'(分钟)或 'h'(小

(例如 30m)。

-T<0 - 5>

:设置定时模板(数值越⾼速度越快)。

--min-hostgroup/max-hostgroup <⼤⼩>

:并⾏主机扫描组的⼤⼩。

--min-parallelism/max-parallelism <探测数量>

:探测并⾏化。

--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <时间>

:指定探测往返时间。

--max-retries <尝试次数>

:限制端⼝扫描探测的重传次数。

--host-timeout <时间>

:在经过这段时间后放弃对⽬标的扫描。

--scan-delay/--max-scan-delay <时间>

:调整探测之间的延迟。

--min-rate <数量>

:每秒发送数据包的速度不低于 <数量>。

-f; --mtu <值>

:对数据包进⾏分⽚(可指定 MTU 值)。

-D <诱饵 1, 诱饵 2 [, 我⾃⼰],...>

:⽤诱饵掩盖扫描。

-S <IP 地址>

:伪造源地址。

-e <接⼝>

:使⽤指定的接⼝。

-g/--source-port <端⼝号>

:使⽤给定的端⼝号。

--proxies <url1,[url2],...>

:通过 HTTP/SOCKS4 代理转发连接。

--data <⼗六进制字符串>

:在发送的数据包上附加⾃定义负载。

--data-string <字符串>

:在发送的数据包上附加⾃定义 ASCII 字符串。

--data-length <数字>

:在发送的数据包上附加随机数据。

--ip-options <选项>

:发送带有指定 IP 选项的数据包。

--ttl <值>

:设置 IP ⽣存时间字段。

--spoof-mac <MAC 地址 / 前缀 / ⼚商名称>

:伪造你的 MAC 地址。

--badsum

:发送带有错误 TCP/UDP/SCTP 校验和的数据包。

-oN/-oX/-oS/-oG <⽂件>

:分别以普通、XML、脚本⼩⼦、可搜索格式将扫描结果输出到给定的⽂件名 中。

-oA <基本名>

:同时以三种主要格式输出。

-v

:提⾼详细程度级别(使⽤ -vv 或更⾼级别可获得更强效果)。

-d

:提⾼调试级别(使⽤ -dd 或更⾼级别可获得更强效果)。

--reason

:显⽰端⼝处于特定状态的原因。

--open

:只显⽰开放(或可能开放)的端⼝。

--packet-trace

:显⽰所有发送和接收的数据包。

--iflist

:打印主机接⼝和路由(⽤于调试)。

--append-output

:追加到指定的输出⽂件⽽不是覆盖它们。

--resume <⽂件名>

:恢复⼀个中断的扫描。

--noninteractive

:禁⽤通过键盘进⾏的运⾏时交互。

--stylesheet <路径 / URL>

:将 XML 输出转换为 HTML 的 XSL 样式表。

--webxml

:参考 Nmap.org

上的样式表以获得更具可移植性的 XML。

--no-stylesheet

:防⽌将 XSL 样式表与 XML 输出关联。

-6

:启⽤ IPv6 扫描。

-A

:启⽤操作系统检测、版本检测、脚本扫描和追踪路由。--datadir <⽬录名>

:指定⾃定义 Nmap 数据⽂件的位置。

--send-eth/--send-ip

:使⽤原始以太⽹帧或 IP 数据包发送。

--privileged

:假设⽤⼾具有完全的特权。

--unprivileged

:假设⽤⼾没有原始套接字特权。

-V

:打印版本号。

-h

:打印此帮助概要⻚⾯。

nmap -v -A scanme.nmap.org

:详细地对 scanme.nmap.org

进⾏操作系统检测、版本检测、脚

本扫描和追踪路由。

nmap -v -sn 192.168.0.0/16 10.0.0.0/8

:详细地对 192.168.0.0/16 和 10.0.0.0/8 ⽹段进⾏ Ping 扫描

(不进⾏端⼝扫描)。

nmap -v -iR 10000 -Pn -p 80

:详细地随机选择 10000 个⽬标,将所有⽬标视为在线状态,只扫描端⼝ 80。

更多选项和示例请参阅手册页 https://nmap.org/book/man.html

使用nmap进行分阶段分任务的扫描,避免流量过大,让目标服务器发现

主机发现

nmap -sn 127.0.0.0/24

端口扫描

nmap -sT --min-rate 10000 -p- 127.0.0.1 -oA nmapsc/ports

1.扫描⽅式:-sS与-sT

-sS以SYN包的形式,-sT以TCP三次握⼿的形式

-sS扫描速度更快但不稳定,-sT相对较慢但是稳定

2.--min-rate 指定最⼩发包速率

3.-p 指定ip 后⾯的-是 1-65535端⼝的缩写,不写的话就会扫描nmap默认的⼏个端⼝

4.-o 格式化输出 后⾯的A是all的缩写,或将所有形式输出 但是⼀般的不会有多种形式输出

详细信息扫描

nmap -sT -sV -sC -O -p22,80,443 127.0.0.1 -oA nmapsc/detail

该扫描是比较重的扫描所以指定发现端口。

1.-sV 扫描各服务的版本2.-sC 使⽤nmap默认脚本进⾏扫描

3.-O 扫描⽬标机器的操作系统

udp扫描

namp -sU --top-ports 20 127.0.0.1 -oA nmapsc/udp

该扫描是对UDP协议进行发现,避免遗漏信息丢失攻击面

1.-sU 使⽤UDP的扫描⽅式

2.--top-ports 20 针对常⻅的20个端⼝进⾏扫描

脚本扫描

nmap --script=vuln -p22,80,443 127.0.0.1 -oA nmapsc/vuln

使用脚本进行漏洞扫描,vuln是nmap中默认扫描漏洞的一个常用脚本。

nmap -sn 192.169.3.0/24 其实是封装的系统的ping命令

for i in {1..254};do ping -c 1 -W 1 192.168.3.$i;done

解析:-c ->count数量 1 -W ->超时时间 1

bash循环语法: for i in {};do 命令;done

执行后发现Ctrl+c并不能停止,这里涉及到控制台信号的知识

可以按下Ctrl+z让这些命令放到后台去执行

然后输入命令 kill -9 %1 (%1是指最近执行的命令,结束进程)

进一步进行筛选优化执行(使用grep进行特征筛选)

for i in {1..254};do ping -c 1 -W 1 192.168.3.$i | grep from;done

1. 使用进行旧版nc端口扫描

nmap --min-rate 1000 -p- 192.168.3.100

使用旧版nc进行端口扫描

kali中旧版nc使用 (并用来进行端口扫描) (1-65535中找就相当于大海捞针所以就必须对信息进行过滤)

nc.teaditional -vv -z 192.168.3.120 1-65535

解析: -vv 详细信息输出 -z 零数据传输

所以需要搜索出一些开放的端口和一些未开放的端口,筛选出文本特征,然后利用grep进行筛选

nc.teaditional -vv -z 192.168.3.120 1-65535 2>&1| grep -v refused

解析: grep 后面的 -v ,是反向的意思,就是将匹配到refused的数据删除。

2>&1 是⼀个重定向操作,它的作⽤是将标准错误输出 2 )重定向到标准输出 1 )的位置。这样做的⽬的是把原本会输出到标准错误输出(通常是显⽰错误信息等)的内容也合并到标准输出流中,以 便后续可以统⼀进⾏处理。

2.使用伪设备进行端口扫描

for i in {1..65535};do (echo < /dev/tcp/192.168.3.120/$i) &>/dev/null && printf " [+]The Open Port is:%d " "$i" || printf ".";done

解析:&& 需要前面的命令成功执行才会执行后面的命令

最新文章
新手申请域名技巧新手怎么注册好一个域名?
  如今,随着互联网的飞速发展,做一个网站已经成为越来越多公司的选择,但是在做一个网站的时候,最重要的一步是申请一个域名,因为我们想打开任何一个网站,都是第一个进入域名的,它作为企业的网络门面,它起到了非常大的作用,但是对
百色市工业和信息化局 百色市发展和改革委员会 关于印发《百色市散装水泥、预拌混凝土
第一章规划编制的原则和依据一、规划编制原则本规划依据国家和自治区相关政策法规,结合当前建材工业转型升级、绿色发展、高质量发展等主题进行编制,规划编制原则要求:一是把握规划的前瞻性,明确百色市散装水泥、预拌混凝土、预拌砂浆行
谷歌浏览器:Google Chrome (Win&Mac) 最新版
Google Chrome是一款由Google开发的免费网络浏览器软件。它是目前最受欢迎和广泛使用的浏览器之一,可在多个操作系统上运行,包括Windows、MacOS、Linux和移动平台。以下是Google Chrome的一些主要特点和功能:快速速度:Chrome以其快速的
森林人最新款,揭秘森林人最新款车型:全面升级与技术创新
  揭秘森林人最新款车型:性能升级与技术革新  摘要:本文将详细&#
SEO全攻略,揭秘网站流量与排名双提升的秘诀
SEO推广策略,是全方位提升网站流量与排名的秘诀。通过优化网站内容、关键词布局、外部链接建设、社交媒体互动等多方面手段,提高网站在搜索引擎中的可见度,吸引更多户,从而实现流量的持续增长和排名的提升。掌握SEO技巧,让网站在竞争激
百度seo网站更新_百度seo网站更新不了(百度seo规则改了)
更新是肯定的,也是必须的,但更新周期和频率是我们必要值得留意和学习的 一通太过析偕行网站的更新频率,也可以找到本身网站的更新频率,如同行网站每天都更新一篇文章,则想要高出偕行得到排名,则就必要在包管质的环境下到达量化,逐日
刘雨欣网店教你如何做好基础如何优化?
面临即将来到的双十一,淘宝一年中重要的活动,我相信很多商家甚至以及迫不及待了。首先换季期间,店铺主推款我们都会发现宝贝引流及转化度下滑,店铺整体层级提升遇到瓶颈期,店铺宝贝品类单一,新旧品承接出现问题是很多店铺在运营过程中
黑帽seo里的“黑链优化技巧”
  黑链是每个SEOer值得尝试的一个东西,如果您有闲情找一个赚钱的关键词做一个博客,买链接尝试一下黑链出售,也算是可以证明黑链到底好不好!SEO的因素很多,即便是白帽SEO也会有很多让人意想不到甚至发狂的事情,希望大家做网站优化能放
Python爬虫:教你四种姿势解析提取数据
翻页查看url变化规律:start参数控制翻页,start = 25 * (page - 1) 正则表达式是一个特殊的字符序列,它能帮助你方便地检查一个字符串是否与某种模式匹配,常用于数据清洗,也可以顺便用
网站推广与优化,品牌影响力提升,企业腾飞之道
网站推广与优化是提升品牌影响力的关键,通过精准策略和优化措施,助力企业品牌形象提升,市场份额扩大,实现快速腾飞。在互联网高速发展的今天,网站已成为企业展示形象、拓展市场、服务客户的重要平台,而网站推广与优化作为网站的重要组
相关文章
推荐文章
发表评论
0评