【最详细】Wireshark使用教程

原理

wireshark是一款网络嗅探工具。可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。嗅探技术常常用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。

步骤

1.安装

到wireshark官网下载你所需要的版本,官网地址https://www.wireshark.org,选择下载,跟进自己的操作系统选择。
在这里插入图片描述
在这里插入图片描述

安装是注意勾选Wireshark l选项,wireshark有两种UI界面,两种都装上

在这里插入图片描述

跟进个人的偏好,选择复选项
在这里插入图片描述

选择安装winpcap,如果已经安装,会有提示是否替换
在这里插入图片描述

安装后,会有以下两个图标,带Legacy的是GTK的UI,另外一个是新的QT的GUI,一个英文,一个中文。
在这里插入图片描述

打开图标时使用右键单击,选择“以管理员身份运行”,这里我们讲解Legacy版本。
在这里插入图片描述
在这里插入图片描述

2.wireshark使用

2.1 首先选择要监听的接口,有一下几种方式:

可以打开的界面(注:部分操作系统需要右键单击图片,然后选择“以管理员身份运行”)上,选择要监听的接口,然后点击start。
在这里插入图片描述

也可以点击接口列表interface list,选择要监听的网卡,然后点击start。
在这里插入图片描述

也可以点击菜单的capture选项,然后选择interface list。

在这里插入图片描述

选择好要监听的网卡之后,界面如下,就是通过这个网卡的所有包,看下图片的介绍:
在这里插入图片描述

常用按钮:
在这里插入图片描述

第一栏:

第一个是接口列表,

第二个是抓取过滤选项(这就根据过滤条件直接抓了,我们不使用这种过滤方式),看下配置,可以直接保存自己设置的过滤条件(过滤规则我们稍后讲),自定义抓取规则。

第三个是“开始”

第四个是“停止”

第五个是“重新抓包”

第二栏:打开或保存包文件,抓到的包是可以保存,离线看的。

第三栏:查找包工具

第四栏:样式,是否滚到最下边,也就是最新到的包

第五栏:放大与缩小

第六栏:配置过滤规则,显示颜色等
其实最常用的,是前两栏。

3.先看几个数据包,熟悉一下wireshark

看下单个包,已经格式化后的部分,与OSI的对应关系。
在这里插入图片描述

TCP的握手包,看下几个标记位,鼠标点击第47号包,

47号包的传输层:
在这里插入图片描述

47号包的网络层:
在这里插入图片描述

再看一个有应用层数据的,第985号包,是一个加密后的数据包,网络中的数据,可以跟进自己的需要进行加密,后面我们会讲。

再看一个dns请求包,第45,46号包,一个是DNS请求,一个是DNS响应,我们可以ping下域名,看看是不是这样。
在这里插入图片描述

4.wireshark过滤规则

网卡上嗅探的数据包是非常多的,上面看的只是几种,要从数以万计的包中查看你想要的,就要使用过滤规则。(这里讲的都是非常常用的,经常用到的)

4.1 地址过滤

IP地址过滤,比较常用,在过滤器Filter中输入过滤条件:

过滤源ip,语法:

源ip:ip.src == IP 或 ip.src eq IP
在这里插入图片描述

目的ip:ip.dst == IPip.dst eq IP

在这里插入图片描述

指定主机ip,源或目的: ip.host == IPip.host eq IP,或者用ip.addr
在这里插入图片描述
在这里插入图片描述

指定的源ip或指定的目的ip: ip.src == IP or ip.dst == IP
在这里插入图片描述

指定的源ip并且指定的目的ip: ip.src == IP and ip.dst == IP
在这里插入图片描述

IP层还可以跟进IP协议的字段过滤,在过滤器中输入ip.可以查看其它选项,有兴趣的的同学可以尝试一下:
在这里插入图片描述

MAC地址过滤,与ip.过滤类似,使用eth.XXX,没有eth.host,大家可以自己尝试一下,如下:

eth.addreth.srceth.dst

4.2 端口过滤

端口过滤非常常用,要指明协议是tcp还是udp,可以用srcportdstportport,端口可以用比较符合>>=<<===eq,例子如下:

过滤目的端口是80端口的tcp报文
在这里插入图片描述

过滤源端口是443的tcp报文
在这里插入图片描述

过滤端口是80的tcp报文 或者端口是53的udp报文
在这里插入图片描述

过滤源端口号大于1024的tcp报文
在这里插入图片描述
加上4.1的ip过滤,用and组合一下,过滤了指定服务器80端口的报文:
在这里插入图片描述

可以用协议(tcpudp),端口(srcportdstportport),比较符合(>>=<<===eq)以及andor任意组合,过滤你期望得到的报文。

4.3 协议过滤

tcpudparpicmphttpsmtpftpdnsmsnmsipssloicqbootp等。排除的化,前面加个‘!’或者‘not’。

只显示tcp报文
在这里插入图片描述

在tcp后面打个‘.’,可以看到,是可以根据协议的字段进行过滤的
在这里插入图片描述

比如,过滤ack的包,可以看到,下面的所有包都是带ack==1的包
在这里插入图片描述

过滤http包,以及dns包,以及ssl包
在这里插入图片描述

4.4 其他常用过滤

过滤HTTP的GET请求和POST请求,以及HTTP过滤内容

http.request.method == GET
在这里插入图片描述

http.request.method == POST
在这里插入图片描述

过滤HTTP协议的响应包,响应码是200的

http contains "HTTP/1.1 200 OK"
在这里插入图片描述

用contains字段过滤内容,如 过滤HTTP协议Content-Type类型,Content-Type: text/plain;tcp包含admin

http contains "Content-Type: text/plain"
在这里插入图片描述

tcp contains "admin"
在这里插入图片描述

过滤包的指定的字段:协议[其实位置:长度]

举个例子:tcp协议,从第2个字符开始(起始是0,不是1,这个2是偏移的位置),长度为3,内容为01,bb,eb

tcp[2:3] == 01:bb:eb
在这里插入图片描述

过滤规则是支持正则语法的,使用的是matches,不是contains

例如:tcp中包含user字段的,tcp matches ".GET",是包含GET的包,.GET是正则表达式,如果用tcp contains ".GET",contains把.GET当初字符串

在这里插入图片描述

5.流查看

数据包位置,点击鼠标右键,可以跟进不同的协议选择不同的流查看,我们可以先选tcp流进行跟踪。
在这里插入图片描述

点击之后,会看到这条tcp流上的所有请求和回复
在这里插入图片描述
在这里插入图片描述

有些流是密文的,查看的时候就是乱码,比如ssl的,如果follow的是ssl的流,查看的是空。
在这里插入图片描述
在这里插入图片描述

6.数据包保存

wireshark可以把抓到的数据包保存成文件,点击File,可以把抓到是数据包保存save/save as,也可以把之前保存的数据包打开open
在这里插入图片描述

可以选择保存特殊的包Export Specified Packetes,在下面选择Selected packet选择你要保存的包。
在这里插入图片描述

说明

Linux下也可以安装wireshark:

yum install wireshark

yum install wireshark-gnome

如果需要图形界面,要UI支持要安装gnome,Linux下重点讲一下另外一种抓包工具tcpdump,可以保存结果,在wireshark中查看,后面讲。

wiresharkd的基本常用用法,足够进行协议分析。

总结

掌握wireshark使用,在网络数据分析中是非常有用的

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未名编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值