尝试渗透测试之前,必须先识别在这个目标网络内活跃的主机。在一个目标网络内,最简单的方法将是执行ping命令。当然,它可能被一个主机拒绝,也可能被接收。本节将介绍使用Nmap工具识别活跃的主机。

网络映射器工具Nmap

Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。该工具其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;三是可以推断主机所用的操作系统。通常,用户利用Nmap来进行网络系统安全的评估,而黑客则用于扫描网络。例如,通过向远程主机发送探测数据包,获取主机的响应,并根据主机的端口开放情况得到网络的安全状态。从中寻找存在漏洞的目标主机,从而实施下一步的攻击。

Nmap使用TCP/IP协议栈指纹准确地判断目标主机的操作系统类型。首先,Nmap通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个关闭的UDP端口时,Nmap的探测能力是最好的。Nmap工具的工作原理如表4-1所示。

表4-1 Nmap工作原理

测试 描述
T1 发送TCP数据包(Flag=SYN)到开放的TCP端口上
T2 发送一个空的TCP数据包到开放的TCP端口上
T3 发送TCP数据包(Flag=SYN、URG、PSH和FIN)到开放的TCP端口上
T4 发送TCP数据包(Flag=ACK)到开放的TCP端口上
T5 发送TCP数据包(Flag=SYN)到关闭的TCP端口上
T6 发送TCP数据包(Flag=ACK)到开放的TCP端口上
T7 发送TCP数据包(Flag=URG、PSH和FIN)到关闭的TCP端口上

Nmap对目标主机进行一系列测试,如表4-1所示。利用得出的测试结果建立相应目标主机的Nmap指纹。最后,将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。

Nmap主要扫描类型如表4-2所示。

表4-2 Nmap主要扫描类型

Ping扫描 端口扫描
TCP SYN扫描 UDP扫描
操作系统识别 隐蔽扫描

4.3.2 使用Nmap识别活跃主机

上一小节介绍了Nmap工具概念及功能。现在就使用该工具,测试一个网络中活跃的主机。使用方法如下所示。

使用Nmap查看一个主机是否在线。执行命令如下所示:

root@kali:~# nmap -sP 192.168.41.136
Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-21 17:54 CST
Nmap scan report for www.benet.com (192.168.41.136)
Host is up (0.00028s latency).
MAC Address: 00:0C:29:31:02:17 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

从输出的信息中可以看到192.168.41.136主机的域名、主机在线和MAC地址等。

用户也可以使用Nping(Nmap套具)查看,能够获取更多详细信息。执行命令如下 所示:

root@kali:~# nping --echo-client "public" echo.nmap.org
Starting Nping 0.6.40 ( http://nmap.org/nping ) at 2014-04-21 17:53 CST
SENT (1.6030s) ICMP [192.168.41.234 > 74.207.244.221 Echo request (type=8/code=0) id=45896 seq=1] IP [ttl=64 id=1270 iplen=28 ]
RCVD (1.7971s) ICMP [74.207.244.221 > 192.168.41.234 Echo reply (type=0/code=0) id=45896 seq=1] IP [ttl=128 id=64157 iplen=28 ]
SENT (2.6047s) ICMP [192.168.41.234 > 74.207.244.221 Echo request (type=8/code=0) id=45896 seq=2] IP [ttl=64 id=1270 iplen=28 ]
RCVD (2.6149s) ICMP [74.207.244.221 > 192.168.41.234 Echo reply (type=0/code=0) id=45896 seq=1] IP [ttl=128 id=64159 iplen=28 ]
SENT (3.6289s) ICMP [192.168.41.234 > 74.207.244.221 Echo request (type=8/code=0) id=45896 seq=3] IP [ttl=64 id=1270 iplen=28 ]
RCVD (3.6322s) ICMP [74.207.244.221 > 192.168.41.234 Echo reply (type=0/code=0) id=45896 seq=1] IP [ttl=128 id=64161 iplen=28 ]
SENT (4.6429s) ICMP [192.168.41.234 > 74.207.244.221 Echo request (type=8/code=0) id=45896 seq=4] IP [ttl=64 id=1270 iplen=28 ]
RCVD (4.6435s) ICMP [74.207.244.221 > 192.168.41.234 Echo reply (type=0/code=0) id=45896 seq=1] IP [ttl=128 id=64163 iplen=28 ]
SENT (5.6454s) ICMP [192.168.41.234 > 74.207.244.221 Echo request (type=8/code=0) id=45896 seq=5] IP [ttl=64 id=1270 iplen=28 ]
RCVD (5.6455s) ICMP [74.207.244.221 > 192.168.41.234 Echo reply (type=0/code=0) id=45896 seq=1] IP [ttl=128 id=64164 iplen=28 ]
Max rtt: 193.736ms | Min rtt: 0.042ms | Avg rtt: 70.512ms
Raw packets sent: 5 (140B) | Rcvd: 11 (506B) | Lost: 0 (0.00%)| Echoed: 0 (0B)
Nping done: 1 IP address pinged in 6.72 seconds

输出的信息显示了与echo.nmap.org网站连接时数据的发送情况,如发送数据包的时间、接收时间、TTL值和往返时间等。

用户也可以发送一些十六进制数据到指定的端口,如下所示:

root@kali:~# nping -tcp -p 445 -data AF56A43D 192.168.41.136
Starting Nping 0.6.40 ( http://nmap.org/nping ) at 2014-04-21 17:58 CST
SENT (0.0605s) TCP 192.168.41.234:14647 > 192.168.41.136:445 S ttl=64 id=54933 iplen=44 seq=3255055782 win=1480
RCVD (0.0610s) TCP 192.168.41.136:445 > 192.168.41.234:14647 RA ttl=64 id=0 iplen=40 seq=0 win=0
SENT (1.0617s) TCP 192.168.41.234:14647 > 192.168.41.136:445 S ttl=64 id=54933 iplen=44 seq=3255055782 win=1480
RCVD (1.0620s) TCP 192.168.41.136:445 > 192.168.41.234:14647 RA ttl=64 id=0 iplen=40 seq=0 win=0
SENT (2.0642s) TCP 192.168.41.234:14647 > 192.168.41.136:445 S ttl=64 id=54933 iplen=44 seq=3255055782 win=1480
RCVD (2.0645s) TCP 192.168.41.136:445 > 192.168.41.234:14647 RA ttl=64 id=0 iplen=40 seq=0 win=0
SENT (3.0667s) TCP 192.168.41.234:14647 > 192.168.41.136:445 S ttl=64 id=54933 iplen=44 seq=3255055782 win=1480
RCVD (3.0675s) TCP 192.168.41.136:445 > 192.168.41.234:14647 RA ttl=64 id=0 iplen=40 seq=0 win=0
SENT (4.0683s) TCP 192.168.41.234:14647 > 192.168.41.136:445 S ttl=64 id=54933 iplen=44 seq=3255055782 win=1480
RCVD (4.0685s) TCP 192.168.41.136:445 > 192.168.41.234:14647 RA ttl=64 id=0 iplen=40 seq=0 win=0
Max rtt: 0.334ms | Min rtt: 0.136ms | Avg rtt: 0.217ms
Raw packets sent: 5 (220B) | Rcvd: 5 (230B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 4.13 seconds

输出的信息显示了192.168.41.234与目标系统192.168.41.136之间TCP传输过程。通过发送数据包到指定端口模拟出一些常见的网络层攻击,以验证目标系统对这些测试的防御情况。

Kali-linux识别活跃的主机的更多相关文章

  1. Kali Linux渗透测试实战 2.2 操作系统指纹识别

    目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...

  2. kali linux与虚拟机Vmware安装vmware tools(主机与虚拟机的文件拖拽)

    一.打开虚拟机任务栏"虚拟机"-----点击安装Vmware tools 二.回到开启的kali linux系统中,找到vmware tools CD文件夹,拖拽出文件中的压缩文件 ...

  3. Kali linux渗透测试常用工具汇总1

    1.ProxyChains 简介:代理工具.支持HTTP/SOCKS4/SOCK5的代理服务器,允许TCP/DNS通过代理隧道. 应用场景:通过代理服务器上网. 配置:/etc/proxychains ...

  4. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  5. Kali Linux信息收集工具

    http://www.freebuf.com/column/150118.html 可能大部分渗透测试者都想成为网络空间的007,而我个人的目标却是成为Q先生! 看过007系列电影的朋友,应该都还记得 ...

  6. 黑客专用操作系统——Kali Linux简介

    1如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成为历史. 如果您没接触过Back ...

  7. Kali Linux渗透测试实战 2.1 DNS信息收集

    目录 2.1 DNS信息收集1 2.1.1 whois查询3 2.1.2 域名基本信息查询4 Dns服务器查询4 a记录查询4 mx记录查询5 2.1.3 域名枚举5 fierse 5 dnsdict ...

  8. Kali Linux渗透测试实战 1.1 Kali Linux简介

    1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...

  9. 将kali linux装入U盘 制作随身携带的kali linux

    一 准备工作 USB3.0 U盘 不小于32G USB2.0的U盘安装速度要比3.0的慢一倍以上,运行也会有明显差别,所以建议使用3.0U盘.安装好之后差不多就得占用十几G,所以16G的太小了,尽量用 ...

随机推荐

  1. unity 中 protobuff 的用法 一句话攻略

    (一)unity 添加 pb 的 dll 支持.1,从GitHub上下载protobuf源码 (源码链接:https://github.com/google/protobuf),找到 csharp 分 ...

  2. 解决 Java 调用 Azure SDK 证书错误 javax.net.ssl.SSLHandshakeException

    Azure 作为微软的公有云平台,提供了非常丰富的 SDK 和 API 让开发人员可以非常方便的调用的各项服务,目前除了自家的 .NET.Java.Python. nodeJS.Ruby,PHP 等语 ...

  3. angularJS请求参数 ajax

    1. 使用angular服务请求 app.controller('main', function($scope, $http) { $scope.fun1 = function () { $http( ...

  4. 一:SpringDataJPA

    一:spring data jpa介绍 spring data:其实spring data就是spring提供了一个操作数据的框架.而spirng data jpa只是spring data框架下的一 ...

  5. tsung

    要做针对mongodb的压力测试,下了个tsung,看看他的策略是什么,目前定位ts_launcher.erl:do_launch({Intensity, MyHostName, PhaseId})- ...

  6. Mysql根据经纬度筛选数据

    创建位置表,并且插入测试数据 /*     Navicat MySQL Data Transfer     Source Server         : localhost     Source S ...

  7. Java温故而知新(1)集合类

    Java中的集合类有以下所属关系:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└Wea ...

  8. BZOJ3992: [SDOI2015]序列统计(NTT 原根 生成函数)

    题意 题目链接 给出大小为\(S\)的集合,从中选出\(N\)个数,满足他们的乘积\(\% M = X\)的方案数 Sol 神仙题Orz 首先不难列出最裸的dp方程,设\(f[i][j]\)表示选了\ ...

  9. UNIX/Linux系统管理技术手册(2)----bash脚本编程

    1. 一个简单的例子: $ vim readname.sh #file:readname.sh#!/bin/bash echo -n "Enter your name: " rea ...

  10. 基于Tag的Docker自动构建

    构建规则 一旦您的Tag符合“release-v$version"的形式,将触发自动构建:1)若您有$version相关的Tag构建规则,则以$version的Tag规则帮您构建:2)若您没 ...