nmap概述
nmap被称为扫描之王,诸神之眼。通过发送各种探测包(syn,icmp,ack等报文)来探测对方的信息。
渗透测试信息收集
两军打仗,前期收集地方的情报是很重要的,往往战事的结果取决于情报的详细程度。渗透测试也是一样,攻击目 标之前,尽可能多的收集对方的相关信息,可以帮助我们提高入侵的效率和成功率。
信息收集种类
主动信息收集
直接给对方发送探测信息,看对方的反应和回应,对方对这个信息收集行为是有感知的。 **优点:直接,有效,准确 缺点:很容易暴露自己的动向**
被动信息收集
通过第三方渠道收集目标信息,不直接和目标发起通信。 优点:不容易被发现 缺点:不够直接,缓慢,准确性差 注意:nmap属于主动信息收集,所以不要轻易去扫描公网的网站或者系统,以免对其造成影响,暴露自己的位置和身份!!!
nmap工具的下载
windows:nmap.org官网进行下载,下载后图形化界面和命令行都支持。 linux:kali系统当中集成了nmap工具,其他linux系统则需要在官网单独下载。 访问网站之后选择download模块,可以看到mac系统,windows系统,linux系统对应的安装包。
windows安装:
1、双击exe安装包进行安装,全部选择默认和下一步安装即可。 2、安装好之后桌面会出现图形化界面,一般不用,都使用命令行界面。 3、打开cmd,直接输入nmap就能相关得命令提示,使用正确的命令和参数就能使用nmap完成扫描。
nmap的使用
开启至少两台windows或者winserver虚拟机,保证它们能和物理机ping通,全部设置为NAT模式,实验时通过物理机中的nmap扫描虚拟机网段来练习命令。
命令1:主机存活性探测
代码语言:javascript复制nmap -sP -v x.x.x.0/24 #使用ping扫描探测x.x.x.0网段存活的主机有哪些,-sP探测主机存活性,-v显示详细过程。
nmap -sP x.x.x.x #使用ping扫描探测主机x.x.x.x的存活性。
nmap -sP x.x.x.10-100 #使用ping扫描探测主机x.x.x.10到x.x.x.100的存活性。
该命令利用了ping命令的原理,ping命令使用的探测包就是icmp报文,而大部分防火墙都是不允许icmp报文探测的。
命令2:端口扫描 服务版本扫描
代码语言:javascript复制namp -p445 x.x.x.x #探测x.x.x.x的445端口是否开放,扫描结果中,open:开放,closed:关闭,filtered:防护墙拦截
nmap -p130-136,80,443 x.x.x.x #探测x.x.x.x的130-136,80和443端口是否开放
nmap -p21 --open -sV x.x.x.0/24 #探测x.x.x.0网段的21端口,--open:将开放的端口全部罗列出来,-sV:探测端口对应的服务版本信息
命令3:基本扫描
代码语言:javascript复制nmap x.x.x.x #存活扫描,扫描全端口,返回开启的端口
命令4:探测目标的系统版本
代码语言:javascript复制nmap -O X.X.X.X #探测对方的操作系统版本,仅作为参考,不是很准确。
命令5:全面探测,懒人专用(很慢)
代码语言:javascript复制nmap -A x.x.x.x #同时输出x.x.x.x的存活性,服务信息,端口信息,系统版本信息
nmap -A x.x.x.0/24 #扫描网段
namp -A 0.0.0.0/24 #扫描全网----最好不要尝试,网卡爆了不说还可能进局子
命令6:输出扫描报告
代码语言:javascript复制nmap -sP -oN d:result.txt x.x.x.x #-oN:将扫描结果保存在txt文本中输出
nmap -sP -oX d:result.xml x.x.x.x #-oX:将扫描结果保存在xml文本中输出,需要使用浏览器打开