1、wireshark 介绍
1.1下载安装地址
1.2 界面基本介绍


View -->Coloring Rules。如下所示
1.3WireShark 主要分为这几个界面
1.3.1 Display Filter(显示过滤器), 用于设置过滤条件进行数据包列表过滤。菜单路径: Analyze -->Display Filters。
1.3.2 Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳, 源地址,目标地址,协议,长度,以及数据包信息。 不同协议的数据包使用了不同的颜色区 分显示。
1.3.3 Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详 细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协 议中的每一个字段。各行信息分别为
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层 IP 包头部信息
(4)Transmission Control Protocol: 传输层 T 的数据段头部信息,此处是 TCP
(5)Hypertext Transfer Protocol: 应用层的信息,此处是 HTTP 协议
.1.3.4 Dissector Pane(数据包字节区)
1.4 过滤器
由于 Wireshark 直接捕获底层网络数据包,导致其捕获的数据包数量通常较大。为了便 于筛选数据包,去除冗余的信息,Wireshark 提供了两种好用的过滤器,便于我们有针对性 的对数据包进行筛选分析。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
两种过滤器:捕获过滤器,显示过滤器。
(1)捕获过滤器:提前设置需要抓取的数据包规则,减小报文的体积。
操作路径:Capture(捕获)-->Options(选项)-->Capture Filter(捕获过滤器)
进入捕获>捕获过滤器,wireshark 已经提供了一些常见的过滤规则。
语法规则: 语法:
<**Protocol><Direction><Host(s)><Value><LogicalOperations><Otherexpression>**
常用捕获过滤语句举例:
只显示目的 TCP 端口为 8080 的数据包: tcp.dstport == 8080
只显示来源 IP 地址为 192.168.171.201 的数据包: ip.src == 192.168.1.131 只显示目的 P 地址为 192.168.5.231 的数据包: ip.dst == 192.168.5.231
只捕获主机 192.168.5.001 的 http 流量: ip.addr == 192.168.5.001 and http
(2)显示过滤器:对已经抓取的报文进行筛选过滤,可以在捕获过程中或者捕获后随时 更改,比捕获过滤器功能更强大。
语法规则: 语法:
<**Protocol><String1><String2><Comparisonoperator><Value><LogicalOperations><Oth erexpression>**
直接过滤框中输入过滤规则
常用显示过滤语句举例:
筛选含有 IP 地址 192.168.0.1 的数据包 ip.addr==192.168.0.1
筛选源地址是 192.168.171.1 的数据包 ip.src==192.168.171.1
筛选目的地址是 192.168.171.1 的数据包 ip.dst==192.168.0.1
只显示含有 80 端口的数据包 tcp.port==80
所有的 HTTP POST 请求
http.request.method=="POST"
URL 中包含 baidu 的 http 请求
http.request.uri contains"baidu"
1.5 wireshark 过滤器表达式的规则
上述介绍了捕获过滤器和显示过滤器的基本使用方法。在组网不复杂或者流量不大情况 下,使用显示器过滤器进行抓包后处理就可以满足我们使用。下面介绍一下两者间的语法以 及它们的区别。
1、捕获过滤器语法和实例
抓包过滤器类型 Type(host、net、port)、方向 Dir(src、dst)、协议 Proto(ether、 ip、tcp、 udp、http、icmp、ftp 等)、逻辑运算符(&& 与、|| 或、!非)
(1)协议过滤
比较简单,直接在抓包过滤框中直接输入协议名即可。
tcp,只显示 TCP 协议的数据包列表 http,只查看 HTTP 协议的数据包列表 icmp,只显示 ICMP 协议的数据包列表
(2)IP 过滤 host 192.168.1.104
src host 192.168.1.104
dst host 192.168.1.104
(3)端口过滤
port 80
src port 80
dst port 80
(4)逻辑运算符&& 与、|| 或、!非
src host 192.168.1.104 && dst port 80 抓取主机地址为 192.168.1.80、目的端口为
80 的数据包
host 192.168.1.104 || host 192.168.1.102 抓 取 主 机 为 192.168.1.104 或 者 192.168.1.102 的数据包
!broadcast 不抓取广播数据包
2、显示过滤器语法和实例
(1)比较操作符
比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。
(2)协议过滤
比较简单,直接在 Filter 框中直接输入协议名即可。注意:协议名称需要输入小写。
tcp,只显示 TCP 协议的数据包列表
http,只查看 HTTP 协议的数据包列表
如: 过滤 http 协议的请求方式
http.request.method=="GET"
http.request.method=="POST"
http.request.uri contains admin #url 中包含 admin 的
http.request.code==404 #http 请求状态码的
icmp,只显示 ICMP 协议的数据包列表
(3) ip 过滤
ip.src ==192.168.1.104 显示源地址为 192.168.1.104 的数据包列表 ip.dst==192.168.1.104, 显示目标地址为 192.168.1.104 的数据包列表
ip.addr == 192.168.1.104 显示源 IP 地址或目标 IP 地址为 192.168.1.104 的数据包列表
(4)端口过滤
tcp.port ==80, 显示源主机或者目的主机端口为 80 的数据包列表。
tcp.srcport == 80, 只显示 TCP 协议的源主机端口为 80 的数据包列表。tcp.dstport == 80,只显示 TCP 协议的目的主机端口为 80 的数据包列表。
(5) Http 模式过滤
http.request.method=="GET", 只显示 HTTP GET 方法的。
(6)逻辑运算符为 and/or/not
过滤多个条件组合时,使用 and/or。比如获取 IP 地址为 192.168.1.104 的 ICMP 数据包 表达式为 ip.addr == 192.168.1.104 and icmp
通过连接符可以把上面的命令连接在一起,比如:
ip.src==192.168.1.104 and http.request.method=="POST"
(7)按照数据包内容过滤。假设我要以 IMCP 层中的内容进行过滤,可以单击选中界面 中的码流,在下方进行选中数据。如下
选中 Select 后在过滤器中显示如下
后面条件表达式就需要自己填写。如下我想过滤出 data 数据包中包含"abcd"内容的数据 流。包含的关键词是 contains 后面跟上内容。
2、 参考使用
对 捕获过滤器和显示过滤器具体的使用请查看参考手册https://wiki.wireshark.org/CaptureFilters
3、数据流追踪
我们的一个完整的数据流一般都是由很多个包组成的,所以,当我们想查看某条数据包 对于的数据流的话,我们就可以:右键——>追踪流,然后就会有 TCP 流、UDP 流、SSL 流、 HTTP 流。当你这个数据包是属于哪种流,就可以选择对应的流。

当我们选择了追踪流时,会弹出该流的完整数据流。还有这个数据流中包含 的数据包。顶部的过滤器就是该流的过滤规则
4、专家信息说明
功能:可以对数据包中特定的状态进行警告说明。错误(errors) 警 告(Warnings) 标记(not es) 对话(chats)路 径: 分析——>专家信

5、数据包的统计分析
分析一栏中,可以对抓取的数据包进行进一步的分析,比如抓取的数据包的 属性、已解析的地址、协议分级等等。
已解析的地址
功能:统计通信流量中已经解析了的地址 路径:统计——>已解析的地址
协议分级
功能:统计通信流量中不同协议占用的百分比 路径:统计->协议分级
统计摘要说明
功能:可以对抓取的数据包进行全局统计,统计出包的一些信息
路径:统计->捕获文件属性
5.1 数据包分析过程中的一些小技巧
①大量 404 请求——>目录扫描
②大量 select....from 关键字请求——>SQL 注入
③连续一个 ip 的多端口请求或多个 ip 的几个相同端口请求——>端口扫描
④黑客通过爆破账户和密码,则是 post 请求 http.request.method==POST
⑤黑 客 修 改 文 件 , ip.addr==219.239.105.18 and http.request.uri matches
"edit|upload|modify"
⑥如 果 是 用 菜 刀 连 接 的 包 ,则 是 post 请 求 ip.addr==219.239.105.18 and http.request.method==POST
6、关于 Wireshark 几个好用的技巧
技巧 1:直接选中具体的数据摘要或者详情信息,右键选择作为过滤器。
技巧 2:选择需要具体分析的数据包,然后右键选择“追踪流”,选择协议,就可以看 到与这对 ip 和端口以及协议相同的全部通信。
技巧 3:文件-导出对象,可以看到全部的数据,可以对下载的数据进行分析和下载