总结
nmap -v 详细信息输出
nmap -p 指定端口
nmap -iL 扫描文件中的ip
nmap -exclude 不扫描某些ip
nmap -Pn 使用ping扫描,显式地关闭端口扫描,用于主机发现
nmap -sn 使用ping扫描,进行端口扫描,假设主机都是up的
nmap -sS 使用SYN扫描,不需要完成三次握手
nmap -sT TCP connect扫描,需要完成三次握手,只适用于找出TCP和UDP端口
nmap -sU 扫描UDP端口
nmap -sF FIN扫描,用于探测防火墙状态,识别端口是否关闭,容易漏扫
nmap -sV 扫描目标主机的端口和软件版本
nmap -O 远程检测操作系统和软件
nmap -O --osscan-guess 猜测目标操作系统版本
nmap -traceroute 路由跟踪
nmap -A 综合扫描,包含1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -oN result.txt 将标准输出写入到指定文件中
nmap -oX result.xml 将输入写成xml的形式
nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已
nmap -oG result.txt 将输出写成特殊格式
nmap -oA 将输出所有格式,有三种 .xml/ .gnmap/ .nmap
nmap -T[0-5] 时间参数模板
-T0 用于躲避IDS,时间很长
-T1 用于躲避IDS,时间很长
-T2 降低了扫描速度,使用更小的带宽和目标主机资源对目标靶机进行扫描
-T3 默认模式,未做优化
-T4 假设用户具有合适及可靠的网络而加速对目标靶机的扫描
-T5 假设用户具有更好的网络或者愿意牺牲准确性而加速扫描
nmap -sC 根据端口识别服务自动调用默认脚本
nmap --script
0x00 nmap 使用背景
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。网上有不少介绍nmap使用的方法,但是本文主要介绍在实践中,很有成效并且经常会用到的命令。
0x01 nmap 使用方法
# 以下的实践方案均是基于KALI-LINUX进行的,但是只要在安装有nmap的系统,具体命令都是通用的,一模一样的,所以这些最佳使用同样适用于其他linux、unix、windows系统中的nmap。并且我们在这里使用zenmap(nmap的图形化界面,只要安装了nmap,这个图形化界面也会自动安装的,root@kali:~# zenmap #这个命令可以直接在KALI-LINUX中调用nmap的图形界面zenmap)
1 获取远程主机开放的端口、端口的服务、服务的版本、操作系统类型及其版本
nmap -sV -T4 -O --open 203.195.139.153 #耗时2分钟-5分钟
nmap -sV -T4 -O --open 203.195.139.153| grep "open"(windows:nmap -sV -T5 203.195.139.153 | findstr /i "open")
#当把单一主机203.195.139.153换成IP段或包含不同IP、IP段的文本,即可批量扫描大范围的情况,但是扫描估计很耗时,半个小时到5个小时,所以建议每次只扫描32个IP地址,得到多次的扫描结果再用EXCEL打开整理
nmap -sV -T4 -O --open 203.195.139.0/27 -oX /root/203.195.139.153.xml #耗时0.5小时-1小时
nmap -sV -T4 -O --open iL /root/host.txt -oX /root/203.195.139.153.xml #耗时1小时-5小时
2 快速获取开放特定端口的主机
nmap -T4 -F 203.195.139.153 #耗时0.5分钟-1分钟,同样可以按照上面的方法进行批量扫描如
nmap -T4 -F --open 203.195.139.0/27 -oX /root/203.195.139.153.xml
3 一个简单的万能扫描
nmap -T5 -A 203.195.139.153 &>/root/nmap_out.txt
4 确认主机是否有拒绝服务的问题
nmap -T5 --max-parallelism 600 --script http-slowloris 203.195.139.153
5 绕过ACL的简单实例
nmap -sX -p- -Pn 203.195.139.153 #主要针对UNIX,LINUX系统
6 简单检测是否有漏洞问题
nmap -T5 -O -A -v --script vuln 203.195.139.153
7 简单的暴力破解测试
nmap --script=brute 203.195.139.153
8 重要的参考文档
nmap中文的使用说明: http://www.nmap.com.cn/doc/manual.shtm#7
https://nmap.org/man/zh/ #中文文档,很容易读懂
nmap 官网最新版下载: https://nmap.org/download.html #可以获取新版的特性
nmap NSE脚本使用大全: https://nmap.org/nsedoc/ #很强大的脚本使用指导
0x00 前言
现在很多的网络应用都被防火墙保护着,那我们平时在进行扫描的时候,往往一无所获,因此我们在面对防火墙/IDS/IPS的防护应用时,该如何使用nmap 绕过这些防火墙的限制进行端口服务扫描?
0x01 使用nmap 脚本进行防火墙检测
root@kali:~# nmap --script=firewalk --traceroute m.anzhi.com
root@kali:~# nmap --traceroute --script firewalk --script-args firewalk.recv-timeout=60000,firewalk.max-active-probes=3,firewalk.max-retries=3,firewalk.probe-timeout=600 m.anzhi.com
root@kali:~# nmap -p80 --script http-waf-detect m.anzhi.com
root@kali:~# nmap -p80 --script http-waf-detect --script-args=”http-waf-detect.detectBodyChanges” m.anzhi.com
0x02 使用nmap 绕过防火墙
1 碎片扫描
root@kali:~# nmap -f m.anzhi.com
root@kali:~# nmap -mtu 8 m.anzhi.com
2 诱饵扫描
root@kali:~# nmap -D RND:10 m.anzhi.com
root@kali:~# nmap –D decoy1,decoy2,decoy3 m.anzhi.com
3 空闲扫描
root@kali:~# nmap -P0 -sI zombie m.anzhi.com
4 随机数据长度
root@kali:~# nmap --data-length 25 m.anzhi.com
root@kali:~# nmap --randomize-hosts 103.17.40.69-100
root@kali:~# nmap -sl 211.211.211.211m.anzhi.com
5 欺骗扫描
root@kali:~# nmap --sT -PN --spoof-mac 0 m.anzhi.com
root@kali:~# nmap --badsum m.anzhi.com
root@kali:~# nmap -g 80 -S www.baidu.com m.anzhi.com
root@kali:~# nmap -p80 --script http-methods --script-args http.useragent=”Mozilla 5”m.anzhi.com
0x03 使用总结
关于如何使用nmap 绕过防火墙,还是得多观察流量包的情况,及时调整绕过策略,组合多种策略。
非常详细的使用说明(我是没有看过的):
Nmap备忘单:从探索到漏洞利用 Part1 http://www.freebuf.com/sectool/99956.html
Nmap备忘单:从探索到漏洞利用(Part 2)http://www.freebuf.com/sectool/100221.html
Nmap备忘单:从探索到漏洞利用(Part3) http://www.freebuf.com/vuls/100580.html
Nmap备忘单:从探索到漏洞利用(Part 4)http://www.freebuf.com/sectool/101335.html