最强大的主动扫描工具-Nmap

Nmap 是当今最顶尖的网络审计工具之一,在国外已经被大量的网络安全所使用,甚至在一些电影电视中,它都会大显身手。最有影响力的就是《黑客帝国》,在《黑客帝国2》中,就曾使用Nmap攻击 ssh 服务从而破坏了发电厂的工作。当然,攻击只是 Nmap 的副业,扫描才是Nmap的主要功能。

看下图,Nmap扫的 IP 地址是局域网地址,意味着攻击机已经和被攻击的机器在同一网段了。这里只是简单的扫出开放了 ssh 的端口,就被后面的 sshnuke 工具给破解了,直接替换掉了 该系统root的密码。不过我没有查到sshnuke这个工具,估计是虚构。当然暴力破解密码的工具有很多,我会在 hydra 工具这一章节再讲暴力破解密码。

目前 Nmap 具备以下主要功能

a) 主机发现功能

b) 端口扫描功能

c) 服务以及版本检测功能

d) 操作系统检测功能。

除此之外,Nmap还可以实现一些高级的审计技术,如伪造发起扫描端的身份,进行隐蔽的扫描,规避目标的防御设备(例如防火墙),对于系统进行安全漏洞检测并提供完善的报告选项等。

在后来,随着Nmap强大的脚本引擎NSE的推出,任何人都可以自己向Nmap中添加新的功能模块。

Nmap对主机进行发现

1. 指定无论目标是否相应Ping扫描,都要将整个扫描过程完成。

语法规则:nmap  -PN <目标主机>

2.仅使用Ping协议进行主机发现。有时候要对大量的主机进行扫描,如果同时对上万台计算机进行扫描,当然这种情况很少,但如果采用Ping扫描方式会节省很多时间

语法规则: nmap  -sP  <目标主机>

3.使用ARP协议进行主机发现,当目标主机和我们出于同一个网段时候,使用ARP协议扫描技术就是最佳的选择不仅仅速度最快,扫描结果也最为精准,因为没有任何安全措施会阻止正常的ARP请求。

语法规则: nmap  -PR  <目标主机>

请大家注意这一点,做渗透测试时候用-PR非常有效。

4.使用TCP协议进行主机发现。由于三次握手中最后一步在主机发现中意义不大,所以这一步可以完成也可以不完成。如果完成称之为全开Connect扫描,如果这一步不完成的话,一般称之为半开SYN扫描

Nmap 半开扫描:nmap -sS <目标主机> //使用最频繁,安全,快

Nmap 全开扫描:nmap -sT <目标主机> //不安全,慢

5.使用UDP协议进行主机发现,UDP协议相比TCP简单,但是进行扫描时候,并不如TCP协议方便,而且花费的时间很差,因此这种扫描方式并不常用

Nmap UDP协议扫描:nmap -sU <目标主机>

6.其余如空闲扫描-sI //使用僵尸机对目标机发送数据包等等

 

Nmap对主机进行扫描

1. 对单个主机的扫描,在命令行中输入namp <目标主机>

结果第一行指出Nmap的版本号,第二行指出关于 <目标主机>的报告

第三给给出 <目标主机>的状态为up,意味着这台主机是出于开机并且连上了互联网的状态,第四行表示在检查的1000个端口中,有多少给是关闭或者filtered的状态。再下面是表格,每一行有三个字段,分别是Port、STATE、SERVICE,即 <目标主机>上的端口号,端口状态,和运行的服务

  a) 扫描全部端口 即对 65535 个端口进行扫描

      nmap -p “*” <目标主机>

  b) 扫描前n个端口

      nmap --top-ports n <目标主机>

2.对多个不连续的主机进行扫描:

nmap <目标主机1> <目标主机2> <目标主机3>

3.对多个连续的主机进行扫描: nmap 192.168.168.1-255

4.对整个子网主机进行扫描,Nmap支持使用CIDR的方式进行扫描整个子网

在命令行中输入nmap 192.168.168.1/24

5. 将Nmap的扫描结果保持为XML文件:nmap -X <目标主机>

 

 Nmap 能使用脚本进行扫描,这简直是如虎添翼。

nmap脚本(nse)主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描:

1.auth: 负责处理鉴权证书(绕开鉴权)的脚本 
2.broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务 
3.brute: 提供暴力破解方式,针对常见的应用如http/snmp等 
4.default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力 
5.discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等 
6.dos: 用于进行拒绝服务攻击 
7.exploit: 利用已知的漏洞入侵系统 
8.external: 利用第三方的数据库或资源,例如进行whois解析 
9.fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽 
10.malware: 探测目标机是否感染了病毒、开启了后门等信息 
11.safe: 此类与intrusive相反,属于安全性脚本 
12.version: 负责增强服务与版本扫描(Version Detection)功能的脚本 
13.vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南野栀子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值