原理
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 == IP
或 ip.dst eq IP
指定主机ip,源或目的: ip.host == IP
或 ip.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.addr;eth.src;eth.dst
4.2 端口过滤
端口过滤非常常用,要指明协议是tcp
还是udp
,可以用srcport
,dstport
,port
,端口可以用比较符合>
,>=
,<
,<=
,==
,eq
,例子如下:
过滤目的端口是80端口的tcp
报文
过滤源端口是443的tcp
报文
过滤端口是80的tcp
报文 或者端口是53的udp
报文
过滤源端口号大于1024的tcp
报文
加上4.1的ip过滤,用and组合一下,过滤了指定服务器80端口的报文:
可以用协议(tcp
,udp
),端口(srcport
,dstport
,port
),比较符合(>
,>=
,<
,<=
,==
,eq
)以及and
和or
任意组合,过滤你期望得到的报文。
【最详细】Wireshark使用教程(二):https://developer.aliyun.com/article/1540679