nmap扫描

nmap常用命令

主机发现

iR 随机选择目标

-iL 从文件中加载IP地址

-sL 简单的扫描目标

-sn Ping扫描-禁用端口扫描

-Pn 将所有主机视为在在线,跳过主机发现

-PS[portlist] (TCP SYN ping) 需要root权限

-PA[portlist] (TCP ACK ping)

-PU[portlist] (UDP ping)

-PY [portlist] (SCTP ping)

-PE/PP/PM ICMP回显,时间戳和网络掩码请求探测

-PO[协议列表] IP协议Ping

-n/-R 从不执行DNS解析/始终解析[默认:有时]

--dns-servers 指定自定义DNS服务器

--system-dns 使用OS的dns服务器

--traceroute 跟踪到每个主机的跃点路径

扫描技术

-sS 使用TCP的SYN进行扫描

-sT 使用TCP进行扫描

-sA 使用TCP的ACK进行扫描

-sU UDP扫描

-sI Idle扫描

-sF FIN扫描

-b<FTP中继主机> FTP反弹扫描

端口规格和扫描顺序

-p 扫描指定端口

--exclude-ports 从扫描中排除指定端口

-f 快速模式-扫描比默认扫描更少的端口

-r 连续扫描端口-不随机化

--top-ports 扫描<number>最常用的端口

服务/版本探测

-sV 探测服务/版本信息

--version-intensity 设置版本扫描强度(0-9)

--version-all 尝试每个强度探测

--version-trace 显示详细的版本扫描活动(用于调试)

脚本扫描

-SC 等效于 --script=defult

--script = <lua scripts>,<lua scripts> 以逗号分隔的目录,脚本文件或脚本类别

--script-args = <n1=v1, n2=v2> 为脚本提供参数

--script-args-file=文件名 从文件名中加载脚本参数

--script-trace 显示发送和接受的所有数据

--script-updatedb 更新脚本数据库

--script-help=<lua scripts> 显示有关脚本的帮助

操作系统检测

-o 启用os检测

--osscan-limit 将os检测限制为可能的目标

--osscan-guess 推测操作系统检测结果

时间和性能

--host-timeout 设置超时时间

--scan-delay 设置探测之间的时间间隔

-T <0-5> 设置时间模板,值越小,IDS报警几率越低

防火墙/IDS规避和欺骗

-f 报文分段

-s 欺骗源地址

-g 使用指定的本机端口

--proxies <url,port> 使用HTTP/SOCK4代理

-data<hex string> 想发送的数据包中追加自定义的负载

--data-string 将自定义的ACSII字符串附加到发送数据包中

--data-length 发送数据包时,附加随机数据

--spoof-mac MAC地址欺骗

--badsum 发送带有虚假TCP/UNP/STCP校验和的数据包

输出

-oN 标准输出

-oX XMl输出

-oS script jlddi3

-oG grepable

-oA 同时输出三种主要格式

-v 信息详细级别

-d 调试级别

--packet-trace 跟踪发送和接收的报文

--reason 显示端口处于特殊状态的原因

--open 仅显示开放的端口

杂项

-6 启动Ipv6扫描

-A 启动Os检测,版本检测,脚本扫描和traceroute

-V 显示版本号

-h 帮助信息

 

实例演示-发现主机

1.扫描指定IP地址(ping 扫描)

nmap  -sn 192.168.3.74

2.扫描指定IP地址

3.提取文件中的IP地址

nmap -iL target.txt

4.扫描整个网段

实例演示-端口发现
1.扫描主机的指定端口

nmap 192.168.3.74 -p80

 

 

 

 

2.使用TCP的SYN进行扫描(半开放扫描,只发送SYN,如果服务器回复SYN,ACK。证明端口开放,不建立完整连接)

nmap -sS 192.168.3.74

 

3.使用TCP进行扫描(默认nmap扫描方式)

nmap -sT 192.168.3.74

 

4.使用UDP进行扫描(扫描UDP开放的端口)

nmap -sU 192.168.3.74

 

5.使用FIN扫描

有的时候TCP SYN不是最佳的扫描默认,目标主机可能有IDS/IPS系统的存在,防火墙可能过滤掉SYN数据包。而发送一个

FIN标志的数据包不需要完成TCP的握手。

nmap -sF 192.168.3.74

 

6.idle扫描(需要指定另外一台主机IP地址,并且目标主机的IPID是递增的)

idlescan是一种理想的扫描方式,它使用另一台网络上的主机替你发送数据包,从而隐藏自己。

nmap -sI 192.168.3.227 192.168.3.74

 

获得服务版本详细信息
nmap -sV 192.168.3.74

 

实例演示-确定主机操作系统
nmap -O 192.168.3.227

 

确定后台开启端口的软件

nmap -p 端口号1,端口号2 IP -sV:探测指定IP、指定端口是那个版本的软件打开的。

高级

穿透防火墙扫描,服务器禁止ping命令,可以试试-Pn,-A全面扫描,包括系统和版本信息

nmap -Pn -A 192.168.139.132

 漏洞扫描

nmap -script=vuln 192.168.139.132

 更多nmap的高级用法可以看这篇

https://blog.csdn.net/weixin_42425141/article/details/80701699?ops_request_misc=&request_id=&biz_id=102&utm_term=nmap&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-80701699.pc_search_ecpm_flag&spm=1018.2226.3001.4187

posted @ 2021-10-23 00:12  xleeje  阅读(594)  评论(0)    收藏  举报