
Wireshark 是一个开源的网络协议分析器,它可以让你捕获和分析网络数据包,帮助你诊断网络问题、监控网络流量、分析协议和进行安全审计。以下是一些基本的 Wireshark 用法:
-  捕获数据包: - 打开 Wireshark,选择要捕获数据包的网络接口。
- 点击“开始”按钮开始捕获数据包。
 
-  过滤数据包: - 在 Wireshark 捕获数据包的界面上,使用过滤器来筛选你感兴趣的数据包。例如,你可以过滤出特定的 IP 地址、端口号、协议等。
 
-  分析数据包: - 查看捕获到的数据包列表,你可以看到每个数据包的详细信息,如源地址、目标地址、协议类型、数据长度等。
- 选择某个数据包,你可以查看其更详细的信息,包括数据包的原始内容、各个协议的字段、时间线等。
 
-  统计功能: - Wireshark 提供了各种统计功能,如协议分析、流量分析、会话分析等,帮助你了解网络流量的特征和趋势。
 
-  导出数据包: - 你可以将捕获到的数据包导出到文件中,以供后续分析或备份。
 
-  应用过滤器: - Wireshark 支持多种过滤器语法,你可以使用表达式来过滤出符合条件的数据包,以便更有效地分析网络流量。
 
-  颜色规则: - Wireshark 可以根据预定义的颜色规则对数据包进行着色,帮助你快速识别不同类型的数据包。
 
-  统一分析平台: - Wireshark 不仅仅是一个捕获和分析网络数据包的工具,它还是一个强大的平台,支持各种插件和扩展,可以满足不同用户的需求。
 
以上是 Wireshark 的基本用法,它可以帮助你深入了解网络通信,并解决各种与网络相关的问题。

界面 重点
1、过滤器
 2、数据包列表
 3、数据包详细信息
过滤器表达式的规则
Wireshark过滤器表达式是一种强大的工具,用于在捕获和分析网络数据包时过滤特定的流量。以下是Wireshark过滤器表达式的规则:
- 基本语法:
 过滤器表达式由一个或多个条件组成,这些条件可以是字段名、比较运算符和值。条件之间可以使用逻辑运算符(如and、or和not)组合。
例如:
ip.addr == 192.168.1.1 and tcp.port == 80
- 字段名:
 Wireshark支持许多预定义的字段名,用于表示数据包的不同部分。例如:
- ip.addr:表示IP地址
- ip.src:表示源IP地址
- ip.dst:表示目标IP地址
- tcp.port:表示TCP端口
- udp.port:表示UDP端口
- http.request.method:表示HTTP请求方法
- 比较运算符:
 Wireshark支持以下比较运算符:
- ==:等于
- !=:不等于
- <:小于
- <=:小于等于
- >:大于
- >=:大于等于
- contains:包含(适用于字符串)
- matches:匹配(适用于正则表达式)
例如:
tcp.port >= 1024
http.request.method == "GET"
- 逻辑运算符:
 Wireshark支持以下逻辑运算符:
- and:逻辑与
- or:逻辑或
- not:逻辑非
例如:
ip.src == 192.168.1.1 and not tcp.port == 22
- 使用括号:
 为了确保正确的运算顺序,可以使用括号来分组条件。
例如:
(ip.src == 192.168.1.1 or ip.src == 192.168.1.2) and tcp.port == 80
- 使用范围:
 可以使用范围运算符([])来匹配一系列值。
例如:
tcp.port in {80, 443}
- 使用通配符:
 可以使用通配符(*)来匹配字符串中的任意字符。
例如:
http.request.uri contains "*.jpg"
- 使用正则表达式:
 可以使用matches运算符来匹配正则表达式。
例如:
http.request.uri matches ".*\.(jpg|png)$"
熟练掌握Wireshark过滤器表达式的规则,可以帮助您更有效地捕获和分析网络流量。在实际应用中,可以根据需要组合使用这些规则来构建复杂的过滤条件。
数据包列表
数据包详细信息 示例1:传输层

数据包详细信息 示例2: TCP三次握手

TCP三次握手是TCP协议用于建立连接的过程,通过三次交互来确认双方的发送能力和接收能力,确保连接的可靠性。以下是TCP三次握手的详细过程:
TCP三次握手过程
- 第一次握手:客户端发送一个SYN包(同步序列编号)到服务器,并进入SYN_SENT状态,等待服务器确认。
- 第二次握手:服务器收到SYN包后,发送一个SYN+ACK包(同步确认)给客户端,确认客户端的SYN,并进入SYN_RCVD状态。
- 第三次握手:客户端收到服务器的SYN+ACK包后,发送一个ACK包(确认)给服务器,确认服务器的SYN,此时客户端和服务器都进入ESTABLISHED状态,完成连接建立。
TCP三次握手的作用
- 确保连接的可靠性:通过三次握手,双方可以确认彼此的发送和接收能力,避免历史连接或错误连接的建立。
- 防止数据丢失或重复发送:三次握手的过程确保了连接的正确建立,有助于数据的可靠传输。
- 同步连接双方的序列号和确认号:在握手过程中,双方交换序列号和确认号,为后续的数据传输做准备。
通过以上分析,我们可以看到TCP三次握手不仅是建立连接的关键步骤,也是确保网络通信可靠性的重要机制。
项目实战1:
参考:https://blog.csdn.net/zzwwhhpp/article/details/113077747
 https://mp.weixin.qq.com/s?__biz=MjM5MTQ0MTQ2Mg==&mid=2650946821&idx=2&sn=25661a3bc7ad648bc7f244a577caa1d1&chksm=bc3435ebdac012dcd1521256bbb11785876ed4175c55153c8a621a693b042737f54f0a60628a#rd