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