文章目录
- 一、wireshark网络抓包工具
- 1.1、下载地址
- 1.2、Wireshark可以做什么
- 1.3、Wireshark不可以做什么
- 二、wireshark开始进行抓包
- 2.1、wireshark开始界面
- 2.2、wireshark抓包界面介绍
- 2.3、数据包详细信息
- 2.4、TCP包的具体内容
- 三、wireshark显示过滤
- 四、wireshark过滤表达式的规则
- 4.1、抓包过滤器语法和实例
- 4.1.1、协议过滤
- 4.1.2、IP过滤
- 4.1.3、端口过滤
- 4.1.4、逻辑运算符&&与、||或、!非
- 4.2、显示过滤器语法和实例
- 4.2.1、比较操作符
- 4.2.2、协议过滤
- 4.2.3、ip过滤
- 4.2.4、端口过滤
- 4.2.5、Http模式过滤
- 4.2.6、逻辑运算符为 `and/or/not`
wireshark
作为一款高效免费的抓包工具,wireshark可以捕获并描述网络数据包,其最大的优势就是免费、开源以及多平台支持,在GNU通用公共许可证的保障范围下,用户可以免费获取软件和代码,并拥有对其源码修改和定制的权利,如今其已是全球最广泛的网络数据包分析软件之一。可以截取各种网络封包,从而显示网络封包的详细信息。
一、wireshark网络抓包工具
Wireshark
(前称Ethereal
)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark
使用WinPCAP
作为接口,直接与网卡进行数据报文交换。
网络封包分析软件的功能可想像成 “电工技师使用电表来量测电流、电压、电阻” 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。
1.1、下载地址
Wireshark
的官方下载地址:https://www.wireshark.org/download.html,下载完成之后一路next
,进行安装。
1.2、Wireshark可以做什么
- 网络管理员使用
Wireshark
检测网络问题 - 网安工程师用
Wireshark
检查信息安全相关问题 - 开发者使用
Wireshark
为新的通信协议调试 - 普通用户使用
Wireshark
学习网络协议相关知识 - 使用
Wireshark
应付TCP/IP
课程要求
1.3、Wireshark不可以做什么
-
wireshark
不是侦测软件,对于网络上的异常流量行为,不会警示或者任何提示。 -
wireshark
不会对网络数据包产生内容的修改 - 它只会反映出当前流通的数据包信息。 -
wireshark
本身也不会提交数据包至网络上。就是说你只能查看数据包,不能修改或转发。
二、wireshark开始进行抓包
2.1、wireshark开始界面
wiershark是用来捕捉电脑上的某一个网卡的网络包,而电脑上具有多个网卡的时候就需要进行从着多个网卡中选择,你需要的一个网卡。
2.2、wireshark抓包界面介绍
WireShark
主要分为这几个界面
-
Display Filter
(显示过滤器), 用于过滤 -
Packet List Pane
(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表 -
Packet Details Pane
(封包详细信息), 显示封包中的字段 -
Dissector Pane
(16进制数据) -
Miscellanous
(地址栏,杂项)
2.3、数据包详细信息
此处以http协议
说明:
信息层 | 解释 |
Frame: | 物理层的数据帧概况 |
Ethernet II: | 数据链路层以太网帧头部信息 |
Internet Protocol Version 4: | 互联网层IP包头部信息 |
Transmission Control Protocol: | 传输层T的数据段头部信息,此处是TCP |
Hypertext Transfer Protocol: | 应用层的信息 |
2.4、TCP包的具体内容
从下图中可以看出Wireshark
捕获到的TCP
包的每个字段。
三、wireshark显示过滤
使用显示过滤的原因,在我们者初次使用wireshark
时,将会产生大量的冗余数据,想想这么多的数据让我们在其中找到我们需要的部分,这样就显得非常的难。
相对而言过滤器就会在大量的数据中能够让我们从中找到我们所需要的数据信息。
过滤器有两种:
- 显示过滤器,就是主界面上那个,用于在捕获的记录中找到所需要的记录
- 捕获过滤器:用来过滤捕获的封 包,以避免捕获的太多记录。在捕获→捕获过滤器
四、wireshark过滤表达式的规则
4.1、抓包过滤器语法和实例
- 抓包过滤器类型
Type(host、net、port)
- 方向
Dir(src、dst)
- 协议
Proto(ip、tcp、udp、http、icmp、ftp等)
- 逻辑运算符
(&& 与、|| 或、!非)
4.1.1、协议过滤
协议过滤比较简单,直接在抓包过滤框中直接输入协议名即可。例如:tcp
只能显示TCP
协议的数据包http
只查看HTTP
协议的数据包icmp
只显示ICMP
协议的数据包
4.1.2、IP过滤
host 192.168.1.104 src host 192.168.1.104 dst host 192.168.1.104
4.1.3、端口过滤
port 80 src port 80 dst port 80
4.1.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 不抓取广播数据包
4.2、显示过滤器语法和实例
4.2.1、比较操作符
比较操作符==等于、!=不等于、>大于、<小于、>=大于等于、<=小于等于。
4.2.2、协议过滤
比较简单,直接在Filter
框中直接输入协议名即可。注意:协议名称需要输入小写。tcp
,只显示TCP
协议的数据包列表 http
,只查看HTTP
协议的数据包列表icmp
,只显示ICMP
协议的数据包列表
4.2.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.2.4、端口过滤
tcp.port ==80
, 显示源主机或者目的主机端口为80
的数据包列表。
tcp.srcport == 80
, 只显示TCP
协议的源主机端口为80
的数据包列表。
tcp.dstport == 80
,只显示TCP
协议的目的主机端口为80
的数据包列表。
4.2.5、Http模式过滤
http.request.method=="GET"
, 只显示HTTP GET
方法的。
4.2.6、逻辑运算符为 and/or/not
过滤多个条件组合时,使用and/or
。比如获取IP地址为192.168.1.104
的ICMP
数据包表达式为ip.addr == 192.168.1.104 and icmp