LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

做开发 / 运维必看!Wireshark 抓包与数据包分析技巧

admin
2025年12月31日 22:39 本文热度 319

介绍

关键点1:Wireshark抓包基础

Wireshark是一款广泛使用的网络协议分析工具,它能够捕获网络接口上的数据包,并提供详细的协议层级解析。使用Wireshark进行抓包分析时,首先需要选择正确的网络接口进行监听,然后根据需要设置抓包过滤器来筛选特定流量。通过捕获的数据包,开发者可以深入了解网络通信的细节,诊断网络问题,分析性能瓶颈,甚至追踪安全威胁。Wireshark的图形化界面使得数据包的查看和分析变得直观,支持多种协议的解析,是网络开发与运维人员的得力助手。

关键点2:数据包分析技巧

数据包分析是使用Wireshark进行网络故障排除和性能优化的核心。在分析数据包时,需要关注数据包的时间戳、源地址和目的地址、协议类型、数据包大小以及TCP/UDP端口等信息。通过检查数据包的顺序和序列号,可以识别丢包和乱序问题。使用Wireshark的统计功能,如协议分布统计、端口号统计等,可以帮助快速定位问题所在。此外,利用Wireshark的过滤和搜索功能,可以高效地找到感兴趣的数据包,从而节省分析时间。掌握这些分析技巧,能够显著提升网络问题的诊断效率和准确性。

关键点3:高级抓包与过滤

高级抓包与过滤是Wireshark使用中的进阶技能,涉及更复杂的过滤器编写和抓包选项设置。例如,使用Display Filters可以实时过滤显示的数据包,而Expert Info可以提供更深入的数据包分析信息。此外,通过设置Capture Filters,可以在抓包阶段就过滤掉不需要的流量,从而只捕获关键数据包,减少分析时的数据量。高级用户还可以利用Wireshark的TShark命令行工具进行自动化抓包和分析,或者结合脚本语言如Python进行数据处理。掌握高级抓包与过滤技巧,可以更高效地进行网络监控和数据分析。

流程

在启动Wireshark这个网络抓包分析工具并启动数据捕获过程后,你会观察到如下所示的内容被展开显示:
在这个场景中,我正在进行无线局域网(WLAN)的数据包捕获操作,而我当前的无线网络IP地址是192.168.2.112。

image

点击某个包,可以查看具体内容,差不多刚好对于五层协议:

  • • Frame:物理层的数据帧概况。
  • • Ethernet II:数据链路层以太网帧头部信息。
  • • Internet Protocol Version 4:互联网层IP包头部信息。
  • • Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。
    User Datagram Protocol:UDP协议
  • • Hypertext Transfer Protocol:在网络通信的层面上,我们主要关注的是应用层的数据传输,而在这个特定的场景中,所使用的协议是HTTP。

一、各层分析:

若将上诉的Frame、Ethernet等展开,便能够查看到具体的传输信息。

1、物理层Frame

-Frame 5: 66 bytes on wire (528 bits), 66 bytes captured(捕获) (528 bits) on interface 0   //5号帧,对方发送66字节,实际收到66字节-Interface id: 0 (\Device\NPF_{37239901-4A63-419C-9693-97957A8232CD})     //接口id为0 -Encapsulation type: Ethernet (1)  //封装类型-Arrival Time: Jul  5, 2017 15:14:31.865685000 //捕获日期和时间(中国标准时间)-[Time shift for this packet: 0.000000000 seconds]-Epoch Time: 1499238871.865685000 seconds-[Time delta from previous captured frame: 0.006861000 seconds]  //与前一包时间间隔-[Time delta from previous displayed frame: 0.006861000 seconds]-[Time since reference or first frame: 0.613985000 seconds] //#此包与第一帧的时间间隔-Frame Number: 5                      //帧序号-Frame Length: 66 bytes (528 bits)    //帧长度-Capture Length: 66 bytes (528 bits)  //捕获字节长度 -[Frame is marked: False]             //是否做了标记-[Frame is ignored: False]            //是否被忽略-[Protocols in frame: eth:ethertype:ip:tcp] //帧内封装的协议层次结构-[Coloring Rule Name: HTTP]  //着色标记的协议名称-[Coloring Rule String: http || tcp.port == 80 || http2] //着色规则显示的字符串

2、数据链路层以太网帧头部信息:

-Ethernet II, Src: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62), Dst: IntelCor_09:65:a5 (58:fb:84:09:65:a5)- Destination: IntelCor_09:65:a5 (58:fb:84:09:65:a5) //目的MAC地址   - Source: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62) //源MAC地址(就是我电脑的MAC地址)- Type: IPv4 (0x0800)   //0x0800表示使用IP协议

image


3、互联网层IP包头部信息:

Internet Protocol Version 4, Src: 192.168.2.112, Dst: 116.211.185.142    0100 .... = Version: 4                   //IPV4协议    .... 0101 = Header Length: 20 bytes (5)  //包头长度-Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)                               //差分服务字段-Total Length: 52                      //IP包总长度-Identification: 0x3849 (14409)        //标志字段-Flags: 0x02 (Don't Fragment)          //标记字段-Fragment offset: 0                    //分的偏移量-Time to live: 128                     //生存期TTL-Protocol: TCP (6)                     //此包内封装的上层协议为TCP-Header checksum: 0xd100 [validation disabled] //头部数据的校验和-[Header checksum status: Unverified] //头部数据校验状态-Source: 192.168.2.112                //源IP地址-Destination: 116.211.185.142         //目的IP地址-[Source GeoIP: Unknown]              //基于地理位置的IP-[Destination GeoIP: Unknown]

image
image


4、传输层TCP数据段头部信息:

image
image

Transmission Control Protocol, Src Port: 60606, Dst Port: 80, Seq: 0, Len: 0-Source Port: 60606       //源端口号(ecbe)-Destination Port: 80     //目的端口号(0050)-[Stream index: 0]        -[TCP Segment Len: 0]-Sequence number: 0    (relative sequence number)  //序列号(相对序列号)(四个字节fd 3e dd a2)-Acknowledgment number: 0   //确认号(四个字节00 00 00 00)-Header Length: 32 bytes    //头部长度(0x80)-Flags: 0x002 (SYN)         //TCP标记字段-Window size value: 8192    //流量控制的窗口大小(20 00)-[Calculated window size: 8192] -Checksum: 0x97ad [unverified]   //数据段的校验和(97 ad)-[Checksum Status: Unverified]-Urgent pointer: 0      //紧急指针(00 00)-Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted  //选项(可变长度)

UDP数据段首部:

image
image

User Datagram Protocol, Src Port: 7273, Dst Port: 15030-Source Port: 7273               //源端口(1c 69)-Destination Port: 15030         //目的端口(3a 6b)-Length: 1410                    //长度(05 82)-Checksum: 0xd729 [unverified]   //校验和(d7 29)-[Checksum Status: Unverified]-[Stream index: 6335]

二、Wireshark分析数据包:

1、在过滤器中添加过滤器获得访问百度时的相关信息:

Protocol(协议):
在探讨网络通信协议时,我们可能会遇到多种不同的协议类型,包括但不限于以太网(ether)、光纤分布式数据接口(fddi)、互联网协议(ip)、地址解析协议(arp)、反向地址解析协议(rarp)、数字设备公司网络协议(decnet)、链路访问传输协议(lat)、系统通信访问(sca)、微端口控制(moprc)、微端口数据链路(mopdl),以及传输控制协议(tcp)和用户数据报协议(udp)。
如果没有特别指明是什么协议,则默认使用所有支持的协议。

Direction(方向):
备选值包括:源、目标、源与目标、源或目标
在未明确标示出来源或目的地的情况下,系统将默认以“src or dst”这一关键词进行操作。
例如,”host 10.2.2.2”与”src or dst host 10.2.2.2”是一样的。
Host(s):
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用”host”关键字。
例如,”指定源地址为10.1.1.1”与”指定源地址为主机10.1.1.1”在功能上等效。

Logical Operations(逻辑运算):
可能的值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
例如:
“not tcp port 3128 and tcp port 23”与”(not tcp port 3128) and tcp port 23”相同。
“not tcp port 3128 and tcp port 23”与”not (tcp port 3128 and tcp port 23)”不同。

格式为:

ip.addr == www.baidu.com

image
image

随后便能够获取到百度服务器的IP地址以及其他相关网络信息。

2、过滤出dns信息

在过滤框中键入dns,即可筛选出所有与DNS相关的信息。

image

在该界面220,234帧,是DNS将www.baidu.com解析为一个IP地址的数据包(被称为一个“A”记录)。**238帧表示返回一个与主机名相关的IP地址的DNS响应包。**如果客户端支持IPv4和IPv6,在该界面将会看到查找一个IPv6地址(被称为“AAAA”记录)。此时,DNS服务器将响应一个IPv6地址或混杂的信息。

238帧展示了从客户端发起请求百度到DNS服务器完成IP地址解析的完整流程,这一过程对应于DNS记录中的“A”记录类型。


3、过滤出tcp包分析:

在显示过滤框输入:ip.dst==180.97.33.108 or ip.src==180.97.33.108

image

TCP通信流程大致如下:
客户端和服务器之间TCP三次握手(4941、4942、4943帧)—->客户端请求的GET主页面(4944帧)—>服务器收到请求(4945帧)—>发送响应包(4946帧)。

说明:

  • • 客户端向服务器发送TCP请求建立连接。标识为SYN
  • • 服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK
  • • 客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK
  • • 客户端向服务器发送HTTP请求内容的过程。标识为GET
  • • 服务器相应客户端请求的过程,收到请求。标识为ACK
  • • 在4946帧中,这其实代表了服务器向客户端反馈信息的一个完整流程。


阅读原文:原文链接


该文章在 2026/1/4 18:09:32 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved