您的位置:首页 > 运维架构 > Linux

linux下的nmap程序简介

2013-08-20 00:18 281 查看
1、简介

nmap是一款用于网络发现(Network Discovery)和安全审计(Security Auditing)的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:

列举网络主机清单

管理服务升级调度

监控主机

服务运行状况

Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 它是网络管理员必用的软件之一,用以评估网络系统安全。

正如大多数工具被用于网络安全的工具,nmap 也是不少黑客及骇客(又稱脚本小孩)爱用的工具 。系统管理员可以利用nmap來探測工作環境中未經批准使用的伺服器,但是黑客会利用nmap來搜集目标电脑的網絡设定,从而计划攻击的方法。

Nmap通常用在信息搜集阶段(information gathering phase),用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描(Vulnerability Scanning)、漏洞利用(Vulnerablity Exploit)、权限提升(Privilege Escalation)等阶段的输入。例如,业界流行的漏洞扫描工具Nesssus与漏洞利用工具Metasploit都支持导入Nmap的XML格式结果,而Metasploit框架内也集成了Nmap工具(支持Metasploit直接扫描)。

Nmap不仅可以用于扫描单个主机,也可以适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。当然,扫描大规模的网络时,需要注意优化Nmap的各种时序及发包的参数,参数可以巨大地提高扫描性能。

2、功能

1)主机发现(Host Discovery)

用于发现目标主机是否处于活动状态(Active)。

Nmap提供了多种检测机制,可以更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,类似于Ping命令的功能。

2)端口扫描(Port Scanning)

用于扫描主机上的端口状态。

Nmap可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放|过滤(Open|Filtered)、关闭|过滤(Closed|Filtered)。默认情况下,Nmap会扫描1000个常用的端口,可以覆盖大多数基本应用情况。

3)版本侦测(Version Detection)

用于识别端口上运行的应用程序与程序版本。

Nmap目前可以识别数千种中应用的签名(Signatures),检测数百种应用协议。而对与不识别的应用,Nmap默认会将应用的指纹(Fingerprint)打印出来,如果用于确知该应用程序,那么用户可以将信息提交到社区,为社区做贡献。

4)操作系统侦测(OS detection)

用于识别目标机的操作系统类型、版本编号及设备类型。

Nmap目前提供了上千种操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。

5)防火墙/IDS规避(Firewall/IDS evasion)

Nmap提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标机的状况。

基本的规避方式包括:分片(Fragment)/IP诱骗(IP decoys)/IP伪装(IP spoofing)/MAC地址伪装(MAC spoofing)等等。

6) NSE脚本引擎(Nmap Scripting Engine)

NSE是Nmap最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现、漏洞利用等等。Nmap使用Lua语言来作为NSE脚本语言,目前的Nmap脚本库已经支持350多个脚本。

3、常用命令选项

⑴ TCP connect()端口扫描(-sT参数)。

nmap -sT 192.168.1.0/24

⑵ TCP同步(SYN)端口扫描(-sS参数)。

nmap -sS 192.168.1.0/24

⑶ UDP端口扫描(-sU参数)。

nmap -sP 192.168.1.0/24

⑷ Ping扫描(-sP参数)。

nmap -sP 192.168.1.0/24

(5)探测目标主机的操作系统:

nmap -O 192.168.1.19

nmap -A 192.168.1.19

参考文献;维基百科
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: