作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-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. 第五篇 Flask 中内置的 Session

    Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from ...

  2. 20191107-配置 pyqt5+pycharm 环境

    因公司需要,今天配置了 pyqt5+pycharm 环境,准备试着写些 UI 界面. 参考资源: 1. Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 https://www.cn ...

  3. Numpy 中的聚合操作

    # 导包 import numpy as np sum np.random.seed(10) L = np.random.random(100) sum(L) np.sum(L) min np.min ...

  4. 百度艾尼ERNIE专场再入魔都,11月23日线下开讲!

    这个十一月,是属于深度学习开发者们的秋季盛宴.『WAVE Summit+』2019 深度学习开发者秋季峰会刚刚落下帷幕,基于ERNIE的语义理解工具套件也在此次峰会上全新发布,旨在为企业级开发者提供更 ...

  5. python——掌握sorted函数的用法

    看本篇文章的前提是掌握 00函数的基本概念.01函数参数传递方式 可参考本人博客文章 sorted函数 是一个内建函数,接收一个可迭代对象,按照指定类型.指定顺序进行排序,特点是返回一个新的列表,不改 ...

  6. python——namedtuple

    namedtuple()概念理解分享 我们都知道元组tuple的概念,tuple是一个定义之后就不能够更改的可迭代对象,namedtuple作为tuple的兄弟具有同样的属性,一旦定义就不可以更改.但 ...

  7. jquery手机端横屏判断方法

    jquery手机端横屏判断方法<pre>$(function() { var bodywidth = $('body').width(); var bodyheight = $('body ...

  8. 201871010114-李岩松《面向对象程序设计(java)》第六、七周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  9. 不需要spring管理,自己根据名字取到对应的bean

    package com.yiban.abc.util; import org.springframework.beans.BeansException; import org.springframew ...

  10. Jenkins+pipeline+参数构建+人工干预确定

    Jenkins+pipeline+参数构建+人工干预 实现了以下功能 1. 可以选择环境,单选:可以选择需要发布的项目,多选 2.发布过程可视化 3. 可以人工干预是否继续发布. 初始化配置需要很久, ...