ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

计算机网络实操指南:从Wireshark抓包到TCP/IP原理深度验证

计算机网络实操指南:从Wireshark抓包到TCP/IP原理深度验证 1. 这不是“背书清单”而是一张能真正跑通网络的思维地图你手里的《王道计算机网络知识点总结》大概率正躺在考研复习资料堆最上面——封面被翻得发毛页脚卷了边荧光笔划满重点但合上书那一刻脑子里还是TCP三次握手像默剧、IP分片像谜题、ARP缓存像黑箱。这不是你记性差而是绝大多数“知识点总结”本质上是压缩包解压失败后的碎片文件它把谢希仁教材里层层递进的逻辑链条硬生生拆成孤立词条塞进表格把需要在Wireshark里亲眼看见的报文流转简化成“客户端发送SYN服务端回SYNACK”这种静态快照更可怕的是它默认你已经理解了“为什么必须三次两次行不行四次是不是更稳”——而这个问题恰恰是整个传输层设计的命门。我带过三届408考研辅导也给大厂新入职的后端工程师做过网络筑基培训。发现一个铁律能默写出OSI七层名称的人未必能解释清楚为什么HTTP协议要放在应用层而不是表示层能背下CRC校验公式的人可能连Wireshark里怎么定位一个校验失败的帧都找不到。王道系列的价值在于它用极强的应试导向把庞杂知识结构化但它的“超详细”往往停留在“是什么”的层面而真实世界里网络故障排查、协议选型、性能调优全靠对“为什么这样设计”和“实际运行时长什么样”的深刻把握。这篇总结就是把王道的知识点重新放回真实网络世界的土壤里去验证、去拆解、去踩坑——比如当你在实验室抓到一个TTL64的ICMP包它背后藏着Linux内核默认的生存时间策略当你看到TCP窗口大小从65535突降到1460那不是参数写错了而是接收方内核缓冲区被填满了。我们不追求覆盖王道PPT里每一个加粗字而是聚焦那些在真机调试、抓包分析、面试追问中反复出现、且一旦理解就能举一反三的核心锚点。适合正在啃王道但总感觉“懂了又好像没懂”的考研党也适合工作两年却还在查文档配TCP参数的开发/运维同学。下面所有内容都来自我用Ubuntu虚拟机、Cisco Packet Tracer、Wireshark和一台吃灰的二手路由器亲手搭环境、跑实验、截报文、改参数攒出来的实操笔记。2. 知识体系重构从“分层记忆”到“数据流追踪”2.1 拒绝死记硬背用一条HTTP请求贯穿全栈网络行为王道总结习惯按OSI七层或TCP/IP四层机械罗列但真实数据在网络里从不按教科书分层走。它是一条连续的、带着状态的、不断变形的“数据流”。我们以访问http://example.com为例全程追踪这个请求如何被拆解、封装、寻址、转发、校验、重组应用层发起浏览器进程调用getaddrinfo()触发DNS查询。注意这里没有“应用层协议”这么抽象——它是C库函数调用底层发出UDP报文53端口目标是/etc/resolv.conf里配置的DNS服务器IP。传输层封装DNS用UDP所以没有三次握手但后续HTTP请求走TCP此时connect()系统调用才真正触发SYN报文生成。关键细节SYN报文的源端口是内核随机分配的临时端口如52143目的端口是80而这个SYN报文本身还没有携带任何HTTP数据它只负责建立连接通道。网络层寻址当内核准备发送SYN时它要决定“这个包该发给谁”。查路由表ip route show如果目标IP如93.184.216.34不在本地子网就匹配默认路由下一跳指向网关如192.168.1.1。此时IP头里的源IP是本机IP如192.168.1.100目的IP是目标服务器IP但MAC地址还空着——因为二层转发需要物理地址。数据链路层填充内核发现下一跳是网关就查ARP缓存arp -a。若无记录则广播ARP请求“谁有192.168.1.1的MAC”。收到网关回复后把网关MAC如aa:bb:cc:dd:ee:ff填入以太网帧头再把IP包作为载荷塞进去。至此一个完整的、能被物理网卡发出去的帧才诞生。物理层送出网卡驱动将帧转换成电信号通过网线传到交换机。交换机查MAC表把帧转发到网关端口。网关通常是家用路由器收到后执行NAT把源IP从192.168.1.100改成公网IP如203.201.10.5源端口从52143改成一个映射端口如61234并记录这条NAT映射关系然后用新的IP头重新封装发向互联网。这个过程里王道总结里“网络层负责逻辑寻址”、“数据链路层负责物理寻址”是正确但苍白的。真正重要的是每一层的决策都依赖下一层提供的信息且上层的“透明”是下层精心构造的结果。比如DNS解析失败现象是“网页打不开”但根源可能在应用层hosts文件写错、传输层防火墙封了UDP 53、网络层路由不可达、甚至物理层网线松了。掌握这种穿透式追踪能力比背十遍“五层模型”有用得多。2.2 王道高频考点的底层真相不是结论而是推演过程王道总结里大量标星号的重点其实都是前人踩坑后凝练出的设计智慧。我们挑三个最典型、最容易只记结论的点还原它的“诞生现场”TCP三次握手为何不能两次王道答案“防止已失效的连接请求报文段突然又传送到了服务端因而产生错误。” 这句话对但太单薄。实操验证在Linux上用nc -l 8080启动监听然后用另一台机器发一个SYN包用Scapy构造不发ACK直接断开。过几分钟再用正常客户端连8080——你会发现连接能建立但服务端日志里会多一条“connection reset by peer”。为什么因为服务端在SYN_RCVD状态下等ACK超时后释放资源但那个“失效SYN”如果迟到服务端误以为是新连接分配TCB传输控制块结果客户端不发数据连接就卡在半开状态浪费服务端内存。两次握手无法让服务端确认客户端“真的收到了我的SYNACK”只有第三次ACK才能证明客户端不仅发了SYN还收到了服务端的响应。这是用状态机和超时机制换来的可靠性。IP分片为何在中间路由器进行而重组只在目的主机王道强调“路由器处理速度快不应承担重组开销”。这没错但更深层原因是MTU最大传输单元的异构性。你的笔记本WiFi网卡MTU是1500但经过MPLS骨干网时运营商可能加了20字节标签要求MTU≤1480再经过PPPoE拨号又减去8字节头变成1492。如果分片在源主机做它只能知道出发路径的MTU如1500但不知道后面每一段链路的MTU。所以RFC 791规定分片由遇到MTU更小的路由器执行每个分片独立路由目的主机根据IP头里的标识符Identification、标志位Flags和片偏移Fragment Offset字段把所有分片按序组装。Wireshark里看分片你会看到同一ID的多个包Flags1表示“还有分片”Offset0是第一个Offset1480是第二个假设1500字节IP包减去20字节IP头载荷1480字节。ARP缓存为什么要设超时王道说“避免MAC地址变更导致通信失败”。但实操中超时时间直接影响网络稳定性。Linux默认ARP缓存超时是30秒/proc/sys/net/ipv4/neigh/default/gc_stale_time但如果你在VM里频繁启停虚拟机会发现刚起来的VM有时ping不通宿主机等十几秒就好了——这就是ARP缓存还没刷新旧的MAC映射还存在。更隐蔽的问题某些交换机支持Port Security绑定MAC到端口如果主机换网卡MAC变了旧ARP缓存不更新交换机就会丢包。所以生产环境常把gc_stale_time调小到15秒gc_interval垃圾回收间隔调到30秒确保快速收敛。这不是理论是运维手册里白纸黑字的调优项。2.3 考研与工程的分水岭王道没讲透的“隐性知识”王道总结为应试服务天然忽略那些不考但必用的隐性知识。这些才是区分“背题选手”和“网络工程师”的关键Socket API与内核协议栈的映射关系socket()调用创建的是内核里的一个file descriptor它背后关联着struct sock结构体bind()把fd和本地IP:port绑定到内核哈希表listen()把socket状态设为LISTEN并初始化连接队列somaxconn参数控制长度accept()从已完成连接队列取一个TCB创建新fd。王道不会告诉你netstat -s | grep listen能看到SYN队列溢出次数这直接关联到net.core.somaxconn和net.ipv4.tcp_max_syn_backlog两个内核参数。面试官问“如何优化高并发连接”答案就藏在这里。NAT类型与P2P穿透的底层逻辑王道提NAT但不说NAT有四种类型Full Cone, Restricted Cone, Port Restricted Cone, Symmetric。为什么微信视频通话能直连而某些P2P下载软件总要中继因为Symmetric NAT会给同一个内网IP:port对外的不同请求分配不同的公网IP:port映射导致STUN服务器无法预测映射关系。这解释了为什么企业级路由器常提供UPnP或PCP协议让内网应用主动申请端口映射——这是王道“网络层设备”章节里缺失的实战拼图。TCP拥塞控制算法的现实差异王道讲Reno、NewReno但Linux 4.9默认用BBRBottleneck Bandwidth and RTT它不依赖丢包信号而是通过测量带宽和RTT来主动调控发送速率。ss -i命令能看到当前连接的cwnd拥塞窗口和rtt值。在千兆宽带环境下BBR能把吞吐量拉到接近链路带宽而传统Reno可能卡在几百MB/s——这不是理论优劣是sysctl net.ipv4.tcp_congestion_controlbbr一条命令带来的真实收益。3. 核心模块深度拆解从原理到Wireshark实证3.1 物理层与数据链路层别再只背“曼彻斯特编码”王道对物理层一笔带过但真实排错中90%的“网络不通”问题根源在此。我们用Wireshark抓一个最简单的ARP请求逐帧解剖以太网帧结构目标MAC6字节 源MAC6字节 类型字段2字节0x0806表示ARP 数据载荷28字节ARP报文 FCS4字节帧校验序列。注意Wireshark默认不显示FCS需在Edit Preferences Protocols Ethernet里勾选“Validate the Ethernet checksum if possible”。如果FCS校验失败Wireshark会标红并显示“Bad FCS”这意味着物理层传输出错——可能是网线质量差、网卡接触不良、电磁干扰。这比查路由表快十倍。冲突域与广播域的实操界定用两台PC接同一台非网管交换机它们在同一冲突域CSMA/CD生效但现代交换机基本都全双工冲突极少而接不同VLAN的交换机即使物理相连也是不同广播域。验证方法PC1ping 192.168.1.255本地子网广播地址PC2用Wireshark抓包如果能看到ICMP请求说明在同一广播域如果看不到说明VLAN隔离生效。王道说“交换机隔离冲突域路由器隔离广播域”但没说清三层交换机既能隔离广播域通过VLAN又能像路由器一样转发IP包——这才是企业网的真实形态。MTU的连锁反应在Linux上执行ping -s 1472 -M do 192.168.1.1-s指定ICMP数据部分大小-M do禁止分片。1472 20(IP头) 8(ICMP头) 1500刚好等于以太网MTU。如果返回“Message too long”说明路径中某段链路MTU小于1500。这时去掉-M do再试Wireshark会捕获到分片包。关键洞察TCP协议栈会通过Path MTU DiscoveryPMTUD机制自动探测路径最小MTU它发送DFDont Fragment位为1的探测包收到ICMP “Fragmentation Needed”消息后调整本端MSSMaximum Segment Size。cat /proc/sys/net/ipv4/ip_no_pmtu_disc为0表示启用PMTUD。这是TCP能自适应不同网络的关键王道从不提。3.2 网络层IP协议不是“尽力而为”而是精密的状态机王道强调IP的无连接、不可靠但没说清“不可靠”背后是怎样的确定性设计TTLTime To Live字段的双重使命它不仅是防环路的计数器更是协议栈的调试工具。Linux内核默认TTL64/proc/sys/net/ipv4/ip_default_ttl每经过一个路由器减1到0就丢弃并返回ICMP Time Exceeded。traceroute正是利用这点发TTL1的UDP包第一跳路由器丢弃后回ICMP得到第一跳IP再发TTL2第二跳丢弃……直到目标。Wireshark里看TTL值能直观判断数据走了几跳。如果一个包TTL1却到达了远端服务器说明中间有NAT设备重写了TTL——这是识别网络拓扑的隐秘线索。ICMP协议的“副业”远超错误报告除了常见的Echo Request/ReplypingICMP还有Type 3 Code 4Fragmentation NeededPMTUD的核心信令Type 5Redirect路由器告诉主机“下次发给这个IP应该用我这个MAC”用于优化路由但现代网络基本禁用因安全风险Type 11 Code 0Time Exceededtraceroute基础Type 12Parameter Problem指出IP头某个字段非法常用于检测畸形包攻击。王道只列Type/Code编号但Wireshark里右键一个ICMP包选“Follow ICMP Stream”能看到完整的交互流程——这才是理解协议生命力的方式。IPv4与IPv6共存的现实妥协王道讲IPv6优势但没说清过渡技术。ping6 ::1是IPv6本地环回ping6 fe80::1%lo是链路本地地址%lo指定接口。而curl -6 http://[2001:db8::1]访问IPv6网站时如果DNS返回AAAA记录就走IPv6如果只返回A记录就降级到IPv4。Linux的/proc/sys/net/ipv6/conf/all/disable_ipv6可全局禁用IPv6但某些服务如Docker依赖它强行关闭会导致异常。真正的网络工程师必须在IPv4/IPv6双栈环境中游刃有余。3.3 传输层TCP不是“可靠”而是“可验证的可靠”王道把TCP特性列成表格但真实世界里每个特性都是对抗网络不确定性的精密武器序列号Sequence Number与确认号Acknowledgement Number的协同SYN报文的SeqXSYNACK报文的SeqY, AckX1ACK报文的SeqX1, AckY1。这里的“1”不是随意加的而是SYN和FIN各占一个序列号空间。Wireshark里看TCP流Seq和Ack数值会持续增长但关键要看相对序列号Relative Seq/Ack——右键TCP包选“Protocol Preferences TCP Relative sequence numbers”它把初始Seq设为0便于观察数据偏移。一个10KB的HTTP响应会被分成多个TCP段每个段的Seq是前一段Seq前一段数据长度。如果Wireshark显示“Previous segment not captured”说明首包丢失需结合“TCP Retransmission”过滤器查重传。滑动窗口的动态博弈窗口大小Window Size字段不是固定值而是接收方根据自身缓冲区剩余空间实时通告的。ss -i命令显示的rwndreceive window和cwndcongestion window共同决定发送方能发多少。当rwnd0时发送方停止发送进入Persist Timer状态定期发1字节探测包直到接收方通告新窗口。这解释了为什么大文件上传到一半突然卡住——不是网络断了是接收方应用没及时读取socket缓冲区rwnd被撑满。王道讲“流量控制”但没说清这是接收方内核和应用进程之间的赛跑。TIME_WAIT状态的2MSL之谜客户端主动关闭连接后进入TIME_WAIT状态持续2倍MSLMaximum Segment Lifetime默认120秒。王道说“防止最后一个ACK丢失让对方重传FIN”。但更深层原因是确保网络中所有属于该连接的旧报文都已消失避免新连接收到旧报文造成混乱。Linux可通过net.ipv4.tcp_fin_timeout缩短此时间但贸然调小会导致“Address already in use”错误。高并发短连接服务如HTTP API常调大net.ipv4.ip_local_port_range扩大可用端口范围和net.ipv4.tcp_tw_reuse允许TIME_WAIT套接字重用这是王道“TCP连接管理”章节外的生存技能。3.4 应用层协议选择不是“标准答案”而是权衡取舍王道按协议分类但真实选型是成本、延迟、可靠性、开发复杂度的综合博弈HTTP/1.1 vs HTTP/2 vs HTTP/3的演进逻辑HTTP/1.1的队头阻塞Head-of-Line Blocking不是协议缺陷而是TCP的天然属性——一个丢包整条TCP流暂停。HTTP/2用二进制帧和多路复用Multiplexing在单个TCP连接上并发多个请求但底层TCP仍受队头阻塞影响。HTTP/3直接换掉TCP用QUIC协议基于UDP实现连接级和流级的独立恢复一个流丢包不影响其他流。Wireshark 3.4支持QUIC解密需配置SSLKEYLOGFILE能看到HTTP/3的Stream ID和Frame Type。王道讲“HTTP版本演进”但没说清换协议本质是换传输层信任模型——从相信TCP的可靠性到自己在UDP上重建可靠性。DNS的UDP/TCP切换机制DNS查询默认用UDP53端口但当响应数据超过512字节且请求包设置了EDNS0扩展服务器可返回更大响应否则服务器在UDP响应中标记TCTruncated位客户端收到后必须用TCP重发查询。Wireshark里过滤dns tcp.port53能看到TCP DNS查询通常发生在大型DNSSEC响应或区域传输AXFR时。这解释了为什么某些DNS解析慢——不是UDP丢包而是触发了TCP回退增加了RTT。TLS握手的“零往返”0-RTT代价HTTP/3支持0-RTT即客户端在第一次请求时就发送加密数据省去TLS握手延迟。但代价是重放攻击风险攻击者截获0-RTT数据包可原样重放。因此0-RTT只应用于幂等操作如GET绝不用于POST/PUT。Wireshark里看TLS 1.3握手Client Hello后直接跟Application Data就是0-RTT。王道讲TLS握手步骤但没警示性能优化与安全永远在天平两端。4. 实操指南用真实环境验证每一个知识点4.1 搭建最小化实验环境三台虚拟机足矣放弃Packet Tracer的图形化模拟用真实Linux虚拟机Wireshark才能触摸网络脉搏。我的标准配置Host A客户端Ubuntu 22.04IP 192.168.56.10安装tcpdump、net-tools、iproute2、scapyHost B服务器Ubuntu 22.04IP 192.168.56.11安装nginx、sshd、tcpdumpHost C中间人/网关Ubuntu 22.04IP 192.168.56.1Host A/B的网关开启IP转发echo 1 /proc/sys/net/ipv4/ip_forward配置iptables SNAT/DNAT。网络拓扑Host A和B都桥接到VirtualBox的Host-Only网络192.168.56.0/24Host C作为网关其另一个网卡接NAT网络访问外网。这样Host A访问Host B走内网直连访问http://example.com则经Host C NAT。关键命令速查查路由ip route show查ARP缓存ip neigh show抓指定接口包tcpdump -i eth0 -w capture.pcap过滤TCP SYNtcpdump tcp[tcpflags] tcp-syn ! 0用Scapy发SYNsend(IP(dst192.168.56.11)/TCP(dport80, flagsS))提示Wireshark的显示过滤器Display Filter和捕获过滤器Capture Filter区别巨大。捕获过滤器如host 192.168.56.11在内核层面过滤节省CPU显示过滤器如tcp.flags.syn 1 ip.addr 192.168.56.11在Wireshark界面过滤已捕获的数据全在内存里。生产环境务必用捕获过滤器。4.2 验证TCP三次握手与四次挥手的完整生命周期在Host A执行curl http://192.168.56.11同时Host B用tcpdump -i eth0 port 80 -w server.pcap抓包。Wireshark打开server.pcap应用过滤器tcp.port80你会看到SYNHost A → Host BSeq0相对Flags[SYN]Win64240SYNACKHost B → Host ASeq0Ack1Flags[SYN, ACK]Win65495ACKHost A → Host BSeq1Ack1Flags[ACK]Win64240HTTP请求Host A → Host BSeq1Ack1Flags[PSH, ACK]Data len102HTTP GETHTTP响应Host B → Host ASeq1Ack103Flags[PSH, ACK]Data len612FINHost B → Host ASeq613Ack103Flags[FIN, ACK]ACKHost A → Host BSeq103Ack614Flags[ACK]FINHost A → Host BSeq103Ack614Flags[FIN, ACK]ACKHost B → Host ASeq614Ack104Flags[ACK]。注意第6步FIN的Seq613是因为前面HTTP响应数据长度612Seq从1开始612字节后下一个序号是613。Wireshark的“Follow TCP Stream”功能会自动重组HTTP内容让你看到明文请求和响应。这是理解TCP“面向字节流”的最直观证据——它不管应用层数据边界只管字节序号。4.3 深度剖析NAT与端口映射的运作细节在Host C上配置DNAT将外部访问8080端口映射到Host B的80端口# Host C上执行 iptables -t nat -A PREROUTING -d 192.168.56.1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.56.11:80 iptables -t nat -A POSTROUTING -s 192.168.56.0/24 -d 192.168.56.11 -j SNAT --to-source 192.168.56.1然后从Host A访问curl http://192.168.56.1:8080。Wireshark在Host C的eth0内网侧抓包会看到进入包Src192.168.56.10, Dst192.168.56.1, DPort8080出去包Src192.168.56.1, Dst192.168.56.11, DPort80DNAT已改目的IP和端口返回包Src192.168.56.11, Dst192.168.56.1但SNAT规则会把Src改成192.168.56.1再发给Host A。注意DNAT和SNAT的顺序很重要。PREROUTING链做DNAT改DstPOSTROUTING链做SNAT改Src。如果SNAT写在PREROUTING会导致内网主机访问自己服务时路径错误。这是iptables规则链的经典陷阱王道从不涉及。4.4 用Scapy构造特殊报文验证协议边界条件Scapy是网络协议的“乐高积木”能构造任何RFC定义的报文。例如验证IP分片from scapy.all import * # 构造一个2000字节的IP包超MTU payload bX * 1980 # 1980字节数据 ip_pkt IP(dst192.168.56.11, flagsMF) / UDP(dport53) / payload # 手动分片 frag1 ip_pkt / Raw(loadpayload[:1480]) frag2 IP(dst192.168.56.11, flagsMF, frag185) / UDP(dport53) / Raw(loadpayload[1480:1980]) send(frag1) send(frag2)在Host B用tcpdump port 53抓包会看到两个IP包ID相同FlagsMFMore Fragments第二个包的frag1851480/8185片偏移单位是8字节。Wireshark会自动重组并标记“Fragmented IP protocol”。这比背“分片字段含义”深刻十倍。5. 常见问题与排查技巧实录来自真实故障现场5.1 “网络不通”问题的黄金排查链从物理层到应用层不要一上来就ping按层级推进每步都有明确判定标准层级检查命令预期结果异常含义关键动作物理层ethtool eth0 | grep Link detectedLink detected: yes网线未插、网卡故障、交换机端口down换网线、查交换机端口指示灯、dmesg | grep eth0看内核日志数据链路层ip link show eth0 | grep state UPstate UP接口被ifconfig eth0 down关闭ip link set eth0 up网络层本地ip addr show eth0显示正确IP/MaskIP配置错误、DHCP失败dhclient eth0或手动ip addr add 192.168.56.10/24 dev eth0网络层连通性ping -c 3 192.168.56.13 packets received网关不可达、ARP失败arp -d 192.168.56.1清缓存tcpdump -i eth0 arp看ARP请求是否发出网络层路由ip route get 8.8.8.8显示via 192.168.56.1默认路由缺失ip route add default via 192.168.56.1传输层端口telnet 192.168.56.11 80Connected目标端口未监听、防火墙拦截ss -tlnp | grep :80查服务iptables -L -n查防火墙应用层DNSdig 8.8.8.8 example.com short返回IP地址DNS服务器不可达、域名不存在cat /etc/resolv.conf检查DNS配置经验心得我见过最离谱的故障是ping通但curl超时。查curl -v http://example.com发现卡在DNS解析。dig测试DNS正常但strace curl ...发现它在读/etc/nsswitch.conf里面配置了hosts: files dns而/etc/hosts里有一行127.0.0.1 example.com——本地hosts优先级高于DNS把域名指向了本机但本机没开Web服务。删掉那行hosts问题解决。永远怀疑配置文件尤其是被遗忘的本地配置。5.2 Wireshark抓包分析的十大致命误区新手用Wireshark常犯的错误让分析事倍功半在错误的接口抓包想抓Host A到Host B的流量却在Host A的lo回环接口抓只能看到本地进程通信。正确做法tcpdump -i eth0指定物理网卡。忽略时间戳精度Wireshark默认微秒级时间戳但某些网卡驱动只提供毫秒级。Edit Preferences Protocols IEEE 802.11里可调时间显示格式避免误判毫秒级延迟。过度依赖自动解析Wireshark对自定义协议或加密流量如HTTPS解析有限。右键包选“Decode As...”可强制指定协议类型如把TCP端口8888的流量当HTTP解析。忘记设置捕获过滤器在高流量网络抓全量包Wireshark会卡死。tcpdump -i eth0 port 80 or port 443 -w web.pcap先过滤再保存。混淆“显示过滤器”和“捕获过滤器”如前所述后者在内核过滤前者在UI过滤。生产环境必须用捕获过滤器。忽略TCP流重组HTTP/FTP等协议数据被TCP分段单看一个TCP包看不到完整请求。右键TCP包选“Follow TCP Stream”Wireshark自动重组。不校验校验和Wireshark默认关闭校验和验证因虚拟机网卡常做硬件校验和卸载。Edit Preferences Protocols IPv4里勾选“Validate the IPv4 checksum if possible”红色包即校验失败。忽视时间参考点分析延迟问题需设一个时间参考点右键包选“Set time reference”后续包时间显示为相对于此点的偏移。忽略协议层次
返回列表