分享好友 最新动态首页 最新动态分类 切换频道
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

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

最新文章
成品网站1.1.719如何助力中小企业高效打造品牌网站?平台表示:将为大家深入分析其优势与特色。
在互联网经济高速发展的今天,中小企业正面临如何快速、高效建立品牌网站的巨大挑战。成品网站1.1.719凭借其强大的功能和灵活的设计,成为中小企业打造线上品牌的不二选择。这款工具不仅降低了建站门槛,还提供了丰富的功能模块,帮助企业
文案写手小红书:打造爆款笔记的秘籍395
在小红书这个内容营销沃土上,文案写手扮演着至关重要的角色。优质的文案,能够吸引用户目光、激发互动、促成转化。本文将针对文案写手小红书写作,分享打造爆款笔记的秘诀,助力你成为小红书内容营销达人。掌握小红书文案独家风格小红书文
如何做Amazon英文的Niche站—完整建设案例(上)
本文作者由月关飞燕撰写,很早之前的文章,但是还是可以在现在,特别是2019年的今天,一些方法和思维,都可以参考,期望会对大家有所帮助。推荐完之后呢,接下来就要告诉大家,如果你想去做一个完整的英文的Niche站,应该如何去做?本文的
基金应知应会的基础知识试题
基金应知应会的基础知识试题均为单项选择题,其中包括普通单项选择题和组合型单选选择题两种,题量为50个题,80%正确率为合格标准。根据中国证券投资基金业协会《》得知,协会制定并定期更新应知应会考核大纲及试卷。考核内容包括基金法律
怎样关闭百度推送信息功能-怎么关闭百度的推送功能
在当今数字化的时代,我们常常会被各种推送信息所困扰,其中百度推送信息也可能会在不经意间打扰到我们的生活,究竟怎样关闭百度推送信息功能呢?下面就为大家详细介绍。打开百度浏览器,在浏览器的右上角找到设置图标,通常是一个齿轮状的
ai生成影视解说文案技巧教程:自动生成器与使用
在数字化浪潮的推动下人工智能技术已经渗透到影视行业的方方面面。影视解说文案作为影片推广的要紧环节其优劣直接关系到观众的兴趣和影片的票房。如今生成影视解说文案的技术应运而生它不仅可以增进工作效率还能保证文案的优劣和创新性。本
guid硬盘格式如何设置bios
文章目录浅谈分区格式MBR与GPT区别前言一、硬盘的物理结构二、MBR是什么?三、GPT是什么?总结 电脑硬盘分区格式一共有两种,一种是GUID(GPT),一种是MBR。 这里先介绍硬盘的物理结构: 磁头(Heads):每张磁片的正反两面各有一个磁头,一
体验革命性的创作工具:AI写作软件永久免费版!
ai写作软件的免费版正式发布了!这款神奇的创作工具将带来完全颠覆性的写作体验,让你在写作领域中事半功倍。不仅如此,这个免费版更是享受永久免费的待遇,真可谓诚意满满。AI写作软件的理念是结合人工智能和自然语言处理技术,为用户提供
全面解析AI智能文案生成器:功能、应用及用户体验分享
在科技的浪潮推动下人工智能()已经渗透到咱们生活的方方面面文案写作也不例外。智能文案生成器作为现代商业中的新兴力量正在改写着内容创作的传统规则。本文将从功能、应用和使用者体验三个方面全面解析智能文案生成器的发展现状与未来趋
火出圈的ChatGPT,如何让安全检测更智能
ChatGPT(Chat Generative Pre-trained Transformer)是一款美国OpenAI研发的聊天机器人程序,能够通过理解和学习人类语言来进行对话,根据聊天的上下文与使用者互动,真正像人类一样聊天交流。它甚至能完成
相关文章
推荐文章
发表评论
0评