ToB企服应用市场:ToB评测及商务社交产业平台
标题: 《掌握Nmap:全面解析网络扫描与安全检测的终极指南》 [打印本页]
作者: 农妇山泉一亩田 时间: 2024-12-22 05:21
标题: 《掌握Nmap:全面解析网络扫描与安全检测的终极指南》
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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) |
Powered by Discuz! X3.4 |