尝试渗透测试之前,必须先识别在这个目标网络内活跃的主机。在一个目标网络内,最简单的方法将是执行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. spring-boot之简单定时任务

    首先是pom.xml依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

  2. 微信小程序开发框架整理

    目前除了原生的微信小程序开发外,各大厂商陆续造了自己的开发框架,现整理如下: WePY 腾讯官方开源的小程序组件化开发框架,目前有15K+Star ,一直在更新着,社区活跃,掉坑能快速的找到方法爬出来 ...

  3. MongoDB 学习(二)可视化界面

    一.安装可视化界面 1.mongobooster 安装和配置 1.下载安装 下载地址:https://nosqlbooster.com/downloads 下载完成后直接点击安装: 安装完成弹出界面: ...

  4. maven父子项目

    maven搭建父子项目 1.先建立一个父项目,建立项目的时候,选择  Create a simple project 点击 next,填写以下信息 点击finish就可以了. 2.接下来要建立一个子项 ...

  5. thinkphp的删除操作

    1.循环遍历要删除的用户的或者呀删除的文章的id值: <volist name="list" id="vo"> <tr id="si ...

  6. MySQL聚合函数在计算时,不会自动匹配与之相对应的数据

    学习mysql过程中遇到了一个困惑,纠结了我半天时间,刚刚又重新复习了一下,终于知道问题所在 以下是一个需求: 取得平均薪水最高的部门的部门编号 代码如下: select deptno, avg(sa ...

  7. 使用mpvue搭建一个初始小程序

    1. 初始化一个 mpvue 项目 现代前端开发框架和环境都是需要 Node.js 的,如果没有的话,请先下载 nodejs 并安装. 然后打开命令行工具: # 1. 先检查下 Node.js 是否安 ...

  8. window onload || jquery $()

    1.window 的 onload 机制只指定一个函数,且在页面DOM及静态资源加载完之后执行: window.onload = function(){ alert(); } 2.$(document ...

  9. jQuery对html元素取值与赋值

    以下总结了常用的jQuery选择器对html元素取值与赋值 Textbox:  var str = $('#txt').val(); $('#txt').val("Set Lbl Value ...

  10. [小北De编程手记] : Lesson 04 - Selenium For C# 之 API 上

    这一部分,我准备向大家介绍Selenium WebDriver的常用API,学习这部分内容需要大家最好有一些简单的HTML相关知识,本文主要涉及到以下内容: Selenium API:元素检查 Sel ...