我的编程空间,编程开发者的网络收藏夹
学习永远不晚

***测试实践教程3

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

***测试实践教程3


特别声明:本文仅供在校大学生个人学习信息安全知识,不可用于其他用途。转载本文须声明来源,并引述本声明。


网络数据分析利器——Wireshark 1

我们从Wireshark的安装开始讲起……

1.0 安装Wireshark

Wireshark提供了适于各类系统的安装版本,如果你看了本系列的第1个教程,那么当你装好Kali时,wireshark已经在Kali中了,如果你想在windows下使用wireshark也可以安装windows版本(从https://www.wireshark.org/download.html下载),Windows下的安装过程很简单,运行安装程序然后执行所有默认设置就行啦,这里就不多说了。在这里,我们还是进入Kali,以用户root登录,点击kali左上角的“应用程序”—“Kali Linux”—“Top 10 Security Tools”—“wireshark”。这时会报错,提示你用root这种超级用户登录使用wireshark可能是有害系统健康的。我的选择是先不管这些,危险就危险吧,谁让我用的是虚拟机呢?如果不放心,可以使用虚拟机的克隆功能,把当前kali系统克隆一个,用坏了克隆的还有原始的。大家可以试试。

打开后,kali中的wireshark界面如图:

 

wKioL1UMFAqA8488AALTslt0328258.jpg

下面开始讲使用,先介绍最基本的,那就是启动wireshark抓取网卡上流过的每个数据包。

1.1 抓包

在打开的wireshark中间偏左位置看到“Capture”项,下面有“InterfaceList”即网卡列表,其中一个以“eth”开头的表示以太网卡,由于90%以上的LAN均用以太网技术,所以我们的电脑一般都是以太网卡,如果你的网卡是用无线的那么请找含“wireless”的接口,选择接口后,点“Start”或绿色鱼翅图标,就可以开始抓包了。点击Capture Options可以配置高级属性,但现在还不需要。

当然如果你没没联网,wireshark显然什么都抓不到。保证你的虚拟机联网,如下图蓝色标注指示的图标,需要它处于连接状态。联网时,正常情况下你会看到下列界面中红色区在不停滚动。这表示你的网卡在不断收发着各种网络数据包。

wKiom1UMEi6RRb8CAAQPNzdqkmA937.jpg

如果你的网卡被设置为“混杂模式”那么,同一广播域内的所有数据包你都会看到,不管是不是发给你的。

红色区的每一行对应一个网卡上流过的数据包。默认情况下,显示Time抓取时间、source来源、destination目的地、协议Protocol、长度Length和信息Info。单击一行,该数据包的详情会在绿色区显示,点击“+”会展开,我们书本中所学的网络协议都会在这里变得十分具体,所以wireshark对学习和理解计算机网络数据意义重大。紫色区域会显示该数据包的十六进制形式和对应的ASCII码。需要停止抓包,可以点击上方黑色区的红色“Stop”方块。

Wireshark里数据包的色彩,有特定含义。红色区域中不同颜色的行,表示不同协议的数据包,你可以在上方黑色区域的“View”—“Coloring Rules”中了解各种颜色的默认含义。

有的同学没有联网条件,或者觉得自己所在网络中的数据包没什么意思,可以去Wireshark的wiki站里下载样本,然后学习。打开一个抓取文件相当简单,在“FILE”-“Open”选择打开文件即可。也可以在Wireshark里保存自己的抓包文件并打开。

用Wireshark抓包时,上面的红色区会因瞬时数据包滚动的很快,会使人应接不暇。如果当前只想观察符合某个特定要求的数据包,那么可以使用Wireshark提供的多种过滤器,使问题得到聚焦。

最直接的方式是利用上图黑色区下方的“Filter”过滤器,例如输入“TCP”,Wireshark就只显示最近收到的TCP数据包。如果你想设立较为复杂的过滤条件,可以点击“Fileter”框右边的“Expression”表达式,这样可以根据自己的需要设立复杂的逻辑条件,对抓到的数据包进行过滤。例如,我想抓一些由IP=202.106.95.6发给我的数据包,那么我可以点击“Expression”,在弹出的对话框中(如下图),在“Filed Name”即过滤条件字段名中找到“IPv4”(我们学过的IP协议哦),然后点开“+”,选择“ip.addr-Source or Destination Address”,然后选择“Relation”关系运算符“==”(和c语言中的关系运算、逻辑运算很像),然后在“Value”框中键入202.106.95.6,然后确定。当条件出现在“Filter”中时,再按一次回车就可以只看到与ip地址为202.106.95.6的机器之间的数据包了。  

wKioL1UMFHvDaw3rAANtq1Jr1-Y346.jpg

也可以点击Analyze菜单并选择DisplayFilters来创建新的过滤条件,这与“Expression”中完全一样。

除了过滤抓包,还可以对一些有状态的协议数据包进行跟踪,有状态的协议中最常见的就是TCP协议了,对于抓到的某个TCP数据包,你可以右键点击该包所在行,然后选择“Follow TCP Stream”,你会看到在这个TCP连接(服务器和客户端之间)所有的TCP会话交互过程。如下图所示。

wKioL1UMFHuQBB5zAATb9Z3mdso579.jpg



关闭这个窗口后,跟踪该TCP连接的过滤条件会自动应用,Wireshark会显示构成该TCP连接的所有数据包。

选中一个报文之后,就可以深入挖掘它的内容了。本节先讲到这里。

Wireshark是一个非常之强大的工具,上面只介绍了最基本的用法。网络专家和***都会用它来发现网络协议实现细节,检查安全问题。如果上面提到的一些知识你并不熟悉,那么请看看计算机网络的基础教材,掌握一些IP协议、TCP协议等基础知识,你会发现原来抽象的东西现在如此的简单具体。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

***测试实践教程3

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

***测试实践教程3

特别声明:本文仅供在校大学生个人学习信息安全知识,不可用于其他用途。转载本文须声明来源,并引述本声明。网络数据分析利器——Wireshark 1我们从Wireshark的安装开始讲起……1.0 安装WiresharkWireshark提供了
2023-01-31

Android测试驱动开发实践3

至此,一个基于MVC的基本Android应用程序已经初步形成了。下面我们来实现一个具有TabHost的布局的典型Android应用,由于我们基本上可以不考虑Android 4.x以前的版本,因此我对TabHost布局的实现将采用Fragme
2022-06-06

Go语言工程实践单元测试基准测试示例详解

这篇文章主要为大家介绍了Go语言工程实践单元测试基准测试示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-05

Docker与自动化测试及其测试实践过程是怎样的

Docker与自动化测试及其测试实践过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Docker 与自动化测试对于重复枯燥的手动测试任务,可以考虑将其
2023-06-19

软件测试项目实战之功能测试 千锋实战教程

软件测试项目实战之功能测试 千锋实战教程随着数字化技术越来越普及,互联网行业对软件测试的要求也在持续迭代。预计,2023年,全球相应的软件测试市场,预计将出现14%的综合年度增长率。可见,无论你是否在这个行业,由软件技术开发出的各种应用正在
2023-06-04

Android测试驱动开发实践

在Android应用开发中,相信很少有人在坚持先由设计人员做完整的概要设计 、详细设计,然后交给程序员进行编码实现了。通常是在有一个大体框架的情况下,开始进行具体编码开发了。在这种情形下,开发速度可以有很大的提高,但是终代码质量却不可避免的
2022-06-06

WEB-UI自动化测试实践

一、设计背景随着IT行业的发展,产品愈渐复杂,web端业务及流程更加繁琐,目前UI测试仅是针对单一页面,操作量大。为了满足多页面功能及流程的需求及节省工时,设计了这款UI 自动化测试程序。旨在提供接口,集成到蜗牛自动化测试框架,方便用例的设
2023-06-04

MyBatis ORM的集成测试实践

MyBatis ORM(Object-Relational Mapping)是一个将对象映射到关系数据库的技术。集成测试是软件开发过程中的一个重要环节,用于验证各个组件之间的交互是否正常。以下是一个关于MyBatis ORM集成测试的实践指
MyBatis ORM的集成测试实践
2024-09-11

Android测试驱动开发实践1

在正式进行Android测试驱动开发之前,不得不先提一下Android应用架构问题。在传统软件开发中,MVC架构得到了广泛的应用,然而在Android开发中,很少见应用采用了MVC架构(不要说Android及Widget全部采用的是MVC架
2022-06-06

Golang 函数测试的最佳实践

go 函数测试的最佳实践:定义明确的测试用例。使用表驱动的测试。覆盖边界条件。嘲笑依赖关系。使用 subtest。衡量测试覆盖率。Go 函数测试的最佳实践Go 中的函数测试对于确保代码可靠性至关重要。这里有一些最佳实践,可帮助您编写强大的
Golang 函数测试的最佳实践
2024-04-13

Android单元测试研究与实践

Android单元测试介绍处于高速迭代开发中的Android项目往往需要除黑盒测试外更加可靠的质量保障,这正是单元测试的用武之地。单元测试周期性对项目进行函数级别的测试,在良好的覆盖率下,能够持续维护代码逻辑,从而支持项目从容应对快速的版本
2022-06-06

Android UI自动化测试佳实践

一、概述Android系统测试和Web的测试类似,有两类自动化的方式:录制回放与手动开发自动化case。由于录制回放在长期维护与代码重用方面存在问题,这里主要的方式还是采用手动开发自动化case来进行。在Web自动化测试中有一个比较好的实践
2022-06-06

Head First: Android单元测试佳实践

单元测试是什么?单元测试 是针对 程序的小单元 来进行正确性检验的测试工作。程序单元是应用的小可测试部件。一个单元可能是 单个程序、类、对象、方法 等。 ——维基百科为什么要做单元测试?卖个关子,看完文章自然知道了
2022-06-06

Android测试驱动开发实践2

在实际项目开发过程中,一般先实现核心功能,后再做辅助性功能,这样可以尽快验证Idea的正确性,同时有助于让老板、投资人或客户看到可运行的产品,从而对产品充满信心,加大对项目的支持。但是对于我们这个项目而言,我们首先需要得到一个Android
2022-06-06

golang函数的单元测试实战教程

go 语言单元测试方法:导入 testing 包和被测包。定义以 "test" 开头的测试函数。定义测试用例,包含参数和预期结果。遍历测试用例,调用函数并比较实际结果与预期结果。如有差异,触发测试失败。Go 函数的单元测试实战教程单元测试
golang函数的单元测试实战教程
2024-04-26

Golanghttptest包测试使用教程

这篇文章主要介绍了Golanghttptest包测试使用,httptest包的理念是,非常容易模拟http服务,也就是说模拟响应写(responsewriter),提供给http处理器(handle),让我们测试http服务端和客户端很容易
2023-03-15

使用 PHP 函数的最佳实践:测试和单元测试?

针对 php 函数进行测试的最佳实践包括:单元测试:隔离测试单个函数或类,验证预期行为;集成测试:测试多个函数和类的交互,验证应用程序整体运行情况。PHP 函数的最佳实践:测试和单元测试引言在 PHP 中编写健壮可靠的代码至关重要。单元
使用 PHP 函数的最佳实践:测试和单元测试?
2024-05-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录