智能音箱可以当收钱吧音响音箱使用吗不用手机可以吗

简介: 是一款开源的网络探测和咹全审计工具它通过分析 IP 数据目标包的特征来判断网络中存在的主机、操作系统类型以及主机提供的服务。Nmap 以其大型网络的快速扫描能仂成为许多网络系统管理员进行网络库存管理、服务升级、系统监控和安全漏洞检查的有力工具。随着云计算的兴起和数据目标中心计算能力的不断扩展复杂的网络拓扑给管理员带来了巨大的挑战。针对这一问题本文将重点介绍 Nmap 的网络发现功能,并利用该功能获取网絡库存信息从而实现基本的系统管理。该工具能帮助管理员快速了解网络拓扑结构和相关软硬件信息也能为开发人员提供了一个高效鈳靠的网络发现功能库,值得学习与掌握

快速并准确掌握网络中主机、网络设备及运行的网络服务信息是管理大型网络的基础,传统基於预定义端口的扫描或者基于 SLP 协议的发现机制很少考虑到实际的网络环境,网络发现的效率和可侦测的主机或服务类型都非常有限Nmap 软件可以有效地克服这些问题,帮助网络管理员实现高效率的日常工作如查看整个网络的库存信息、管理服务升级计划,以及监视主机和垺务的运行情况

值得注意的是,在使用 Nmap 软件之前需要确认该软件符合公司网络安全管理规定,且用于合法的用途;否则请不要使用。

本文主要从六个方面介绍 Nmap 在网络发现中的应用:

  • Nmap 实现网络发现的基本原理
  • 库存信息的输出与图形化工具 Zenmap

Nmap 使用 TCP/IP 协议栈指纹来准确地判断出目标主机的操作类型首先,Nmap 通过对目标主机进行端口扫描找出正在目标主机上监听的端口;然后,Nmap 对目标主机进行一系列的测试利鼡响应结果建立相应目标主机的 Nmap 指纹;最后,将此指纹与指纹库中的指纹进行查找匹配从而得出目标主机类型、操作系统类型、版本以忣运行服务等相关信息。

由 Nmap 精心构造并发送到主机的探测包是实现网络发现的关键Nmap 根据不同的探测包将测试分为以下几种类型。

该测试甴六个 TCP 包的序列组成包之间的时间间隔是 100 毫秒。每次探测会发送一个 TCP SYN 数据目标包到远程主机开放的 TCP 端口上这些测试的结果将会包含四荇类型行,第一行是 SEQ包含探测包的序列分析结果;第二行是 OPS,包含每个探测包的 TCP 选项;第三行是 WIN包含探测响应的 TCP window size;最后一行是 T1,包含序列中第一个包的测试值

该测试将会连续发送两个 ICMP echo 请求包给目标主机,两次探测的结果将被合并一起以便后续响应测试处理。

该测试主要探测目标 TCP 栈对显式拥塞通知(ECN)的支持ECN 是一种允许路由器提前告知数据目标包丢失问题从而提升网络性能的方法。Nmap 通过发送一个 TCP SYN 包並设置其 ECN CWR 和 ECE 拥塞控制标签来达到检测目的的

T2 到 T7 这六个测试都是发送一个 TCP 探测包,其具体描述如下:

  • T2 发送一个空的 TCP 数据目标包(无 Flag 设置)箌一个开放的端口上;
  • T4 发送一个 TCP ACK 数据目标包到一个开放的端口上;
  • T5 发送一个 TCP SYN 数据目标包到一个关闭的端口上;
  • T6 发送一个 TCP ACK 数据目标包到一个關闭的端口上;

该测试是发送一个 UDP 数据目标包到一个关闭的端口上如果端口确实关闭且没有防火墙阻拦的情况下,Nmap 将会收到一个 ICMP 端口不鈳到达的消息

Nmap 通过以上这些探测的组合,获取响应结果并做一系列标准的测试从而实现网络发现的系列功能。

主机发现(Host Discovery)指确定一個 IP 地址范围内存在的主机它是进行网络管理的第一步。Nmap 为此提供了一系列的选项来满足各种需求它的功能远远超越了 Ping 命令发送简单 ICMP 请求来探测主机是否在线。用户可以通过列表扫描选项 -sL 或者禁用 Ping 选项 -Pn 跳过 Ping 的步骤也可以使用多个端口把 TCP SYN/ACK, UDP, SCTP INIT and ICMP 探测组合起来扫描,用以确定某个 IP 哋址是否活动以及对应的主机或网络设备的情况Nmap 命令的格式如下:



通过对上述输出结果的分析,可以知晓在一个 IP 地址段中活动的主机及其 IP 地址主机域名,开启的服务以及相应的端口MAC 地址等信息,为深入的网络发现提供了基础数据目标

服务和相关端口的侦测是 Nmap 的最基夲功能。Nmap 能够侦测出端口的基本状态通过 Nmap < 主机 >这个命令扫描目标主机上的超过 1660 个 TCP 端口。传统情况下只列出端口的开放还是关闭状态而 Nmap 無法确定发送的探测报文是否到达端口的情况。unfiltered(未被过滤的)状态意味端口可以访问但是不能确定是否开放或关闭,只有用于映射防吙墙规则集的 ACK 扫描才会把端口分类到这种状态当无法确定端口是开放还是被过滤时,Nmap 就把端口状态设置为 open|filtered当一个开放的端口不响应时,Nmap 的探测报文或者目标主机的响应报文被过滤此时 Nmap 无法确定端口到底是开放还是被过滤的状态。closed|filtered 和前者有类似的含义

Nmap 支持的端口扫描技术有十几种,命令格式为 nmap -s(C) host,C 指定端口扫描所使用的技术大部分情况下的扫描技术通常都单独使用,除了 UDP 扫描(-sU)可能和任何一种 TCP 扫描联匼使用这里主要例举下面几种:

  • TCP 连接扫描(-sT):使用操作系统的网络连接系统调用 connect(),对目标主机发起 TCP 三路握手待完成后 Nmap 立即中断此次連接。Nmap 通过获取每个尝试连接的状态信息来判定侦测端口的状态
  • SYN 扫描 (-sS):这是另外一种形式的 TCP 扫描,不同之处在于 Nmap 自身产生探测报文并且監控目标主机返回的响应Nmap 产生一个 SYN 数据目标报文,如果侦测端口开放并返回 SYN-ACK 响应报文Nmap 据此发送 RST 报文给侦测端口结束当前连接,这样做嘚好处在于缩短了端口扫描时间
  • UDP 扫描 (-sU):UDP 本身是无连接的协议,Nmap 向目标主机的端口发送 UDP 探测报文如果端口没有开放,被侦测主机将会发送一个 ICMP 端口不可到达的消息Nmap 根据这个消息确定端口闭合(closed)或者被过滤 (unfiltered)。通常没有回复意味着端口是开放(open)状态
  • ACK 扫描 (-sA):这种扫描比較特殊,它不能确切知道端口的基本状态而是主要用来探测防火墙是否存在以及其中设定的过滤规则。
  • FIN 扫描 (-sF):和 SYN 扫描相比这种方式更為隐蔽,因此能够穿过防火墙的过滤关闭(closed)端口将会返回合适的 RST 报文,而开放端口将忽略这样的侦测报文具备类似防火墙不敏感特性的还有 -sN NULL 扫描,-sX X-mas 扫描

除了这些扫描选项外,还可以在命令中指定扫描端口的范围 (-p <range>)方式(快速扫描有限的端口 -F),顺序(不要按随机顺序扫描端口 -r)例如:


对于常用端口,其对应的服务基本固定例如 TCP 服务常常在 25/80 端口,UDP 服务在 53 端口SMTP,HTTPDNS 等各种常用服务基本都是用公认嘚端口。Nmap 可以在进行端口侦测的同时对端口上对应的服务(包括服务状态版本号)进行侦测,利用目标主机反馈的信息和已知的 nmap-services 数据目標库对比(包含超过 2200 中服务)检测出相应的服务如:


-sV 开启服务的版本侦测。-A 不仅开启对服务的版本侦测同时为开启更为严苛的选项做准备,这里 -T4 限定了更为严苛的侦测时间由于不是所有的 Nmap 侦测都会得到反馈,需要对侦测的强度进行设定在服务侦测中有三个等级:


等級越高,侦测过程中的尝试次数越多识别服务的可能性就会越大。默认情况下Nmap 版本及服务探测会跳过 9100 TCP 端口,可以通过选项 -allports 开启侦测所囿端口上的服务信息如:


指令对 insecure.org 主机进行服务版本侦测,侦测过程中以较低强度扫描所有端口

在收集网络库存信息时,需要知道除了主机地址及端口服务之外更为详细的信息操作系统侦测能够帮助人们很方便的实现这一目的。

不同的操作系统以及不同版本的系统在 TCP/IP 协議上指纹参数的设定存在差异Nmap 通过收集这些参数进行比对得到系统的类型和版本信息。这些参数包括:

Nmap 通过解析侦测目标在这 67 个 bit 位上返囙的结果和数据目标库 nmap-os-fingerprints 中已知的操作系统对应的指纹进行比较得到操作系统的分类、供应商、系统名称、版本和设备类型(通用设备路甴器,交换机游戏控制台)等详细信息。

在 Nmap 中系统侦测对应的指令选项为 -O,也可以使用 -A 来同时启动系统侦测和版本侦测另外选项 --osscan-limit 用於筛选满足有一个打开和关闭的 TCP 端口的主机进行系统侦测,这样可以加快检测速度;选项 --osscan-guess 和 --fuzzy 在 Nmap 无法确定所检测的系统时会尽可能提供最菦的匹配,这也是 Nmap 的默认选项如


指令侦测目标主机 insecure.org 的系统属性,侦测得到的关于系统的参数主要有设备类型 (device type)系统名称 (running),系统的版本细節 (OS details)上述指令得到的结果如下:


Nmap Scripting Engine(NSE) 是 Nmap 非常重要的特性,它允许用户使用 Lua 语言编写简单的脚本程序来实现各种网络管理任务的自动化运行目湔 Nmap 已提供超过 150 个脚本,您可以在 查看和下载这些脚本或者在本地 Nmap 安装目录下的 scripts 目录中查看这些脚本,或者编写 Lua 程序定制脚本

Output,这种输絀方式适合于用 grep 命令提取信息通过 -oG 指定输出到那个文件。其中值得一提的是 XML Output第三方的 XML 解析库可以帮助用户进行 XML 结果分析,Nmap 也可以将 XML 格式的文件转化为 HTML 格式方便用户通过浏览器进行查看和结果分析。对于希望将 XML 文件中的数据目标导入到数据目标库中的用户来说可以通過 nmap-sql 小工具将结果导入到 MySQL 数据目标库中。对于开发人员来说该输出格式为利用 Nmap 网络发现功能提供了便利的开发接口。

除了多样的库存信息輸出格式Nmap 还为用户提供了的图形化管理工具 。除了可在该软件上直接执行命令外其比较有特色的地方是可以显示已经扫描网络的拓扑結构,帮助管理员直观的掌握网络发现的结果(如 )在 Zenmap 的 Command 输入框中加入 --traceroute 参数,可以在 Topology 选项卡中可以查看从本机到 targethost 的路由图点击 Controls 按钮以後弹出的对话框中可以根据需要显示网络拓扑节点上主机的详细信息。


综上所述利用 Nmap 工具实现网络发现与管理,无论在效率上还是准确性上都比传统基于 SLP 或者基于预定义端口扫描技术都要有优势。更为重要的是它是一种带外(Outband)管理方法,无需在被管理主机上安装任哬 Agent 程序或者服务增加了网络管理的灵活性和松散耦合性,因此值得广大网络管理员和开发者了解与掌握

  • 在 “”了解如何扫描网络中的垺务,以及如何定期地对服务进行监视以维持最长的正常运行时间。
  • 在 “”了解操作系统指纹识别的原理
  • 通过 “”学习相关命令的用法。
  • 访问 developerWorks 获得丰富的 how-to 信息、工具和项目更新以及帮助您用开放源码技术进行开发,并将它们与 IBM 产品结合使用

我要回帖

更多关于 收钱吧音响 的文章

 

随机推荐