作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析。但是,今天我要给大家分享的抓包工具,叫做Wireshark,是一款专注于网络封包分析,相比于其他的抓包软件有自己的特色和优势的一款报文捕获工具。

下载安装包

去Wireshark的官网,下载这个工具的安装包:https://www.wireshark.org/download.html

安装

一路next安装,最后重启一下电脑,就可以安装成功!

运行软件

安装完成之后,找到这个文件的桌面快捷方式:

双击打开运行软件:

打开即可看到如上图的界面。我们来认识一下这个软件的基本界面。
1、Wireshark这个工具是基于接口抓包的。
如果电脑主机上有多个网络接口的话,可以点击’标号1‘的按钮,选择对应的网络接口抓取对应的报文。

如上是点击按钮1 出现的所有接口列表,一般选择自己的上网的接口,或者关心的流量通过的接口,然后点击’开始‘按钮,即可开始抓包。

2、除了上面的方法开始抓包之外,还可以在2区域+3按钮开始抓包。
在区域2,也可以看到所有的网络接口,同样选择自己需要抓取的接口,然后点击按钮3,也可以开始抓取报文。

 抓包

经过上述操作之后,Wireshark工具已经开始抓取报文了,此时用浏览器访问你测试的web页面,交互的报文就会被全部抓取,如下图所示。

首先,来认识一下页面上方的几个常用功能。
区域1,表示当前工具正在捕获报文,在抓包进行时;区域2有两个按钮,红色的按钮,表示停止抓包,点击后即可停止捕获;绿色按钮,表示重新抓取报文,点击后会提示是否保存:

根据自己的需求选择保存或者不保存报文,然后工具会清除之前的报文重新开始抓取;区域3,是为了过滤用户关心的报文,有一定的过滤规则。我们来罗列一些常用的过滤使用方法。

1)过滤源IP以及目的IP:
在wireshark的过滤规则框Filter中输入过滤条件。
如查找目的地址为120.24.89.47 的包,ip.dst==120.24.89.47;查找源地址为192.168.1.37的包,ip.src==192.168.1.37。

2)端口过滤:
如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。
使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包。

3)协议过滤:
比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议,TCP协议等。HTTP模式过滤。
如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"。

4)连接符and的使用。
过滤两种条件时,使用and连接,如过滤ip为192.168.1.37并且为tcp协议的,ip.src==192.168.1.37 and tcp。

报文分析

抓取并且过滤出相应的报文,我们就可以开始进行详细的报文分析了。双击其中一个报文,即可打开这个报文的详细内容,如下图所示:

第一层Frame I:TCP/IP 协议栈中的物理层
第二层Ethernet II:TCP/IP 协议栈中的数据链路层,也就是现实网卡的源目MAC地址,依据这部分信息来做二层转发;

第三层Internet Protocol : TCP/IP 协议栈中的网络层,发明了IP协议,所以报文在这一层会带上源目IP地址。

第四层 Transmission Control Protocol: TCP/IP 协议栈中的传输层,定义了TCP协议和UDP协议,以及定义了端口的概念。所以在这一层的安博文,会带上协议的源目端口。

总结

以上是Wireshark这个抓包工具的基本使用方法,后面我会再出系列文章,详细分析一些大家工作中比较常用的协议,来帮助大家定位和分析测试工作中的问题!

软件测试必须掌握的抓包工具Wireshark,你会了么?的更多相关文章

  1. 抓包工具Wireshark过滤器

    抓包工具WireShark分为两种过滤器: 捕捉过滤器(CaptureFilters) 显示过滤器(DisplayFilters) 捕捉过虑器语法: Protocol  Direction  Host ...

  2. socket和抓包工具wireshark

    socket和抓包工具wireshark 最近在学习Python代码中的socket和抓包工具wireshark,故又将socket等概念又学习了一遍,温故而知新: Python代码如下: serve ...

  3. 网络抓包工具-Wireshark学习资料

    wireshark一个非常牛逼的网络抓包工具.转载一系列博文 一站式学习Wireshark(一):Wireshark基本用法 一站式学习Wireshark(二):应用Wireshark观察基本网络协议 ...

  4. 抓包工具Wireshark的使用

    WireShark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息. WireShark界面简介 启动WireShark的界面如下: 选择网卡 wireshar ...

  5. 学习tcpIp必备的抓包工具wireshark

    wireshark是一个优秀的抓包工具 ip.src=192.168.10.123  发送http的一端 ip.dst=192.168.10.126 接收http的一端 如下图所示:

  6. GNS3与抓包工具Wireshark的关联

    转至:https://blog.51cto.com/xpleaf/1615145 (一)前言 本博文分享GNS3与Wireshark关联的方法. 显然现在网络上已经有类似的文章分享,而本博文旨在提供更 ...

  7. Wireshark 网络抓包工具Wireshark的使用

    阅读目录 wireshark介绍 wireshark不能做的 wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wireshark 开始抓包 wireshark ...

  8. 网络抓包工具wireshark and tcpdump 及其实现基于的libpcap

    最近无意中看到博客园中一篇介绍wireshark的文章,写得不错,它简单清楚介绍了wireshark的使用 简介 wireshark以前叫做Ethereal, 在大学时候的网络课程中就常看到它,它是世 ...

  9. 抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)

    功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...

随机推荐

  1. 完美解决移动端H5页面的滑动穿透问题

    同事的分享,记录下来. 代码如下: css: body.modal-open { position: fixed; width: 100%; } js: // 兼容低版本 document.scrol ...

  2. Java编程思想——第17章 容器深入研究(two)

    六.队列 排队,先进先出.除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: add ...

  3. python中PIL模块

    Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image ...

  4. 使用float设置经典的网站前端结构(深入探讨)

    .要是DIV的子元素宽度大于它自己的宽度,不管子元素有没有脱离文档流,子元素会在横向向右溢出. 关于高度:1.要是DIV的高度没有设定,其高度受“没有脱离文档流”的子元素影响.以下是DIV宽度为0的情 ...

  5. [开源]基于goapp+xterm实现webssh-网页上的SSH终端(golang)

    简析 基于goapp+xterm实现webssh-网页上的SSH终端. 开源地址见文末. 特性 在网页上实现一个SSH终端.从而无需Xshell之类的模拟终端工具进行SSH连接. 可以对交互命令进行审 ...

  6. [考试反思]1104csp-s模拟测试100: 终结

    这么好的整数场,就终结了我连续莫名考好的记录. 功德圆满了... 还是炸了啊.而且炸的还挺厉害(自己又上不去自己粘的榜单啦) 说实在的这场考试做的非常差劲.虽说分数不算特别低但是表现是真的特别差. T ...

  7. 多线程之美1一volatile

    目录 一.java内存模型 1.1.抽象结构图 1.2.概念介绍 二.volatile详解 2.1.概念 2.2.保证内存可见性 2.3.不保证原子性 2.4.有序性 一.java内存模型 1.1.抽 ...

  8. canvas画圆环%显示

    我: JS代码:  function circleProgress(id,value,average){  var canvas = document.getElementById(id);  var ...

  9. NioEventLoop的创建

    NioEventLoop的创建 NioEventLoop是netty及其重要的组成部件,它的首要职责就是为注册在它上的channels服务,发现这些channels上发生的新连接.读写等I/O事件,然 ...

  10. JS 原生面经从入门到放弃 篇幅较长,建议收藏

    前言 是时候撸一波 JS 基础啦,撸熟了,银十速拿 offer; 本文不从传统的问答方式梳理,而是从知识维度梳理,以便形成知识网络; 包括函数,数组,对象,数据结构,算法,设计模式和 http. 函数 ...