计算机网络实验二:Wireshark抓包分析以太网帧与ARP全攻略
简介这是天津理工大学计算机网络课程实验二的实验报告主题为基于 TCP 与 UDP 的 Socket 编程。整份报告以真实实验过程为线索面向计算机、网络相关专业学生也适合初学套接字编程的开发者参考。实验环境为 Linux Mint 18.1 与 Qt/C 5.8.1内容从理解套接字实现原理、辨析 TCP 与 UDP 的差别逐步推进到客户端/服务器聊天程序的完整实现其中既有服务端与客户端的界面截图也有核心源码、测试用例和运行结果。资源仅一个 PDF 文件大小 195KB虽体量精简但实验目的、环境要求、成员分工、过程记录、心得体会均有覆盖还保留了可复现的 Qt 网络编程代码片段方便对照练习。目前已有 288 人浏览学习对于需要完成类似实验报告或快速掌握 Socket 编程要点的读者是一份结构清晰且实用的参考资料。1. 这份实验二PDF背后要你亲手拆开数据链路层的黑匣子如果你也拿到一份写有“天津理工大学计算机网络实验二”的PDF大概率不是让你读课本画重点而是给你一个真实接口打开抓包工具把电脑上正在跑的以太网帧一条条拉出来看。实验二在整个课程里通常是第一次接触数据链路层的实操——前面还在讲分层、讲协议到这里突然变成“为什么MAC地址是六个字节”“为什么抓包里有个0x0806”。很多人第一次做这个实验都会蒙明明会Ping却不知道抓包窗口里那几百条记录哪些该写进报告。这篇笔记就按我实际做过的方式把实验二从环境搭建、抓包到写报告讲清楚新手能照着做熟手能少踩几个坑。2. 先搭环境再抓包Wireshark与实验拓扑的最小配置2.1 为什么实验二总从Wireshark开始自学计算机网络的选择计算机网络这门课光看书很难建立“报文长什么样”的直觉。实验二让你用Wireshark抓包核心目的就一个把课本上的帧格式和图谱上的箭头变成屏幕上的十六进制字节。我第一次用的是跟着B站上湖科大教书匠的课件入门的后来看《计算机网络自顶向下》才把字段意义对上。Wireshark不是唯一选择但它在高校实验里几乎是默认工具——因为它的过滤器、着色规则和导出报告能力正好覆盖实验二要求的“抓包—分析—截图—结论”闭环。如果你是在Windows上做实验安装时记得勾选Npcap否则抓不到非本机回环的包。用Win10自带的命令提示符跑得不顺时先检查Wireshark右下角是否显示“捕获到包”的数字在跳。很多人栽在第一步Wireshark打开后没有选对网卡耳机插孔一样的图标列了一长串不知道选哪个。我习惯先在“捕获”选项里把“隐藏以太网接口”取消勾选再根据IP地址判断——哪个接口的IPv4地址是192.168.x.x或10.x.x.x就选那个。2.2 用一台电脑就能跑的抓包场景环回口与Ping的配合实验二如果要求“分析ARP协议”最简单的方式就是本机Ping局域网另一台机器或者直接Ping网关。但有些机房不允许乱动网络那就用环回地址抓包试试。用环回口时抓不到以太网帧头因为数据不会经过物理网卡——所以我更建议用本机去Ping网关先ping网关一次再打开Wireshark开始捕获接着再ping一次然后停掉捕获。这样ARP请求和应答会成对出现你还能顺手分析ICMP报文报告里可写的内容就多了。具体操作在命令行里是这样的# 清空缓存保证后面能看到完整的ARP过程 arp -d * # 查看本机IP和网关 ipconfig /all # 目标Ping内网网关比如192.168.1.1 ping -n 2 192.168.1.1这里要注意arp -d *在Windows上会清除ARP缓存所以第一次Ping时必须先发ARP广播询问网关的MAC地址。如果先Ping了一次再清理缓存第二次Ping时ARP照样会重新广播一次——但Wireshark里可能已经有前一次的包容易混淆。我一般顺序是启动Wireshark捕获后马上执行清缓存和Ping抓完就停止。这样时间线干净报告里写“第一条是ARP广播第二条是网关的ARP单播应答”完全对得上。Wireshark这边需要配置一下过滤条件让它把ARP和ICMP都显示出来但别把其他乱七八糟的广播包比如NetBIOS混进来。在显示过滤栏输入arp or icmp这样只会显示ARP协议和ICMP协议其他帧会被隐藏但不会删除。导出报告时如果截图想展示“这是以太网帧”就取消这个过滤用eth.addr之类的方式找一条普通TCP包。2.3 把抓包结果导出成PDF报告需要的三个设置实验二PDF里往往要求提交报告而报告的原始素材就是Wireshark里的截图。很多人截图时只截了中间的列表区域字段树和十六进制都没截进去老师一看就知道你没认真抓。我建议在菜单“视图”里勾选三样时间显示格式改成“秒”, 列显示加上“源端口”和“目的端口”以及把“流”标签显示打开。这三项可以让一张图同时包含协议、地址和端口写报告时不用再对着原始窗口猜。要导出PDF报告别直接用“文件—导出—为PDF”那个功能是导出所有分组详细信息的文件很大而且排版难看。更好的做法是先用显示过滤定位到要分析的帧然后“文件—导出分组—为纯文本”再把文本整理成你的实验报告。如果你需要保存完整证据链可以用tshark它是Wireshark的命令行版本可以批量输出关键字段# 输出每个包的时间、源MAC、目的MAC、协议、长度 tshark -r network_exp2.pcapng -T fields -e frame.time -e eth.src -e eth.dst -e ip.src -e ip.dst -e frame.len这条命令适合在你已经用Wireshark图形界面抓完包、保存了pcapng文件之后再回到命令行做精确提取。注意字段名里frame.len是整帧长度包含以太网头和CRC如果捕获时CRC被剥离它可能不包含后4字节。写报告时如果发现长度和课本对不上先看这里。3. 拆解以太网帧与ARP从二进制到你能写进报告的结论3.1 以太网帧头MAC地址、类型字段和那个容易看错的填充实验二里最容易被问到的知识点就是以太网帧头格式。你抓到的每一个包列表里第一行就是“Ethernet II”展开后能看到目的MAC6字节、源MAC6字节、类型2字节后面是数据。对TCP包来说类型字段是0x0800IPv4对ARP包是0x0806。很多人把这里叫“帧类型”但课本上叫“EtherType”写报告时用哪个都行关键是别把IP头里的协议号比如TCP是6ICMP是1和帧类型混在一起。有一个坑Wireshark显示的“Length”并不总是你在课本上算出来的长度。因为以太网规定最小帧长是64字节从目的MAC开始算到帧校验序列FCS如果上层数据不够46字节数据部分要填充。抓包时Wireshark显示的frame.len通常包含了FCS的4字节但你的网卡可能已经剥离了FCS所以看到60字节也不要慌。做实验时我一般把Wireshark里的“Length”写成“帧长度”在报告里注明“含/不含FCS”这样老师就不会因为长度数字和课本不同而扣分。写报告时最稳的截图方式是在选中一个ARP包后看中间详细面板的“Ethernet II”展开项。截图要截全从“Frame”到“Data”都要能看见。如果你用tshark -V也可以得到同样的信息# 查看第一条ARP包的详细字段 tshark -r network_exp2.pcapng -Y arp -c 1 -V-V参数会输出每个协议的详细树包括十六进制。这个输出可以直接粘到报告里相当于“源代码级”的证据。3.2 ARP请求/应答抓包里为什么会有两次“谁有192.168.x.x”实验二的分析对象十有八九是ARP协议。从抓包看ARP请求的目标MAC是ff:ff:ff:ff:ff:ff源MAC是你本机的MACARP应答的源MAC是网关MAC目标MAC是你的MAC。这里有个细节ARP请求是广播ARP应答是单播。如果实验环境里交换机正常工作你只会看到一次请求和一次应答——但要小心如果你刚开机或者缓存被清空第一次Ping前可能还有“重复地址检测”包那是IPv4的ARP探询目标IP是你自己的IP。完整ARP报文是28字节加上以太网头14字节和填充/CRC。在Wireshark里展开ARP协议可以看到硬件类型1表示以太网、协议类型0x0800、硬件大小6、协议大小4、操作码1表示请求2表示应答。报告里把这些值截图下来再对照课本表格就是一次合格的“协议分析”了。很多同学把“操作码”叫成“opcode”也对但报告里最好写上“操作码opcode”。如果你想把ARP报文的关键字段提取成表格用tshark很方便tshark -r network_exp2.pcapng -Y arp -T fields -e arp.opcode -e arp.src.proto_ipv4 -e arp.src.hw_mac -e arp.dst.proto_ipv4 -e arp.dst.hw_mac这列输出每条ARP包的opcode、源IP、源MAC、目标IP、目标MAC。注意arp.dst.hw_mac在请求里是00:00:00:00:00:00因为发送方还不知道目标MAC。这种细节写进报告能证明你确实理解广播地址和“未知时填零”的约定。3.3 用Wireshark过滤器分离实验二需要的证据链实验二最花时间的部分是找到“值得分析”的帧。如果直接打开抓包文件里面除了ARP和ICMP还有大量来自其他设备的广播帧比如LLMNR、NBNS它们会污染你的截图。解决办法是给Wireshark设置一个显示过滤把广播流量单独拿出来看同时保留以太网帧头。我常用的组合是这样(arp || icmp) !(llmnr || nbns || mdns)这个过滤会保留ARP和ICMP包但排除名字解析广播。如果你还需要分析“以太网帧填充”可以单独过滤出长度小于64字节的帧frame.len 64不过在Wireshark里显示长度是60时它其实不含FCS如果你抓到的帧长度是62多半是VLAN标签被算进去了。实验二一般不涉及VLAN但如果你在交换环境里抓到802.1Q标记的帧会发现EtherType变成了0x8100。遇到这种情况别懵先看看里面还有没有原始帧类型。过滤器还能用来验证你的结论。比如你说“ARP请求的目标MAC是广播地址”可以写下这个过滤器验证arp.opcode 1 arp.dst.hw_mac ff:ff:ff:ff:ff:ff如果有结果说明你抓的包符合标准。做实验时我习惯在报告里保留过滤器的截图证明“我是从全量数据中筛出来的”。4. 避坑与常见排查为什么你抓的包和课本对不上4.1 现象Ping不通却还有抓包记录——原因防火墙拦了ICMP但没拦ARP实验环境最常见的问题是命令行里Ping网关显示“请求超时”但Wireshark里明明有包在跑。你先别急着怀疑网线——抓包里如果只有ARP请求没有ARP应答说明网关没回如果ARP有应答但ICMP只有请求没有应答那多半是主机防火墙在拦ICMP。解决方法是暂时关闭防火墙或只放行ICMP做实验前先确认。具体在Windows上用管理员权限执行# 临时关闭防火墙实验后重新开启 netsh advfirewall set allprofiles state off # 或者只放行ICMPv4更保守 netsh advfirewall firewall add rule nameICMP Any protocolicmpv4:any,any dirin actionallow注意关闭防火墙后要重新Ping一次并且重新抓包因为前面的包已经不能说明问题。如果关掉防火墙后通了你应该记录“是防火墙导致ICMP被丢弃”这本身就是实验报告里可以写的一个发现。4.2 现象帧长度始终是64字节——原因最小帧与填充字节有同学抓到一个ARP报文Wireshark显示Length是60但是课本说最小帧长是64字节。这是因为你的网卡驱动在把数据交给上层时已经剥掉了FCS尾部的4字节CRC。不同网卡处理方式不一样同一块网卡在不同驱动版本下也会有差异。我一开始也懵后来用frame.len对比eth.src和eth.dst才确认60字节的帧是在“不包含FCS”的前提下成立的。如果你非要看到64字节可以修改Wireshark的偏好设置在“高级”里搜索wlan.wext没用得找uat:frame_extension之类的字段校验选项。但我不建议改这个因为实验报告只需说明长度定义即可。正确做法是在报告里写“本实验捕获的以太网帧长度为60字节不含FCS若含FCS则为64字节符合IEEE 802.3最小帧长要求。”这样既解释了现象又展示了思考。4.3 现象看不到ARP广播——原因交换机MAC表老化与广播域隔离在有些实验环境里你Ping网关之前已经有很多ARP流量了等你在Wireshark里按下“开始捕获”时网关的MAC早就学过交换机会直接把单播帧发给目标端口不会再触发ARP广播。所以抓不到ARP请求是正常的不是你没做对。解决办法是在抓包之前先清空ARP缓存或者用arp -d *再或者用一个新的目标IP比如Ping一个内网不存在的IP但那个会一直超时。如果清空了ARP缓存还是看不到广播可能是你的机器连在隔离的端口上比如VLAN或者端口安全限制了广播帧。这时可以去“视图—缩放”里看看有没有红色标记或者用tshark带-f arp的捕获过滤器来限制捕获范围# 只捕获ARP包减少其他流量干扰 tshark -i 以太网 -f arp -a duration:10 -w arp_only.pcapng-f是捕获过滤器特点是只让过滤条件匹配的包进入缓冲区不匹配的直接在驱动层丢弃。这样即使有大量广播也不会把文件撑爆。4.4 现象报告写“TCP/IP”被扣分——原因把数据链路层帧和IP报文混在一起实验二若要求分析以太网帧报告里一个容易扣分的地方是截图截的是IP层却写“这是以太网帧”。因为你按ip.addr 192.168.1.1过滤时列表里显示的是IP层的源和目的但Wireshark列表默认会显示MAC地址列。如果只看列表不展开“Ethernet II”很容易把IP地址当作MAC地址抄上去。我的习惯是在写报告时每张截图必须包含三个信息——以太网头、IP头如果有、协议详情。比如分析一个ARP包截图里必须看到“Ethernet II”展开后目的MAC是广播地址并且ARP层里opcode是1。如果你用tshark -V -Y arp ip.addr192.168.1.1导出文本它会同时列出两层这样引用起来不会错。还有一种误用把Wireshark的“源/目的”列当成“MAC源/目的”。默认列表的Src/Dst在实际显示中会根据协议解析成IP或MAC你需要在列首选项里固定一个显示方式或者直接把“源MAC”和“目的MAC”列拖出来。不然报告里明明分析的是ARP报文却写了“src是192.168.1.1”一眼就穿帮。5. 把实验二做成加分项验证报告正确性的三个技巧实验报告交上去之前我习惯做三件验证花不了五分钟但能把预想的“做成”变成“确定做成”。第一验证ARP链路是否完整。用显示过滤arp.opcode 1看请求里是否包含广播MAC再用arp.opcode 2看应答里是否包含本机MAC。如果你抓的是Ping网关的过程把过滤写成arp icmp按时间排序列出整个交互先两条ARP再两条ICMP回显请求和应答。这个顺序本身就是你对“ARP在IP通信之前”这个理解的最好证据。第二用frame.len统计帧长度分布。在Wireshark的“统计—分组长度”里看一眼是不是集中在60/64字节附近以及是否有大量1518字节的巨型帧。如果是说明你抓到了完整帧不是碎包。如果全是54字节以太网14IP20TCP20说明这些是被网卡裁剪过的包报告里注明即可。第三写一个极简的Python校验脚本解析一个pcap文件中第一条ARP帧的头部字段算一遍“长度是否合法”。虽然Wireshark已经显示了解析结果但自己写几行代码能让“帧格式”刻在脑子里。这不算实验二要求但是加分项。import struct def parse_eth_frame(pkt): dst_mac pkt[0:6].hex() src_mac pkt[6:12].hex() eth_type struct.unpack(!H, pkt[12:14])[0] return dst_mac, src_mac, hex(eth_type) # 假设pkt是抓包文件里提取的一条原始帧字节数组 # 下面这行是演示实际使用时需要从pcap文件读取 # dst, src, eth_type parse_eth_frame(frame_bytes)这段代码在实验报告里可以当作“附帧头解析方法”放上老师一看就知道你对字节序、字段含义有实际理解。写的时候注意大端序!H表示网络字节序的无符号短整型这正好对应以太网类型字段的存储方式。这些年我做过不少类似的计算机网络实验最深的教训是不要拿自动生成的pcapng文件直接当报告老师要看的不是你能打开文件而是你能从文件里提炼出符合协议的规律。实验二就是一道门推开之后网络对你就不再是“一行ipconfig输出”而是一条条可以追查的帧。希望这份笔记能让你少走我当初的弯路把该拿的分稳稳拿到。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

SAP BTP ABAP环境启用Analyze Custom Code实战指南

SAP BTP ABAP环境启用Analyze Custom Code实战指南

第一次接到这个任务时,我差点以为“启用 Analyze Custom Code”是个伪需求。BTP ABAP environment(也叫 SAP BTP ABAP 环境,社区里常说的 Steampunk)不是开箱自带这个应用吗?后来真正在项目里走了一遍才发现&#xff0…

2026/10/9 4:24:47 阅读更多 →
中小企业网络信息安全规划方案:防火墙、三层交换机、域控与杀毒四层防线落地拆解

中小企业网络信息安全规划方案:防火墙、三层交换机、域控与杀毒四层防线落地拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:24:47 阅读更多 →
Unity射击系统实战:射线检测+协程后坐力实现

Unity射击系统实战:射线检测+协程后坐力实现

1. 项目概述:一个能跑起来、能打中、能反馈的射击游戏骨架“【unity demo】使用unity制作射击游戏demo(下)”——这个标题里藏着三个关键信号:它不是教学视频的脚本,不是美术资源包的说明书,而是一个已完成…

2026/10/9 4:23:46 阅读更多 →

最新新闻

串口称重系统实操指南:DTR触发与DMA接收优化

串口称重系统实操指南:DTR触发与DMA接收优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:52:05 阅读更多 →
OpenClaw 这么火,大家知道怎么开发自己的Skills吗?TaoToken 统一 Key 通道实战拆解

OpenClaw 这么火,大家知道怎么开发自己的Skills吗?TaoToken 统一 Key 通道实战拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:52:05 阅读更多 →
大模型落地必修课:企业知识库这样投喂才高效——TaoToken 统一 Key 打通 RAG 检索链路

大模型落地必修课:企业知识库这样投喂才高效——TaoToken 统一 Key 打通 RAG 检索链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:52:05 阅读更多 →
NodeMCU ESP8266心率监测实战:从传感器到KiwisIoT云端

NodeMCU ESP8266心率监测实战:从传感器到KiwisIoT云端

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:52:05 阅读更多 →
Nginx 服务器 SSL 证书安装部署并配置

Nginx 服务器 SSL 证书安装部署并配置

一、Nginx的SSL模块安装 进入到你的nginx安装目录下面 cd /usr/local/nginx 输入 ./configure --prefix/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module输入 make 操作完成后会出现objs文件夹,文件夹里有nginx文件 进入objs cd /usr…

2026/10/9 4:52:05 阅读更多 →
自适应卡尔曼滤波提升列车定位精度:SINS/GPS组合导航设计与仿真

自适应卡尔曼滤波提升列车定位精度:SINS/GPS组合导航设计与仿真

1. 项目缘起与整体设计思路1.1 列车定位为什么是个“硬骨头”先说说我为什么对这个问题感兴趣。列车定位和我们平时用手机导航完全不是一个量级的事情,高铁、城际、地铁对定位精度的要求极高,尤其在列车运行控制系统里,位置信息直接关系到行车…

2026/10/9 4:51:05 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →