Wireshark 具体某种协议的分析

以下是 Wireshark 针对特定协议的分析示例和详细配置教程,涵盖常见的 HTTP、DNS 和 TCP 协议。每种协议的分析过程略有不同,以下逐一介绍:


1. HTTP 协议分析

HTTP 协议是最常见的网络通信协议之一,用于分析网站请求和响应。

(1) 捕获 HTTP 流量
  1. 启动 Wireshark,选择合适的网络接口。

  2. 使用捕获过滤器只捕获 HTTP 流量:

    复制代码
    port 80
  3. 如果是 HTTPS,需要安装服务器私钥或使用浏览器的 TLS 会话密钥解密。

(2) 分析 HTTP 流量
  1. 显示过滤器 :捕获完成后,可以使用显示过滤器精确筛选:

    • 只显示 HTTP 请求和响应:

      复制代码
      http
    • 只显示 GET 请求:

      复制代码
      http.request.method == "GET"
    • 只显示 POST 请求:

      复制代码
      http.request.method == "POST"
  2. 查看 HTTP 请求/响应

    • 在数据包列表中找到 HTTP 请求,点击后查看下方的详细信息:
      • Request Line:包含请求方法(如 GET/POST)、URL 和协议版本。
      • Headers:如 Host、User-Agent、Cookie 等。
      • Body:POST 请求的参数或提交数据。
(3) 跟踪 HTTP 会话

右键点击一个 HTTP 数据包,选择 Follow > HTTP Stream,可以看到完整的请求和响应对话,包括:

  • 请求的 URL。
  • 服务器返回的状态码(如 200、404)。
  • 响应内容(HTML 页面、JSON 数据等)。

2. DNS 协议分析

DNS 用于域名解析,将域名转换为 IP 地址。

(1) 捕获 DNS 流量
  1. 启动捕获,设置捕获过滤器为:

    复制代码
    port 53

    这将只捕获 DNS 查询和响应数据包。

  2. 打开浏览器访问任意网站,产生 DNS 流量。

(2) 分析 DNS 流量
  1. 使用显示过滤器筛选 DNS 流量:

    复制代码
    dns
  2. 在数据包列表中,查看 DNS 查询和响应:

    • 查询(Query):显示客户端请求的域名。
    • 响应(Response):包含解析后的 IP 地址。
    • 常见字段:
      • Transaction ID:标识一次 DNS 请求和响应。
      • Query Name:请求的域名。
      • Answer Section:解析结果的 IP 地址。
(3) 定位 DNS 问题
  • 如果没有响应包,可能是 DNS 服务器不可用。
  • 检查是否有异常的域名请求(如可疑的恶意软件流量)。

3. TCP 协议分析

TCP 是一种面向连接的传输协议,常用于 HTTP、HTTPS 等。

(1) 捕获 TCP 流量
  1. 设置捕获过滤器为:

    复制代码
    tcp
  2. 开始捕获,运行一个基于 TCP 的应用程序(如浏览网页、FTP 传输)。

(2) 分析 TCP 数据包
  1. 使用显示过滤器筛选特定的 TCP 流量:

    • 只显示从指定 IP 发出的流量:

      复制代码
      ip.src == 192.168.1.1
    • 只显示某个端口的 TCP 流量:

      复制代码
      tcp.port == 443
  2. 检查 TCP 三次握手(Three-Way Handshake):

    • SYN:客户端发起连接请求。
    • SYN-ACK:服务器响应连接请求。
    • ACK:客户端确认。
  3. 检查数据包标志位:

    • RST:连接被重置。
    • FIN:连接正常关闭。
    • ACK:确认数据接收。
(3) 跟踪 TCP 会话
  • 右键点击一个 TCP 数据包,选择 Follow > TCP Stream
  • 查看整个会话的通信数据,例如 HTTP 请求的完整报文。
(4) 排查 TCP 问题
  • 丢包和重传
    • 查看数据包是否有 [TCP Retransmission]
  • 连接中断
    • 查看是否存在异常的 RST 标志。

4. 配置 HTTPS 解密(进阶)

HTTPS 流量需要解密才能分析具体内容。

(1) 前置条件
  • 拥有服务器的 SSL/TLS 私钥文件。
  • 或者获取浏览器的会话密钥(通过环境变量 SSLKEYLOGFILE)。
(2) 配置解密
  1. 打开 Wireshark,点击 Edit > Preferences
  2. 选择 Protocols > TLS
  3. (Pre)-Master-Secret log filename 中,指定会话密钥文件路径。
  4. 重新加载捕获的数据包,即可解密 HTTPS 流量。

5. 常见问题排查场景

(1) 网络延迟问题
  • 通过 TCP 流量,计算数据包的往返时间(RTT)。
  • 检查是否有 重传超时
(2) DNS 解析慢
  • 检查 DNS 查询和响应的时间差。
  • 查看是否有多次未响应的查询。
(3) HTTP 请求慢
  • 检查 HTTP 响应时间。
  • 分析是否是服务器处理时间过长导致。
(4) 异常流量
  • 检查是否有大量重复的请求(如 DoS 攻击)。
  • 查看是否存在未知域名的 DNS 请求。

总结

  • 针对不同协议的分析,Wireshark 提供了强大的过滤和解码功能。
  • 常用的过滤器和解码功能可以快速定位问题根因。
  • 如果需要更详细的教程,可以针对具体场景进一步展开!
相关推荐
deeper_wind4 小时前
keeplived双击热备配置
linux·运维·网络
技术猿188702783517 小时前
实现“micro 关键字搜索全覆盖商品”并通过 API 接口提供实时数据(一个方法)
开发语言·网络·python·深度学习·测试工具
zyhomepage8 小时前
科技的成就(六十九)
开发语言·网络·人工智能·科技·内容运营
Arva .8 小时前
HTTP常见误区
网络·网络协议·http
Synfuture阳途10 小时前
终端安全管理系统为什么需要使用,企业需要的桌面管理软件
网络·安全
LUCIAZZZ11 小时前
高性能网络模式-Reactor和Preactor
java·服务器·开发语言·网络·操作系统·计算机系统
k *11 小时前
网络编程-tcp连接:服务器与客户端
服务器·网络·tcp/ip
云云32111 小时前
亚矩阵云手机:破解 Yandex 广告平台多账号风控难题的利器
网络·科技·线性代数·智能手机·矩阵
枷锁—sha11 小时前
【DVWA系列】——File Upload——High详细教程(webshell工具哥斯拉)
网络·web安全·网络安全
HCIE考证研究所13 小时前
考完数通,能转云计算/安全方向吗?转型路径与拓展路线分析
网络·安全·华为·云计算·网络工程师·华为认证·数通