Linux网络安全运维:网络探测和安全审核工具nmap

对于nmap,相信很多安全运维人员并不陌生,它曾经在电影《黑客帝国》中出现过,是黑客和网络安全人员经常用到的工具,本文介绍此工具的实现原理和使用技巧 。
 
1、nmap和Zenmap简介
 
nmap是一个开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本 。由此可见,nmap是一个功能非常强大的网络探测工具,同时它也成为网络黑客的最爱,因为nmap所实现的这些功能正是黑客入侵网络的一个基本过程 。站在安全运维的角度,只有了解了黑客入侵的基本方式和过程,才能有目的、有针对性地进行安全防护 。
 
【Linux网络安全运维:网络探测和安全审核工具nmap】nmap是Network MApper的缩写,由Fyodor在1997年创建,现在已经成为网络安全必备的工具之一 。nmap作为一个流行的安全工具,它的主要特点有:
 
非常灵活 。nmap支持10多种扫描方式,并支持多种目标对象扫描 。
 
支持主流操作系统 。nmap支持windows、linux、BSD、Solaris、AIX、mac OS等多种平台,可移植性强 。
 
使用简单 。nmap安装、使用都非常简单,基本用法就能满足一般使用需求 。
 
自由软件 。nmap是在GPL协议下发布的,在GPL License的范围内可自由使用 。
 
Zenmap是nmap的GUI版本,由nmap官方提供,通常随着nmap安装包一起发布 。Zenmap是用Python语言编写的,能够在Windows、Linux、UNIX、Mac OS等不同系统上运行 。开发Zenmap的目的主要是为nmap提供更加简单的操作方式 。
 
2、nmap基本功能与结构
 
nmap功能非常强大,从它实现功能的方向性来划分,主要有如下四个基本功能:
 
● 主机发现 。
● 端口扫描 。
● 应用程序及版本侦测 。
● 操作系统及版本侦测 。
 
这四个基本功能既相互独立,又依次依赖,因为一般的网络嗅探都是从主机发现开始的,在发现在线的主机后,接着需要进行端口扫描,进而通过扫描到的端口确定运行的应用程序类型及版本信息,并最终确定操作系统的版本及漏洞信息 。另外nmap还提供了防火墙与入侵检测系统的规避技巧,这个功能可以应用到基本功能的各个阶段中 。最后,nmap还提供了高级用法,即通过NSE(Nmap Scripting Language)脚本引擎功能对nmap基本功能进行补充和扩展 。
 
3、nmap的安装与验证
 
nmap的安装非常简单,官方提供源码编译安装和RPM包两种方式,可根据自己的喜好选择安装即可 。这里下载的版本为nmap-6.40.tar.bz2,下面分别介绍两种安装方式 。
 
(1)源码编译安装
 
从官方网站下载源码包,然后编译安装即可 。编译安装过程无需额外参数,操作如下:
 
[root@localhost ~]# tar jxvf nmap-6.40.tar.bz2
[root@localhost ~]# cd nmap-6.40
[root@localhost nmap-6.40]# make
[root@localhost nmap-6.40]# make install
 
至此,源码编译编译方式安装nmap完成 。
 
(2)RPM包安装
 
nmap官方也提供RPM格式的安装包,直接从网站下载RPM格式的安装包,然后进行安装即可,操作过程如下:
 
[root@localhost ~]# wget http://nmap.org/dist/nmap-6.40-1.x86_64.rpm
[root@localhost ~]# rpm -Uvh nmap-6.40-1.x86_64.rpm
 
在完成安装后,执行“namp -h”,如果能输出帮助信息,表示安装成功,否则根据错误提示重新安装 。
 
4、nmap的典型用法
 
前面提到了nmap主要包含四个方面的扫描功能,在详细介绍每个功能之前,首先介绍nmap的典型用法 。最简单的nmap命令形式如下:
 
namp 目标主机
 
通过这个命令,可以确定目标主机的在线情况和端口的监听状态,如图1所示 。

Linux网络安全运维:网络探测和安全审核工具nmap

文章插图
 
图1 nmap的典型用法
 
由输出可知,目标主机“192.168.12.189”处于“up”状态,并且此主机上开放了22、21、3306端口,同时还侦测到每个端口对应的服务,在最后还给出目标主机网卡的MAC信息 。
 
如果希望了解目标主机更多的信息,可以通过完全扫描的方式实现,nmap命令内置了“-A”选项,可以实现对目标主机进行主机发现、端口扫描、应用程序与版本侦测、操作系统识别等完整全面的扫描,命令形式如下:


推荐阅读