测试网络范围内的IP地址或域名也是渗透测试的一个重要部分。通过测试网络范围内的IP地址或域名,确定是否有人入侵自己的网络中并损害系统。不少单位选择仅对局部IP基础架构进行渗透测试,但从现在的安全形势来看,只有对整个IT基础架构进行测试才有意义。这是因为在通常情况下,黑客只要在一个领域找到漏洞,就可以利用这个漏洞攻击另外一个领域。在Kali中提供了DMitry和Scapy工具。其中,DMitry工具用来查询目标网络中IP地址或域名信息;Scapy工具用来扫描网络及嗅探数据包。本节将介绍使用DMitry和Scapy工具测试网络范围。

4.2.1 域名查询工具DMitry

DMitry工具是用来查询IP或域名WHOIS信息的。WHOIS是用来查询域名是否已经被注册及已经注册域名的详细信息的数据库(如域名所有人和域名注册商)。使用该工具可以查到域名的注册商和过期时间等。下面将使用DMitry工具收集rzchina.net域名的信息。执行命令如下所示:

输出的信息显示了rzchina.net域名的IP地址、WHOIS信息及开放的端口号等。执行以上命令后输出的信息很多,但是由于篇幅的原因,部分内容使用省略号(……)代替。

虽然使用DMitry工具可以查看到IP或域名信息,但还是不能判断出这个网络范围。因为一般的路由器和防火墙等并不支持IP地址范围的方式,所以工作中经常要把IP地址转换成子网掩码的格式、CIDR格式和思科反向子网掩码格式等。在Linux中,netmask工具可以在IP范围、子网掩码、CIDR和Cisco等格式中互相转换,并且提供了IP地址的点分十进制、十六进制、八进制和二进制之间的互相转换。使用netmask工具将域名rzchina.net转换成标准的子网掩码格式。执行命令如下所示:

root@kali:~# netmask -s rzchina.net
180.178.45.123/255.255.255.255

输出的信息显示了rzchina.net域名的IP地址和子网掩码值。

4.2.2 跟踪路由工具Scapy

Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工具和包嗅探工具。它提供多种类别的交互式生成数据包或数据包集合、对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等功能。下面将介绍Scapy工具的使用。

使用Scapy实现多行并行跟踪路由功能。具体操作步骤如下所示。

(1)启动Scapy工具。执行命令如下所示。

root@kali:~# scapy
INFO: Can't import python gnuplot wrapper . Won't be able to plot.
WARNING: No route found for IPv6 destination :: (no default route?)
Welcome to Scapy (2.2.0)
>>>

看到>>>提示符,表示scapy命令登录成功。

(2)使用sr()函数实现发送和接收数据包。执行命令如下所示:

>>> ans,unans=sr(IP(dst="www.rzchina.net/30",ttl=(1,6))/TCP())
Begin emission:
.****Finished to send 24 packets.
………***************…………………………………..^C #Ctrl+C终止
Received 70 packets, got 19 answers, remaining 5 packets

执行以上命令后,会自动与www.rzchina.net建立连接。执行几分钟后,使用Ctrl+C终止接收数据包。从输出的信息中可以看到收到70个数据包,得到19个响应包及保留了5个包。

(3)以表的形式查看数据包发送情况。执行命令如下所示:

>>> ans.make_table(lambda(s,r):(s.dst,s.ttl,r.src))

执行以上命令后,输出如下所示的信息:

输出的信息显示了该网络中的所有IP地址。

(4)使用scapy查看TCP路由跟踪信息。执行命令如下所示:

输出的信息,显示了与www.google.com、www.kali.org、www.rzchina.net三个网站连接后所经过的地址。输出信息中的RA表示路由区,SA表示服务区。其中路由区是指当前系统中移动台当前的位置。RA(Routing Area)的标识符是RAI,RA是包含在LA内的。服务区是指移动台可获得服务的区域,即不同通信网用户无需知道移动台的实际位置,而可与之通信的区域。

(5)使用res.graph()函数以图的形式显示路由跟踪结果。执行命令如下所示:

>>> res.graph()

执行以上命令后,将显示如图4.1所示的界面。

图4.1 路由跟踪图

如果要想保存该图,执行如下所示的命令:

>>> res.graph(target=">/tmp/graph.svg")

执行以上命令后,图4.1中的信息将会保存到/tmp/graph.svg文件中。此时不会有任何信息输出。

(6)退出scapy程序,执行命令如下所示:

>>> exit()

执行以上命令后,scapy程序将退出。还可以按下Ctrl+D组合键退出scapy程序。

Kali-linux测试网络范围的更多相关文章

  1. 安装Kali Linux操作系统Kali Linux无线网络渗透

    安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...

  2. 基于kali linux无线网络渗透测试

    1.无线网络渗透测试目前主要有三种方式,分别是暴力破解PIN码,跑握手包,搭建伪热点三种方式,当然还存在其他的方式. 1.1暴力破解 路由器的PIN码由八位0-9的数字组成,PIN码由散步风组成,前四 ...

  3. Kali Linux——迈向网络攻防

    自从进入大三的课程后,在已学的高数.线代.数论.概率论.信息论.通信等知识的技术上,开始了网络信息安全.网      络攻防的学习.俗话说得好,磨刀不误砍柴工,开始网络攻防之旅也势必要一个好的工具.然 ...

  4. linux 测试网络url命令

    1.curl 地址 或者 wget url地址 [hxxxx@iZ23vy2msooZ ~]$ curl www.baidu.com<!DOCTYPE html><!--STATUS ...

  5. linux 测试网络延迟

    1.在A服务器上运行qperf  &作为服务器节点,由其他服务器来连接测试,默认监听tcp的19765端口.

  6. 虚拟机kali Linux 的网络配置

    首先打开虚拟机中的kali 发现是没有办法连网的 然后我们将kaili关闭 然后打开 然后看黄色区域选择桥接模式然后重新启动即可 https://jingyan.baidu.com/article/7 ...

  7. kali linux 无线网络显示 wireless is disabled

    试了 rfkill , iwconfig , ifconfig , airmon-ng airodump-ng , 都显示,硬件是绝对没有问题了. 连 各种ap 都显示出来了. 最后google 之后 ...

  8. Kali linux渗透测试的艺术 思维导图

    Kali Linux是一个全面的渗透测试平台,其自带的高级工具可以用来识别.检测和利用目标网络中未被发现的漏洞.借助于Kali Linux,你可以根据已定义的业务目标和预定的测试计划,应用合适的测试方 ...

  9. Web渗透测试使用Kali Linux(一)渗透测试概要及环境部署

    渗透测试是利用已经发现的漏洞,采用恶意黑客的惯用手段来尝试对漏洞进行攻击. Kali Linux是BackTrack的进化版,是Linux的衍生版本,专门开发用作渗透测试,其中提供了很多的渗透测试工具 ...

  10. 在VMware Workstation上安装Kali Linux

    在VMware Workstation上安装Kali Linux VMware Workstation是一款功能强大的桌面虚拟计算机软件.该软件允许用户在单一的桌面上同时运行不同的操作系统,并且可以进 ...

随机推荐

  1. SSIS教程:创建简单的ETL包 -- 1. 创建项目和基本包

    在本课中,将创建一个简单 ETL 包,该包可以从单个平面文件(Flat File)源中提取数据,使用两个查找转换组件转换该数据,然后将该数据写入AdventureWorksDW2012 的 FactC ...

  2. Swift强制解析

    IDE:Xcode Version7.3.1 Swift中"数据类型?"表示这是可选类型,即 某个常量或者变量可能是一个类型,也可能什么都没有,不确定它是否有值,也许会是nil. ...

  3. JRebel - 给IDE安装JRebel插件

    JRebel对于很多人来说已经并不陌生了,一搜一大把. 用过JRebel后发现,这对于Java开发简直不可缺少. 尽管其价格有点春节国庆期间的各种交通费用——打劫! 即使如此也出现了有"分享 ...

  4. RabbitMQ - 任务队列

    这次我们试着实现这样一个小程序: 嗯,就是任务队列(task queue).不是将任务集中在一堆并一直等到所有任务一并完成为止,而是将每一个任务封装为一个消息,并将其发送到队列,后台的workers就 ...

  5. 解决VS2010在新建实体数据模型出现“在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。”的问题

    最近想试着学习ASP.NET MVC,在点击 添加--新建项--Visual C#下的数据中的ADO.NET 实体数据模型,到"选择您的数据连接"时,出现错误,"在 .N ...

  6. 静态代码块,构造代码块,main()

    静态代码块 随Class 加载而加载,为Class 作初始化: 在main() 之前加载: 只执行一次: 构造代码块 随对象的创建而加载,为对象作初始化 public class day04 { pu ...

  7. 使用RabbitMQ实现延迟任务----实用场景

    1. 使用RabbitMQ实现延迟任务

  8. json_decode($json, true) true什么意思

    <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' ...

  9. java unsupported major.minor version 51.0 解决

    1.概述 出现如题所述异常 是因为jdk高版本 编译后的class文件 运行在低版本的jre环境下(如jdk7编译 运行在jdk6环境下) 2. 解决方案 在eclipse等ide中重新编译 指定编译 ...

  10. Bzoj3105:[CQOI2013]新Nim游戏

    题面 传送门 Sol 也是拿出一些数,使剩下的异或起来不为\(0\) 而线性基内的数异或不出\(0\) 那么从大到小加到线性基内 然后中途为\(0\)了,就取走它 这样我们使最大的在线性基内,剩下的是 ...