nmap的使用

Nmap(全称Network Mapper)是一款功能强大、界面简洁清晰的连接端口扫描软件。能够轻松扫描确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,从而帮助用户管理网络以及评估网络系统安全!

Nmap运行需要用到一个驱动程序WinPcap,WinPcap的作用是帮助调用程序(即这里的Nmap)捕获通过网卡传输的原始数据。

安装Winpcap非常简单,直接根据提示直接点击就可能快速完成安装,安装过程如以下图示:

截图

截图

 

 解开Nmap命令行版的压缩包之后,进入Windows的命令控制台,再转到安装Nmap的目录(如果经常要用Nmap,最好把它的路径加入到PATH环境变量)。不带任何命令行参数

1.主机发现(Host Discovery)

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

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

      2.端口扫描(Port Scanning)

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

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

      3.版本侦测(Version Detection)

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

      Nmap目前可以检测数百种应用协议,对于不识别的应用,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最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能。

 

使用方法

      。GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。 下面是Nmap中文版支持的四种最基本的扫描方式:

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

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

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

      ⑷ Ping扫描(-sP参数)。

      扫描tcp端口

      前期准备

      B机器使用nmap去扫描A机器,扫描之前,A机器先查看自己上面有哪些端口在被占用,A机器上查看本地ipv4的监听端口。

      扫描tcp端口:B机器上使用nmap扫描A机器所有端口

      nmap 10.0.1.161 -p1-65535表示扫描A机器的1到65535所有在监听的tcp端口。

      指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口

      nmap-services是一个包含大约2200个著名的服务的数据库,Nmap通过查询该数据库可以报告那些端口可能对应于什么服务器,但不一定正确。

      所以正确扫描一个机器开放端口的方法是上面命令。-p1-65535

      注意,nmap有自己的库,存放一些已知的服务和对应端口号,假如有的服务不在nmap-services,可能nmap就不会去扫描,这就是明明一些端口已经是处于监听状态,nmap默认没扫描出来的原因,需要加入-p参数让其扫描所有端口。

      虽然直接使用nmap 10.0.1.161也可以扫描出开放的端口,但是使用-p1-65535 能显示出最多的端口

      区别在于不加-p 时,显示的都是已知协议的端口,对于未知协议的端口没显示

      如果不加-p1-65535,对于未知服务的端口(A机器的13306端口)就没法扫描到

 

FAQ

      NMAP扫描的是什么?

      NMAP是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。

      Nmap中文版有哪些基本功能?

      其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

      有没有一些运行实例可以参考?

      下面给出一些实例,简单的、复杂的到深奥的。为更具体,一 些例子使用了实际的IP地址和域名。在这些位置,可以使用你自己网络 的地址/域名替换。注意,扫描其它网络不一定合法,一些网络管理员不愿看到 未申请过的扫描,会产生报怨。因此,先获得允许是最好的办法。

      如果是为了测试,scanme.nmap.org 允许被扫描。但仅允许使用Nmap扫描并禁止测试漏洞或进行DoS攻击。为 保证带宽,对该主机的扫描每天不要超过12次。如果这个免费扫描服务被 滥用,系统将崩溃而且Nmap将报告解析 指定的主机名/IP地址失败:scanme.nmap.org。这些免 费扫描要求也适用于scanme2.nmap.org、 scanme3.nmap.org等等,虽然这些 主机目前还不存在。

      nmap -v scanme.nmap.org

      这个选项扫描主机scanme.nmap.org中 所有的保留TCP端口。选项-v启用细节模式。

      nmap -sS -O scanme.nmap.org/24

      进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。

      nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

      进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。

      nmap -v -iR 100000 -P0 -p 80

      随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。

      nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

      扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。

      host -l company.com | cut -d -f 4 | nmap -v -iL -

      进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。

 

如同大多数被用于网络安全的工具,nmap也是一柄双刃剑,除了网络管理员以外不少黑客及骇客也爱用nmap来搜索信息。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。因此常常被跟评估系统漏洞软件Nessus 混为一谈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值