深入理解TCP/IP协议栈:从分层模型到网络故障排查实践
上一次视频会议开到一半画面突然冻结同事下意识敲了敲路由器。但那次的问题还真不在路由器——两个人在完全不同的网络环境里共享同一段画面中间要交换的不仅仅是数据本身还有一套双方都认可的“数据表达规则”。这套规则就是 TCP/IP 协议栈也就是互联网通信的核心。它不止决定了网页怎么打开、视频怎么不卡、文件怎么传更决定了你遇到网络故障时该从哪一层开始排查。这篇文章我会结合自己平时排查问题的经验把分层模型、数据封装、三次握手、滑动窗口、拥塞控制这些概念讲清楚它们为什么存在、彼此怎么配合、出了问题该怎么用它定位。适合刚入门的开发、运维以及任何想把网络底层吃透的人。1. 分层模型到底在解决什么问题1.1 一套协议要先回答的三个基本问题假设两套完全陌生的设备要通信首先要解决的是“怎么找到对方”这对应地址问题。互联网上有几十亿台设备每台设备必须有一个可定位的标识这就是 IP 地址存在的意义。其次是“数据怎么过去”两台设备之间通常隔着十几个甚至几十个网络节点数据从 A 到 B 该走哪条路、由谁决定下一站这是路由问题。最后是“传错、丢了怎么办”网络链路本身不可靠电磁干扰、拥塞丢包、路由抖动都可能让数据损坏或迟到这是可靠性问题。如果让一个协议同时解决所有问题复杂度会彻底失控。网络硬件会一直升级光纤变铜缆Wi-Fi 变 5G但上面的应用逻辑没必要跟着变。分层就是把这三个问题切成独立切片每一层专注解决一层事。1.2 四层结构的真实分工TCP/IP 协议栈在实际网络中按四层运转为了便于理解和对照很多教材会把它和 OSI 七层模型放在一起看。TCP/IP 分层OSI 对应典型协议核心职责应用层应用层、表示层、会话层HTTP、DNS、SMTP定义业务语义告诉对方我要干什么传输层传输层TCP、UDP端到端通信提供端口寻址与可靠性策略网际层网络层IP、ICMP逻辑寻址与路由决定数据下一步去哪网络接口层数据链路层、物理层以太网、Wi-Fi、ARP把数据变成电信号/光信号在具体链路传输这里要特别强调一个误区很多初学者把 OSI 七层背得滚瓜烂熟但实际互联网用的从来不是完整的七层。OSI 是理论参考模型TCP/IP 才是实际战斗部队。表达层和会话层的功能实用性有限实际都并进了应用层的实现里。1.3 每一层只向上层提供服务分层的用户体验是应用开发者只需要调用 socket 接口完全不需要关心底层是光纤还是无线。内核里的协议栈会自动帮你完成 TCP 分段、IP 封装、网卡发送这一整套动作。这种“黑盒哲学”跟一个小型物流公司很像分拣中心只关心包裹下一站去哪快递员只关心把包裹放进几号柜前台只关心把包裹交到谁手上。每一层都只向上层负责上层的改动不需要惊动下层。所以你在浏览器里换一个端口、换一个协议版本网卡和路由器并不需要随之升级。理解了这个逻辑你去看抓包软件里的每一层协议头就不会觉得它们是一堆杂乱字段而是每层在交接时填写的“物流单据”。2. 一个数据包的完整旅程从请求发出到响应返回2.1 应用层数据如何变成 TCP 报文段你在浏览器中输入一个网址并回车应用层先生成一个 HTTP 请求。这个请求本质就是一个文本字节流里面是方法、路径、头字段和消息体。接下来TCP 层把这个字节流切成合适大小的块。切多大取决于“最大段长度”也就是 MSS。以太网常见 MTU 是 1500 字节减去常见的 IP 头部 20 字节和 TCP 头部 20 字节MSS 通常是 1460 字节。你看到的那些“TCP segment of a reassembled PDU”就是这种分段后的结果。每个 TCP 段会加上自己的头部关键字段包括源端口和目的端口用于标识两端应用序号标记本段在字节流中的位置确认号告诉对方期望的下一个字节序号标志位比如 SYN、ACK、FIN、RST控制连接状态窗口大小用于流量控制这个阶段的数据单元叫“TCP 报文段”注意它还不是“包”。2.2 在 IP 层装上寻址和路由信息TCP 报文段生成后被交给网际层。IP 协议会给它加上一个 IP 头部包含源 IP、目的 IP、TTL、协议号等字段。协议号很关键IP 层是一个多路分发器它不关心上面是 TCP 还是 UDP只看协议号。TCP 的协议号是 6UDP 是 17。接收方在收包时看到协议号是 6就知道该把这个数据交给 TCP 模块处理。接下来是路由决策。每个主机的路由表里都有一个“目标网络-子网掩码-下一跳”的映射。把目的 IP 与子网掩码相与逐条匹配路由如果都不匹配就走默认路由。这就是常说的“默认网关”的作用——它不是随便配的而是你出网时唯一的出口。一个很容易忽略的问题是 TTL。每经过一个路由器TTL 减 1减到 0 时数据包被丢弃同时路由器返回一个 ICMP 超时消息。这个机制防止了数据包在网络里死循环。你平时用的 traceroute本质就是靠连续递增 TTL 来探测每一跳的地址。2.3 链路层怎么送达ARP、以太网帧和 MTUIP 层只知道“下一跳的 IP 地址”但报文在以太网里传输时靠的是 MAC 地址。于是链路层要回答一个问题谁是下一跳这个查询由 ARP 完成。主机先在本地缓存里找找不到就发一个广播“谁的 IP 是这个请告诉我你的 MAC 地址。”目标主机收到后单播回复双方把这个对应关系缓存一段时间。每经过一跳报文里的目标 MAC 和源 MAC 都会被改写但源 IP 和目的 IP 在正常情况下不变。这个细节是很多抓包者的经验盲点。在链路层数据被封装为以太网帧头部包括目标 MAC、源 MAC、类型字段。类型为 0x0800 代表上层是 IPv4。如果 IP 包长度超过链路 MTUIP 层就会执行分片把包拆成若干个更小的分片每个分片带上标识、标志和片偏移字段由接收端负责重组。分片在这里是个双刃剑。IP 层允许分片保证了数据能穿过不同 MTU 的网络但代价是只要有一个分片丢失整个原始 IP 包都得重传。这也是为什么现代网络都尽量做“路径 MTU 发现”让双方在握手阶段协商一个更小的段避免中间环节分片。2.4 接收方逐层剥离一次解封装的全过程数据到达目标主机后流程完全反过来。网络接口层先检查帧的目标 MAC 是否与自己匹配然后剥掉以太网头按类型字段交给 IP 模块。IP 模块验证校验和检查 TTL按协议号字段交给 TCP 模块。TCP 模块根据目的端口号找到正在监听的进程把数据放进 socket 接收缓冲区。应用进程从缓冲区读取这些字节流再按 HTTP 协议解析。你可以把整个过程理解为多层快递的逐层拆箱应用层收货时看到的是商品传输层看到的是内包装上的订单号网络层看到的是外包装上的收件地址链路层看到的是货车司机手上的配送路线。3. TCP 的可靠性工程三次握手、滑动窗口与拥塞控制3.1 为什么偏偏是三次握手而不是两次或四次TCP 建立连接的过程本质不是“确认双方在线”而是“同步彼此的初始序列号”。第一次握手客户端发 SYN告诉服务端“我的初始序列号是 X”。 第二次握手服务端回 SYNACK意思是“你的 X 我收到了我的初始序列号是 Y我期待你的下一个字节从 X1 开始”。 第三次握手客户端发 ACK意思是“你的 Y 我也收到了我期待你的下一个字节从 Y1 开始”。为什么两次不行一个经典场景客户端发出的一个历史 SYN 由于网络拥塞迟迟没到客户端等不及已经重发了一个新 SYN。如果没有第三次握手服务端会误以为那个迟到的旧 SYN 是新连接于是建立一条“客户端并不打算使用”的连接还要为它分配资源和状态。三次握手刚好让双方都确认“对方确实收到了我的初始序列号”。四次握手则完全多余因为第二次的 SYN 和 ACK 完全可以塞进同一个报文里传输省一次往返。3.2 确认号、超时重传和快速重传可靠传输的兜底TCP 的可靠性建立在“按字节确认”上。发送方发出序号为 1 的 100 字节后确认号可能是 101表示“我收到 1-100 字节现在期待 101”。收到这个 ACK发送方才知道这一段成功抵达。如果长时间没收到 ACK发送方会超时重传。这个超时时间不是固定的而是根据历史往返时延动态计算称为 RTO。链路延迟越大RTO 跟着拉长。更聪明的机制是快速重传。如果某个中间段丢失接收方后面连续收到了好几个乱序的包它会反复确认同一个缺失的序号。发送方收到三个重复 ACK 时基本能断定这段数据丢了不需要继续傻等超时立即重传。这个机制让 TCP 在轻度丢包时能快速恢复不至于动不动就陷入漫长的等待。3.3 滑动窗口与流量控制既不撑爆接收方也不浪费带宽TCP 头上有一个 16 位窗口字段表示接收方当前还能收多少数据。接收方应用进程读得快窗口就大读得慢窗口就小。这就是流量控制。发送方真正能一口气发多少数据取决于两个窗口的较小值接收方通告的接收窗口以及后面讲的拥塞窗口。每收到一个 ACK窗口向右滑动发送方就能继续发下一批数据。这种流水线方式替代了“发一个等一个”的低效方案让一个慢网络的吞吐量也能被顶上去。有个细节容易被忽略16 位窗口字段的最大值是 65535 字节。放在几十毫秒 RTT 的普通局域网里够用但如果是一条高时延、大带宽的国际链路带宽延迟积可能高达几 MB65535 字节根本不够。所以 TCP 在握手阶段可以协商窗口缩放选项把窗口字段扩展成实际 32 位精度解决大窗口问题。3.4 拥塞控制大家都要活TCP 的公平竞争策略流量控制考虑的是接收方能吃多少拥塞控制考虑的则是整条网络路径能扛多少。大量发送端同时往同一条链路灌数据路由器缓存溢出丢包就开始爆发。TCP 的拥塞控制就是一套“发现拥堵、主动降速、逐步恢复”的机制。主要阶段可以看这个表阶段触发条件拥塞窗口变化说明慢启动连接建立/超时后每个 ACK 加 1 MSS指数增长从小处试探可用带宽拥塞避免cwnd 达到阈值每个 RTT 加 1 MSS线性增长避免冲过头快速重传收到 3 个重复 ACK立即重传然后快速恢复处理轻微丢包快速恢复快速重传后cwnd 减半不再回到慢启动折中降速避免吞吐量骤减慢启动指数增长很猛但这是故意的快速占用尚未用尽的带宽。到达阈值后转为线性增长逐渐逼近网络容量极限。一旦出现丢包就判定网络快撑不住了立即降速避让。这套方案看起来“粗犷”实际非常有效。它让网络上所有 TCP 流大致共享带宽、彼此让步防止一个激进进程把整条链路堵死。3.5 可靠的代价队头阻塞TCP 是严格有序的字节流传输层必须按序把数据交给应用。假如编号 5 的段丢了即使编号 6、7、8 都已经到达应用进程也必须等待 5 的重传完成才能读到后续数据。这就是队头阻塞。对文件下载和网页浏览来说这种严格有序是好事但对实时音视频、游戏传输来说这反而是灾难。一帧画面丢了一点你可以通过算法补帧但如果整个数据流卡在等一个重传用户看到的就是长时间卡顿。这个矛盾正好把我们引向另一条路——UDP。4. 放弃“可靠”反而更高效UDP 与端口细节4.1 UDP 头为什么只有 8 字节UDP 头部只有四个字段源端口、目的端口、长度、校验和总共 8 字节。它不维护连接状态不确认不重传也不管顺序。发出去的数据别人管不管它不关心。这种“裸奔”风格反而让 UDP 在很多场景下成为首选DNS 查询就一条请求一条响应没必要建立连接实时音视频有几个丢包无伤大雅但等不得重传游戏操作指令必须低延迟晚到半秒就没意义了。UDP 不负责可靠传输不代表应用不能自己做可靠逻辑。比如 QUIC 协议就是在 UDP 之上重新实现了类似 TCP 的可靠性、重传和拥塞控制同时解决了队头阻塞问题。它出现在了浏览器、视频会议、数据库连接等多个领域很多人可能用过它但没留意到。4.2 端口号、连接四元组与两个独立命名空间TCP 和 UDP 各自有独立的端口号空间也就是说 TCP 的 80 端口和 UDP 的 80 端口可以同时存在它们互不冲突。端口号范围按惯例划分0-1023 是知名端口1024-49151 是注册端口49152-65535 是动态或私有端口。一条 TCP 连接由四元组唯一确定源 IP、源端口、目的 IP、目的端口。你可以打开ss -tn看当前连接列表很多个监听在同一个服务端口上的并发连接其实每一个都有不同的源 IP 和源端口内核靠这个四元组把流量分发给不同的 socket。可能有人困惑为什么有时ss -tn里能看到大量一模一样的 LISTEN 记录因为监听只看“任意本地 IP 端口”它不关心对端是谁一旦握手完成才会生成带完整四元组的 ESTABLISHED 条目。4.3 NAT 设备如何改写端口号很多内网设备使用的是私有地址这些地址在公网上不能被直接路由。于是出口设备要做网络地址转换把内网的“源 IP 源端口”改写成公网 IP 一个临时端口同时记录一张映射表。回程数据到达出口设备时再查表反向转换把报文送回内网主机。这个过程用“门卫换凭证”类比最合适内网员工想进大楼门卫给你发一张临时访客牌你出去再回来时门卫看着访客牌上的编号就能认出你是谁。NAT 表就是那张编号台账。NAT 的一个直接后果是外部主机默认无法主动访问内网服务因为并没有一张预设的映射表。这节课上如果你经常需要暴露内网服务通常要靠出口设备上的端口映射或转发规则来解决而不是 NAT 自己主动完成。5. 用协议栈知识把故障定位到具体某一层5.1 一条 ping 命令背后的层层判断网络排查的第一步永远是把问题定位到某一层。这里有一套我常用的判断路径排查动作验证目标失败说明什么验证回环地址本机协议栈和内核是否正常本地 TCP/IP 组件损坏验证网关地址链路层、ARP、网卡是否正常网线、Wi-Fi、交换机或网关故障验证外网 IP路由和出口链路是否正常运营商链路、路由配置问题验证域名解析DNS 服务是否正常域名服务器故障或本地配置错误但你要记住一个硬边界ping 通只表示 ICMP 可达不表示业务端口可用。很多时候我遇到“能 ping 通但网页打不开”问题根本不在链路而是目标服务器的 80/443 端口没有监听起来或者中间防火墙丢弃了 TCP 连接但放行了 ICMP。5.2 从抓包还原一次接口卡顿的完整排查某个内部项目上线后接口偶发超时后端日志显示请求已经到达但建立连接阶段就消耗了一两秒。我先在服务器上抓包命令很简单sudo tcpdump -i eth0 tcp port 8080 -nn抓包结果里能看到客户端反复发送 SYN服务端偶尔才回一次 SYNACK。这说明两端之间的链路或服务器协议栈处理出现了瓶颈。接着确认服务端状态ss -ntl | grep 8080端口确实在 LISTEN代码层面也没有明显阻塞。再细查发现半连接队列满了也就是 accept 队列积压导致内核来不及响应新 SYN。这是高并发下很典型的隐患业务进程处理慢最终把内核协议栈的握手队列堵死。客户端那边看到的现象就是 SYN 重传、连接建立超时。调整了应用的线程处理能力和监听队列长度后问题消失。假如抓包时看到的是服务端直接回 RST那通常说明该端口没有进程监听或对端防火墙主动拒绝连接。RST 是协议栈正在“拒绝沟通”它和“丢包不理你”的语义完全不同。5.3 重传、乱序与 MTU 黑洞的识别网络链路质量不好时抓包会频繁出现 TCP Retransmission 或 TCP Out-of-Order。如果只是偶尔一次链路抖动可以容忍如果大量出现就要思考丢包点在哪。一个隐蔽的坑是 MTU 黑洞。表现非常典型普通网页小包正常但遇到大包请求就卡住或超时。路径上某台设备不支持超过 1500 字节的包按协议它应该返回 ICMP 分片错误但很多防火墙为了安全会把这类 ICMP 直接丢弃发送端永远不知道包太大于是一直重传一直丢。我用下面的方式验证ping -c 3 -s 1472 -M do 目标IP其中-s 1472是让 ICMP 总长加上 IP 头等于 1500-M do表示禁止本地分片。如果小包正常、这个 1500 字节的大包不通基本可以断定路径上存在 MTU 限制甚至黑洞。解决办法通常是统一两端接口 MTU或者让路径 MTU 发现能够正常工作。这个经验提醒我协议栈不是只看 TCP 状态就够了链路层的 MTU 和中间设备的 ICMP 策略同样能左右 TCP 的成功率。5.4 TIME_WAIT、半连接与短连接场景下的指标观察看连接状态也是排查的必修课。当业务大量使用短连接时主动关闭一方会进入 TIME_WAIT等待 2MSL 后才释放端口目的是防止旧连接的延迟报文串到新连接里。但高并发下TIME_WAIT 堆积会导致本地端口资源紧张ss -tan state time-wait | wc -l这个数字如果持续增长就要考虑启用连接复用或者调整本地端口范围而不是盲目调短 TIME_WAIT 时间。TIME_WAIT 的 2MSL 是有安全考量的随意调低可能引发数据串扰。判断服务端是否被半连接积压可以看ss -tan state syn-recv | wc -lSYN-RECV 数量居高不下要么是握手包回不去被丢要么是 accept 队列太短。把协议栈状态和抓包记录结合着看比单看一两种指标要准确得多。最后分享一个我养成的习惯遇到网络问题先别急着换路由器、加带宽、改代码。先用分层思想过一遍再用抓包还原一遍握手和重传最后才动配置或代码。很多所谓“难缠”的问题其实都是某一层的性能指标触底或者中间设备策略过于激进通过协议栈的状态和数据就能直接看出来。这套方法帮我在真实项目里避过不少坑也省掉了大量跨团队扯皮的时间。对任何一种复杂系统来说把现象定位到具体的“层”永远是解决问题的第一步。

相关新闻

大小球分拣系统实战手记:从传感器选型到PLC调试完整解析

大小球分拣系统实战手记:从传感器选型到PLC调试完整解析

1. 为什么写这份大小球分拣系统实战手记前阵子帮某自动化公司调试一套大小球分拣系统,整个项目从机械图纸评审到现场跑通花了三周多。期间踩了不少坑,也积累了一些值得记录的经验——尤其是那些控制逻辑上的细节,图纸上看不出来,说…

2026/10/17 4:44:14 阅读更多 →
AI整合安全实战:从提示词注入防御到系统级硬约束

AI整合安全实战:从提示词注入防御到系统级硬约束

直接说结论:AI整合项目里,提示词工程环节的安全策略,决定了整个系统的下限。我在多个接入大型语言模型的项目里见过同一类事故——提示注入、系统提示词被撬、训练数据被套话、输出未经校验就进了业务流程。这些问题单看都不严重,…

2026/10/17 4:43:14 阅读更多 →
多智能体编排六种模式详解:从顺序链到反思循环

多智能体编排六种模式详解:从顺序链到反思循环

做多智能体应用时间久了,你会发现真正难的从来不是单个智能体怎么写,而是多个智能体怎么协作。MAF系列写到这里是第13篇,前几篇陆续讲过工具调用、记忆管理、上下文控制,这篇集中把“智能体编排”这件事拆开聊。所谓编排&#xff…

2026/10/17 4:43:14 阅读更多 →

最新新闻

Claude Code模板化实战:把项目约定固化,让AI编程助手真正懂你

Claude Code模板化实战:把项目约定固化,让AI编程助手真正懂你

项目标题往那摆,说白了就是一句话的事儿:Claude Code 的真正效率,不在于你问得多细,而在于你给它的模板有多靠谱。今年 Claude Code 这类命令行 AI 编程工具火了之后,最容易被忽略的就是“模板化”这件事。很多人拿到 …

2026/10/17 5:23:24 阅读更多 →
金智维入选WISE2025商业之王:企业级RPA数字员工如何实现精度与效率双提升

金智维入选WISE2025商业之王:企业级RPA数字员工如何实现精度与效率双提升

金智维入选“WISE2025商业之王”年度企业,这件事在自动化圈子里这几天的讨论度确实不低。很多人问我怎么看,我的标准一直很简单:不只看它拿了什么奖,而是看这个奖背后的评判维度,是不是真的踩中了企业自动化的命门。按…

2026/10/17 5:23:24 阅读更多 →
让Claude Code懂你的项目:CLAUDE.md、斜杠命令与工作流全解析

让Claude Code懂你的项目:CLAUDE.md、斜杠命令与工作流全解析

用过Claude Code的朋友应该都有体会:刚上手那阵子特别爽,随手问一句它就能翻代码、改文件、提提交,感觉像开了挂。但用上一周、两周之后,问题就来了——它总是重复问你已经回答过的问题,总是不按你仓库里的目录习惯找文…

2026/10/17 5:23:24 阅读更多 →
Claude Code模板库实战:打造可复用的AI编程工作流

Claude Code模板库实战:打造可复用的AI编程工作流

一个多月前,我把分散在多个仓库里的 Claude Code 配置、斜杠命令和项目记忆文件整理成了一个 claude-code-templates 模板库。原本只是想解决自己来回复制粘贴的问题,没想到它对团队协作的帮助更大。这篇文章就把这套模板的设计思路、具体内容和落地过程…

2026/10/17 5:23:24 阅读更多 →
分类模型与评估指标实战:从混淆矩阵到阈值选择

分类模型与评估指标实战:从混淆矩阵到阈值选择

做算法这几年,我招过不少人,也带过不少新人。大家第一次接触项目时,问得最多的往往不是某个公式怎么推,而是“这批数据到底能上什么模型”。每次听到这个问题,我都会先把话题引到另一边:你想用它判断什么&a…

2026/10/17 5:23:24 阅读更多 →
Claude Code模板实战:CLAUDE.md、自定义命令与hooks全解析

Claude Code模板实战:CLAUDE.md、自定义命令与hooks全解析

1. 先把这个标题拆明白看到“claude-code-templates”这个项目名,估计大部分人都能猜个大概:这是给Claude Code用的模板集合。但真正用过Claude Code的人会知道,模板这两个字背后藏的东西远比想象中多——它不是简单的几段提示词,…

2026/10/17 5:22:24 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →