nmap命令解释
- iL 扫描文件中指定的IP
- iR 随机扫描一些IP
- --exclude 在扫描大范围的IP地址时候,不想扫描某一个地址,又不想分为两段去扫
例如:nmap 192.168.21.0/24 --exclude 192.168.21.20-100
这里不扫描20到100的IP
- --excludefile
也可以把要排除的地址放到文件里
主机发现
- -sL 要把扫的目标地址段罗列出来,看看是否是要扫描的对象 并不扫描
这里相当于子网掩码计算,要扫描多少个机器
- -sn 不做端口扫描
- -Pn 例如在做扫描时,对方防火墙将扫描的回包拦截,我们并不知道目标主机是否存活,-Pn的作用是不管是否存在,先将所有要扫描的主机全部扫描一遍·
- PS/PA/PU/PY 做主机发现时候分别用SYN,ACK,UDP,SCTP发现
- PO 用IP扫描
- -n 不用DNS解析
- -R做反向解析
- --dns-servers 指定一个DNS服务器
- system-dns 操作系统默认的DNS
- --traceroute 探测网络路径 跳过几个服务器
端口发现
- -sS/sT/sA/sW/sM: 分别表示SYN扫描(默认);TCP扫描建立三次握手;发送ACK包;TCP协议窗口扫描;Maimon扫描
- sU:用UDP扫描
- sN: TCP的flag位都没有
- sF:只有一个FIN位
- sX:FIN+PSH+URG位
- --scanflags:自定义flag位
- sI:僵尸扫描
- sY/sZ:用SCTP扫描做准备
- sO:ip扫描
如何指定扫什么端口
- -p 指定端口
- -p U:用UDP扫描
- -p T: 用TCP扫描
- --exclude-ports 指定端口
- -F fast模式 扫描数量比较少
- -r 随机的方式去扫
探测端口上的服务
- -sV: 探测打开的端口以确定服务/版本信息
- --version-intensity: 扫描的深度 从0-9
- --version-trace: 查看扫描过程 具体信息
脚本扫描
- -sC:等于 --script=default 这句话
- --script-args: 脚本参数
- --script-trace:脚本都是怎么发的,具体细节
- --script-updatedb:查看新脚本 升级新脚本
- --script-help:查看脚本用法
/usr/share/nmap/script 脚本目录
检测操作系统
- -O 查看系统信息
- --osscan-limit:只查看linux或者只查看windows
查看时间性能
为了防止短时间内频繁的扫描,引起主机怀疑,可以确定多少秒内扫描一次
- --min-hostgroup/--max-hostgroup 并行扫描主机组,最小扫描多少个,最大扫描多少个
- --max-retries:最大探测次数
- --host-timeout 设置超时时间
- --scan-delay: 每次探测中间间隔多久 --scan-delay 5s 间隔5s
防火墙躲避和IDS欺骗
- -D : 伪造源地址 nmap -D 192.168.1.1,192.168.1.2,192.168.1.3 192.168.1.134
这里对134机器扫描,扫描的原IP位1 2 3 三个IP
- -S : 欺骗源地址:nmap -S 192.168.1.11 -e eth0 192.168.1.134。这里对134扫 描,我们伪造位11。需要-e指定网卡 ,缺点是无法得到回包
- -g 指定原来端口 欺骗端口
- --proxies 指定代理服务器
- --date :--date=FFFFFF 指定发送包的数据,后面跟FFFFF 这里发送的是16进制
- --date-string :同理但是发送的是ASCLL码
- --ttl:设置ttl值
- --spoof-mac :指定mac地址欺骗
- --badsum:可以设置 差错校验
杂项
- -6:设置扫描ipv6
- datedir:设置执行目录