Nmap 是网络安全届的明星级工具了,在扫描届几乎无敌,同时配合Script可以实现基本的渗透测试。Nmap 是安全人员必须熟练掌握的一个工具
接下来就按照各个模块对Nmap的命令进行一下解读
PS : 网上Nmap的文章太多了,我就直接把我的笔记PO上来了
=======
主机发现
=======
-iL 列表
-iR 随机选择目标(100个) nmap -iR -p22
--exclude 把xxx排除在外 nmap 192.168.1.0/24 --exclude192.168.1.1-100 扫描目标不包括192.168.1.1-100
--excludefile 后面加一个文件 ,也就是说文件中的地址不会被扫描
-sL 罗列出扫描目标,并不会进行扫描 nmap 192.168.1.0/28 就会罗列出这些IP地址,就可以进行子网掩码计算
-sn 主机发现(不做端口扫描)
-Pn 遇到防火墙时候使用,我们在探测时候可能会遇到防火墙,防火墙可能会给我们发送RST包,这样nmap可能就会放弃接下来的端口扫描等。使用这个参数就会继续做探测
-PS/PA/PU/PY 使用TCP UDP 还有SCTP来进行主机发现
-PE/PP/PM 通过echo,时间戳,子网掩码来进行扫描(不太准确)
-PO 使用IP协议来进行扫描
-n/-R -n 不做DNS解析,-R 进行反向DNS解析
--dns-servers 调用指定的DNS服务器,因为国内大站都有智能DNS,在国内访问和在国外是不一样的。
--system-dns 使用系统自带的DNS,加与不加这个参数都是一样的
--traceroute 进行traceroute(icmp)
=======
端口发现
=======
-sS/sT/sA/sW/sM 通过SYN/完整TCP连接/ACK/window/ACK+FIN 进行扫描端口
-sU 使用UDP进行扫描
-sN/sF/sX 发送tcp中flags置位全都为0/Fin置位/Xmas Scan (FIN+PSH+URG)进行端口扫描
--scanflags 自定义flags
-sI 僵尸扫描
-sY/sZ 使用SCTP协议进行扫描(很少用)
-sO 使用IP进行扫描
-b 对FTP中继扫描
=======
指定端口
=======
-p 指定一个端口,还可以指定UDP还是TCP 例如U:53 T:21 ,不指定的话就全都用
--exclude-ports
-F fast模式,不会把1000个都扫了
-r 按顺序扫描,默认会随机扫描。
--top-ports 10 扫描1000个当中的前十个
--port-ratio 扫描常用端口
=======
扫描服务
=======
-sV 利用特征库进行匹配(并不是所有的)
--version-intensity <level> 在我们扫描后感觉不详细时候,可以用这个参数获得详细的信息,level分为1-9,逐渐详细 nmap -p21 192.168.1.12 --version-intensity 9 最详细
--version-light 就是上一个参数的第二个等级
--version-all ------9
--version-trace 将扫描过程进行追踪
=======
脚本扫描
=======
-sC 等于--script
--script
--script-args=<n1=xxx>
--script-args-file=<filename> 脚本参数
--script-trace 脚本追踪
--script-updatedb 更新数据库
--script-help=<scriptname> 脚本帮助
=======
系统辨别
=======
-O 判断系统版本
--osscan-limit 限制只检测windows或者linux
--osscan-guess
=======
时间限制
=======
如果大量的扫描很容易就会被发现是被扫描
-T<0-5> 剧烈程度
--min-hostgroup/max-hostgroup 最小/大一次扫多少主机
--min-parallelism/max-parallelism 并行扫描最大最小
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<time> 发包到返回时间限制
--max-retries 最大探测次数
--host-timeout 目标主机超时时间
--scan-delay/--max-scan-delay <time> 扫描延迟时间(推荐,)
--min-rate <number> 每秒发包不小于xxx
--max-rate <number> 每秒发包不多于xxx
=======
防火墙
=======
-f; --mtu <val> 设置mtu值
-D <decoy1,decoy2[,ME],...> 增加一些噪声IP nmap -D192.168.1.11,192.168.1.12,192.168.1.141 三个IP都是虚假IP,用来迷惑管理员
-S <IP_Address> 伪造源地址,需要和 -e 参数配合使用-e是指定网卡,弊端就是我们收不到回包
-e <iface>
-g/--source-port <portnum> 指定使用的源端口
--proxies <url1,[url2],...> 指定代理服务器
--data <hex string> 在包中的数据字段加入16进制的内容
--data-string <string>
--data-length <num>
--ip-options <options> 加IP包头的字段
--ttl <val> ttl值
--spoof-mac <mac address/prefix/vendorname> 欺骗MAC地址 nmap 192.168.1.1.11 --spoof-mac00:11:11:11:11:11:11
--badsum TCP的Checksum值可以对包进行校验,可以通过这种方式来进行欺骗防火墙
====
输出
====
-oN/-oX/-oS/-oG <file>
and Grepable format,respectively, to the given filename.
-oA <basename>
-v
-d
--reason
--open
--packet-trace
--iflist
--append-output
--resume <filename>
--stylesheet <path/URL>
--webxml
--no-stylesheet
====
杂项
====
-6 扫描IPv6
-A 很多扫描的组合 包括系统探测,版本探测,脚本扫描,还有就是路由追踪
--datadir <dirname>