做开发 / 运维必看!Wireshark 抓包与数据包分析技巧
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
介绍关键点1:Wireshark抓包基础 Wireshark是一款广泛使用的网络协议分析工具,它能够捕获网络接口上的数据包,并提供详细的协议层级解析。使用Wireshark进行抓包分析时,首先需要选择正确的网络接口进行监听,然后根据需要设置抓包过滤器来筛选特定流量。通过捕获的数据包,开发者可以深入了解网络通信的细节,诊断网络问题,分析性能瓶颈,甚至追踪安全威胁。Wireshark的图形化界面使得数据包的查看和分析变得直观,支持多种协议的解析,是网络开发与运维人员的得力助手。 关键点2:数据包分析技巧 数据包分析是使用Wireshark进行网络故障排除和性能优化的核心。在分析数据包时,需要关注数据包的时间戳、源地址和目的地址、协议类型、数据包大小以及TCP/UDP端口等信息。通过检查数据包的顺序和序列号,可以识别丢包和乱序问题。使用Wireshark的统计功能,如协议分布统计、端口号统计等,可以帮助快速定位问题所在。此外,利用Wireshark的过滤和搜索功能,可以高效地找到感兴趣的数据包,从而节省分析时间。掌握这些分析技巧,能够显著提升网络问题的诊断效率和准确性。 关键点3:高级抓包与过滤 高级抓包与过滤是Wireshark使用中的进阶技能,涉及更复杂的过滤器编写和抓包选项设置。例如,使用Display Filters可以实时过滤显示的数据包,而Expert Info可以提供更深入的数据包分析信息。此外,通过设置Capture Filters,可以在抓包阶段就过滤掉不需要的流量,从而只捕获关键数据包,减少分析时的数据量。高级用户还可以利用Wireshark的TShark命令行工具进行自动化抓包和分析,或者结合脚本语言如Python进行数据处理。掌握高级抓包与过滤技巧,可以更高效地进行网络监控和数据分析。 流程在启动Wireshark这个网络抓包分析工具并启动数据捕获过程后,你会观察到如下所示的内容被展开显示: ![]() 点击某个包,可以查看具体内容,差不多刚好对于五层协议:
一、各层分析:若将上诉的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协议 ![]() 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] ![]() ![]() 4、传输层TCP数据段头部信息:![]() ![]() 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数据段首部:![]() ![]() 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(协议): Direction(方向): Logical Operations(逻辑运算): 格式为:
![]() ![]() 随后便能够获取到百度服务器的IP地址以及其他相关网络信息。 2、过滤出dns信息在过滤框中键入 ![]() 在该界面220,234帧,是DNS将www.baidu.com解析为一个IP地址的数据包(被称为一个“A”记录)。**238帧表示返回一个与主机名相关的IP地址的DNS响应包。**如果客户端支持IPv4和IPv6,在该界面将会看到查找一个IPv6地址(被称为“AAAA”记录)。此时,DNS服务器将响应一个IPv6地址或混杂的信息。 238帧展示了从客户端发起请求百度到DNS服务器完成IP地址解析的完整流程,这一过程对应于DNS记录中的“A”记录类型。 3、过滤出tcp包分析:在显示过滤框输入: ![]() TCP通信流程大致如下: 说明:
阅读原文:原文链接 该文章在 2026/1/4 18:09:32 编辑过 |
关键字查询
相关文章
正在查询... |