《掌握Nmap:全面解析网络扫描与安全检测的终极指南》 ...

打印 上一主题 下一主题

主题 857|帖子 857|积分 2571

 nmap

# 简介(资助)

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

简介(资助)

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

一、目的指定:

可以传入主机名、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 脚本>

:表现关于脚本的资助信息。

七、操纵体系检测:

-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 <数量>

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

--max-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举行主机发现(Linux bash命令为例)

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

对于 i 在 {1..254};do ping -c 1 -W 1 192.168.3.$i;done

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

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

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

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

然后输入命令 kill -9 %1 (%1是指最近实验的命令,竣事历程)

进一步举行筛选优化实验(利用grep举行特性筛选)

对于 i 在 {1..254};do ping -c 1 -W 1 192.168.3.$i |grep 来自;做

二、没有nmap举行端口扫描

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 拒绝

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

2>&1 是⼀个重定向操纵,它的作⽤是将标准错误输出( 2 )重定向到标准输出( 1 )的位置。如许做的⽬的是把原本会输出到标准错误输出(通常是显⽰错误信息等)的内容也合并到标准输出流中,以

便后续可以统⼀进⾏处理。

2.利用伪设备举行端口扫描

对于 i 在 {1..65535};do (echo < /dev/tcp/192.168.3.120/$i) &>/dev/null & printf “\n[+]开放

端口 is:%d\n“ ”$i“ ||printf “.”;做

解析:&& 必要前面的命令乐成实验才会实验后面的命令

||不管前面有没有实验乐成后面的命令,都会举行实验 printf “.” 主要表现实验进度


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表