一、Wireshark简介与安装
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
官网下载地址:https://www.wireshark.org/download.html
安装Wireshark的过程中也会选择安装WinPCAP(winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力)
二、Wireshark抓包分析
注:本次Wireshark版本为Wireshark-win64-2.0.3
1、开始界面
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
(这里选择的是以太网)
2、Wireshark 窗口介绍
--->Display Filter(显示过滤器), 用于过滤
使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
过滤器有两种:
一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置
过滤表达式的规则
(1). 协议过滤
比如TCP,只显示TCP协议。
(2). IP 过滤
比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,
ip.dst==192.168.1.102, 目标地址为192.168.1.102
(3). 端口过滤
tcp.port ==80, 端口为80的
tcp.srcport == 80, 只显示TCP协议的愿端口为80的。
(4). Http模式过滤
http.request.method=="GET", 只显示HTTP GET方法的。
(5). 逻辑运算符为 AND/ OR
常用的过滤表达式
过滤表达式 | 用途 |
http | 只查看HTTP协议的记录 |
ip.src ==192.168.1.102 or ip.dst==192.168.1.102 | 源地址或者目标地址是192.168.1.102 |
--->Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 可以看到不同的协议用了不同的颜色显示。
你也可以修改这些显示颜色的规则, View ->Coloring Rules.
->各行信息分别为
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
wireshark与对应的OSI七层模型
TCP包的具体内容
从下图可以看到wireshark捕获到的TCP包中的每个字段:
--->Packet Details Pane(封包详细信息), 显示封包中的字段
--->Dissector Pane(16进制数据)
--->Miscellanous(地址栏,杂项)
实例分析TCP三次握手过程