Wireshark(1)

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

感谢泷羽sec 团队 的教学

视频地址:wireshark(1)基本介绍和数据传输逻辑_哔哩哔哩_bilibili

本文将对Wireshark进行一个基本介绍以及数据传输的底层逻辑。

一. 什么是 Wireshark?

Wireshark 是开源的网络协议分析器,前身为 Ethereal,由 Gerald Combs 于 1998 年首次发布。它能够捕获网络中的数据包,并以详细的方式展示这些数据,便于用户分析网络通信的细节。


二. Wireshark 的主要功能

1.实时数据包捕获

  • 支持捕获网络接口上的实时流量。
  • 能捕获局域网内的各种协议数据。

2.协议解析

  • 支持上千种网络协议(如 TCP/IP、HTTP、FTP、DNS、TLS 等)。
  • 自动解析协议结构并提供详细解读。

3.数据包过滤

  • 提供强大的捕获过滤器(Capture Filter)和显示过滤器(Display Filter)。
  • 可按 IP 地址、端口号、协议类型、数据内容等条件过滤。

4.数据包分析

  • 通过统计功能分析流量分布、协议使用情况和网络延迟。
  • 支持 TCP 重组、SSL/TLS 解密等高级功能。

5.数据存储与导出

  • 捕获的数据可保存为 .pcap 或 .pcapng 格式,便于后续分析。
  • 支持导出特定数据包或字段。

6.支持多平台

  • 可运行在 Windows、Linux、macOS 等操作系统上。

三. Wireshark 的应用场景

1.网络故障诊断

  • 分析网络延迟、丢包和带宽问题。
  • 排查网络连接失败的原因。

2.安全审计与渗透测试

  • 检测潜在的网络攻击,如 ARP 欺骗、DNS 劫持等。
  • 捕获和分析恶意流量。

四. 如何安装 Wireshark

1.Windows 安装

  1. 前往 Wireshark 官网 下载对应版本。
  2. 运行安装程序,根据提示完成安装。
  3. 可选安装 npcap(用于数据包捕获)和 Wireshark 的 CLI 工具。

2.Linux 安装

  • 使用包管理器安装:

    bash 复制代码
    yum install wireshark
  • 安装完成后,确保用户有权限运行 Wireshark:

    bash 复制代码
    sudo usermod -aG wireshark <username>

抓取eth0接口流量

bash 复制代码
sudo tshark -i eth0

macOS 安装

  • 使用 Homebrew 安装:

    bash 复制代码
    brew install --cask wireshark

五. Wireshark 的基本操作

1.启动 Wireshark

  • 打开 Wireshark 后,选择要监控的网络接口。
  • 双击需要监听的接口开始捕获数据包。

2.使用过滤器

  • 捕获过滤器 :在开始捕获前设置,例如只捕获 HTTP 流量:

    bash 复制代码
    port 80
  • 显示过滤器 :在捕获后对数据包进行筛选,例如只显示 TCP 流量:

    bash 复制代码
    tcp

分析数据包

  • 双击数据包查看详细信息。
  • 使用右键菜单跟踪 TCP 流(Follow TCP Stream)查看会话完整性。

保存与导出

  • 捕获完成后,点击 File > Save As 保存数据包文件。
  • 使用 Export Specified Packets 导出特定流量。

六.数据传输的底层逻辑

1. 分层模型详解

数据传输依赖 OSI 模型 或 TCP/IP 模型。通过分层设计,每一层都关注特定功能,且互相独立。

OSI 七层模型:

物理层

  • 负责实际信号传输。
  • 包括电缆、光纤、无线信号等。
  • 传输比特流(0 和 1),定义电压、电流、光信号的强弱等物理特性。
  • 示例:USB、以太网(PHY 部分)、蓝牙。

数据链路层

  • 负责点到点的帧传输,提供错误检测。
  • 将数据封装为帧,包含源和目的 MAC 地址。
  • 子层:
    • 逻辑链路控制(LLC):负责流量控制、帧同步。
    • 媒体访问控制(MAC):控制物理设备访问传输介质。
  • 示例:以太网(MAC 部分)、Wi-Fi。

网络层

  • 负责路由与逻辑地址(IP 地址)。
  • 数据以数据包(Packet)形式传输。
  • 提供跨网络的通信路径选择。
  • 示例:IP(IPv4、IPv6)、ICMP(Ping 命令)。

传输层

  • 提供端到端通信。
  • TCP(Transmission Control Protocol):
    • 可靠传输,支持确认(ACK)、重传、流量控制。
  • UDP(User Datagram Protocol):
    • 无连接协议,速度快但不保证可靠性。
  • 数据以段(Segment)形式传输。
  • 示例:HTTP 用 TCP;DNS、视频流用 UDP。

会话层

  • 管理应用程序之间的会话。
  • 负责会话建立、管理和终止。
  • 示例:SQL 数据库的会话管理。

表示层

  • 处理数据格式化、加密、解密和压缩。
  • 示例:JPEG、GIF(数据格式);TLS(加密)。

应用层

  • 面向用户,提供网络服务。
  • 示例:HTTP、FTP、SMTP。

TCP/IP 模型:

  • 应用层:对应 OSI 的应用、表示、会话层。
  • 传输层:对应 OSI 的传输层。
  • 网络层:对应 OSI 的网络层。
  • 网络接口层:对应 OSI 的数据链路层和物理层。

2. 数据封装与解封装

发送端的封装过程:

应用层

  • 应用生成数据(如网页请求)。
  • 示例:GET /index.html HTTP/1.1

传输层

  • 数据分段,加 TCP/UDP 头部:

    • TCP:源端口、目标端口、序列号、校验和。
  • 传输段示例:

    bash 复制代码
    |TCP Header| 应用数据 |

网络层

  • 为每段数据添加 IP 头:

    • 源 IP 地址、目标 IP 地址、TTL 等。
  • 数据包示例:

    bash 复制代码
    |IP Header| TCP Header| 应用数据 |

数据链路层

  • 加入帧头和帧尾:

    • 帧头包含源 MAC 地址、目的 MAC 地址。
  • 数据帧示例:

    bash 复制代码
    |帧头| IP Header| TCP Header| 应用数据 | 帧尾 |

物理层

  • 转换为电信号或光信号进行传输。

接收端的解封装过程:

数据逐层解封,剥离各层头部信息,最终交给应用。


3. 可靠传输机制

TCP 的可靠性:

三次握手

  • 确保双方建立连接。
  • SYN、SYN-ACK、ACK 确认机制。

错误检测与校验

  • 使用校验和确保数据完整性。
  • CRC 检测物理层和数据链路层错误。

重传机制

  • 超时重传:发送端等待确认超时后重发数据。
  • 快速重传:接收端发现数据丢失时发送重复 ACK。

流量控制

  • 滑动窗口协议动态调整传输速率。
  • 防止接收端因处理能力不足而丢包。

拥塞控制

  • 避免网络过载,使用慢启动和拥塞避免算法。

4.路由与寻址

逻辑地址与物理地址:

  • IP 地址:用于网络层,确定网络中设备的位置。
  • MAC 地址:用于数据链路层,局域网内标识设备。

路由过程:

  • 路由器根据 IP 地址转发数据包。
  • 动态路由协议(如 OSPF、BGP)更新路由表。

地址解析协议(ARP):

  • 将 IP 地址映射为 MAC 地址。
  • 示例:发送 ARP 请求广播,接收设备返回其 MAC 地址。

数据多路复用与分用

多路复用

  • 多个应用通过一个网络连接传输数据。
  • 使用端口号区分不同应用。

分用

  • 接收端根据端口号将数据交给对应的应用。

6. 网络安全保障

加密

  • 使用 TLS、IPSec 等协议加密数据。

身份认证

  • 公钥/私钥机制验证身份(如 SSH)。

防篡改

  • HMAC 等校验完整性。

7. 底层硬件支持

传输介质

  • 有线:双绞线、光纤。
  • 无线:Wi-Fi、5G。

网络设备

  • 交换机:基于 MAC 地址转发数据。
  • 路由器:基于 IP 地址转发数据。

网卡

  • 实现设备与网络的连接。
相关推荐
VVVVWeiYee1 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
Clockwiseee1 小时前
RCE常见姿势
安全·web安全·网络安全
小伍_Five2 小时前
透视网络世界:计算机网络习题的深度解析与总结【前3章】
服务器·网络·计算机网络
网络安全(king)4 小时前
网络安全攻防学习平台 - 基础关
网络·学习·web安全
李白你好5 小时前
家用无线路由器的 2.4GHz 和 5GHz
运维·网络
嵌入(师)5 小时前
嵌入式驱动开发详解21(网络驱动开发)
网络·驱动开发
Hacker_Nightrain5 小时前
网络安全与加密
安全·web安全
柒烨带你飞5 小时前
路由器的原理
网络·智能路由器·php
xserver25 小时前
ensp 基于EASY IP的公司出口链路配置
网络·tcp/ip·智能路由器
枫零NET5 小时前
学习思考:一日三问(学习篇)之匹配VLAN
网络·学习·交换机