用Wireshark抓包分析QQ流量:从TCP/UDP到TLS的实操指南

有人问起网络相关的实操项目,我最推荐的就是拿着Wireshark抓自己电脑上的QQ流量。原因很简单:工具免费、对象现成、反馈直接。你不用搭什么测试服务器,只要电脑上装一个Wireshark,再把QQ登录、发消息、传文件的操作重演一遍,屏幕上就能看到一堆数据包在跑。这个项目的门槛比想象中低,即使你只懂一点TCP端口的皮毛也能跟着做下来;同时深度又够——涉及DNS解析、TCP/TLS连接、UDP传输、流量统计,一个不落。做这个项目能解决的问题很具体:搞清楚QQ通信到底用了哪些端口、连接了哪些服务器、产生多大流量,顺带把Wireshark的过滤器用熟,为后续排查网络故障打基础。下面我就晒一下自己的实际操作流程。

1. 项目拆解:QQ流量分析要解决什么问题

1.1 QQ的通信结构为什么值得观察

QQ不是只有单一连接。它既要用UDP发语音、传文件,也要用TCP维持登录和消息状态;既有服务器中转,也有点对点直连。这种结构决定了它不会老老实实只走一个端口,而是会在一段时间内产生多种形态的数据包。

我用Wireshark抓到的典型场景通常是这样的:登录时先有DNS查询,紧接着是TCP握手和TLS加密连接建立,同时伴随一批UDP小包向外探测。进入正常使用阶段后,UDP包和TCP包交替出现,图片传输时TCP流量明显拉高,语音通话时UDP包密度变大,文件传输还可能看到大量连续的数据包冲向同一IP。

这个复杂度恰恰是学习网络协议最好的素材。如果只抓一个静态网站页面,你看到的无非是“TCP三次握手→HTTP请求→响应→断开”,十几分钟就乏味了。而QQ流量分析能把TCP、UDP、DNS、TLS、TCP Keep-Alive、P2P直连这些知识点全部串起来,每一个包都能对应到一个实际操作场景里。

1.2 这个项目重点训练的核心技术点

做这个项目不是拿着Wireshark乱点一通,而是要抓住几项关键能力。

首先是分层阅读的能力。看到任何一个数据包,你能解释出“链路层是谁传给谁、网络层源目IP是什么、传输层用了什么协议什么端口、应用层有没有可读内容”。QQ的应用层内容基本加密,所以重点会落在传输层以下,这反而帮你把TCP/IP的基础打扎实。

其次是过滤器语法。Wireshark的过滤器分两层——捕获前用的BPF语法和捕获后用的显示过滤语法,两者完全不同。很多人一上来混着写,结果抓包一片空或者显示结果奇奇怪怪。这个项目必须把两组语法都练熟。

第三是流量统计的宏观视角。很多新手抓着包就盯着一两个包看,忘了先看“整体”。实际上Wireshark的“统计”菜单非常强大,它会告诉你哪个IP之间流量最大、UDP和TCP占比多少、哪个连接持续时间最长。先宏观后微观,这才是排障时真正高效的分析顺序。

我习惯把整个分析过程拆成四步:环境准备、完整抓包、特征定位、统计复盘。每一步都有对应的坑,下面按顺序讲。

2. 环境准备:装好Wireshark,选对网卡才开工

2.1 安装过程中的关键选项

Wireshark本身安装很简单,但Windows下有一个坑:安装到最后一步会问你是否安装Npcap,这个一定不能跳过。Npcap是底层抓包驱动,没有它Wireshark根本读不到网卡数据。我见过不少人装完Wireshark打开接口列表一片空白,十有八九就是安装时顺手把Npcap取消了。

Linux下相对省事,Ubuntu这类发行版直接执行:

sudo apt install wireshark

安装过程中会询问是否允许非root用户抓包,建议选择“是”,然后把自己加入wireshark用户组,否则每次都要sudo启动。

macOS用户用Homebrew装或者直接下载dmg包都行,首次打开需要在“系统设置→隐私与安全性”里允许加载驱动,否则同样抓不到包。

装好之后先做一次自测:打开Wireshark,选一个接口,浏览器访问任意网站,看能不能抓到包。这一步能提前暴露驱动、权限、防火墙问题,别等分析QQ的时候才发现环境有问题。

2.2 网卡选择与混杂模式的取舍

Wireshark启动后显示的接口列表里,每一行都有实时波形。有波动的接口说明正在收发数据,完全静止的接口基本可以排除。

电脑上同时有有线网卡和无线网卡时,千万别选错。QQ流量如果走Wi-Fi,你抓有线网卡自然什么都看不到。最简单的判断方式:看接口名旁边的IP地址。如果你的电脑IP是192.168.x.x,选那个地址对应的接口就对了。

还有一个概念叫混杂模式。默认情况下网卡只把发给自己的数据帧交给上层处理,开混杂模式之后,网卡会把经过它的所有数据帧都收下来。Wireshark默认开启混杂模式,但现在的交换机是交换式工作,不会把其他人的流量广播给你,所以抓不到别人的包是正常的,这本身是一种网络隔离设计。

要抓本机回环流量,比如本机进程之间的通信,需要选择名为Loopback或lo的接口。正常上网流量不会出现在这里。

2.3 抓包过滤器和显示过滤器别混淆

这是新手最容易翻车的地方,我单独拎出来讲。

抓包过滤器是在开始捕获之前就设定的,用来决定哪些数据包被录制进内存。它用的是BPF(伯克利包过滤)语法,长这样:

host 192.168.1.10
udp port 8000
host 192.168.1.10 and (udp port 8000 or tcp port 443)

显示过滤器是在捕获完成之后,从已经录好的数据包里筛出你想看的那部分,它使用的是Wireshark的字段表达式语法:

ip.src == 192.168.1.10
udp.port == 8000

注意区别:BPF语法里用host、port、and、or,显示过滤器里用==、&&、||,字段名也是模块化的。

我的建议是:开始抓包时设尽量宽松的抓包过滤器,宁可多抓,别漏抓;停止抓包后用显示过滤器慢慢缩小范围。比如抓QQ流量,抓包过滤器定一个host 你的IP就够了,剩下的分析工作交给显示过滤器,这样不会因为一开始条件太严把关键包漏掉。

3. 完整抓包流程:登录消息文件一次抓全

3.1 抓包前把QQ进程清干净

很多人犯的错误是直接开着已经登录的QQ去抓包,结果抓到的只有心跳包和消息通知,登录过程完全缺失。登录过程是整个分析里信息量最丰富的部分,包含DNS查询、TCP握手、TLS握手。

所以我建议先彻底退出QQ。注意这里有个细节:点QQ右上角的红叉并不会退出程序,它只是收进系统托盘。你需要在托盘图标上右键选择“退出”,如果还是不行,打开任务管理器把所有包含QQ字样的进程结束掉。

确认进程清干净后再打开Wireshark,然后重新启动QQ,输入账号密码或扫码登录。这样从第一个DNS包开始,整个过程都会被完整记录下来。

3.2 在正确接口上开始捕获

双击选择你的活动网卡,Wireshark立即开始捕获。为了控制数据量,我在捕获前通常会加上一条抓包过滤器,只保留自己这台主机的流量:

host 192.168.1.10

如果你的电脑有多个网卡,这个IP要换成实际联网的那个IP。

接下来你正常操作QQ:登录、随便进一个群聊、发一条文字消息、发一张图片、再给好友传一个小文件。每做完一步可以停顿几秒,这样后续分析时能根据时间点把不同操作对应的数据包区分开。操作完之后点击红色方块停止捕获。

这时候别急着关界面。先把文件保存下来,按Ctrl+S导出为pcapng格式。后面分析要用到的可能只是一小撮包,但存档留全是有好处的,反反复复回去翻原始数据是常事。

3.3 用显示过滤器逐层剥开数据包

保存完之后,分析才算真正开始。我习惯按这个顺序操作一遍。

先看整体有多少包、哪些协议占比最高。点开“统计→协议分级”,你通常能看到TCP和UDP占了大头,DNS也有一小部分。这个结果本身就能反映QQ的通信特点——混合传输,不只是一个端口。

接着用显示过滤器查看具体流量。要快速定位所有DNS包,用:

dns

这些数据包里能看到QQ客户端发起了哪些域名查询。比如登录服务器、图片服务器、推送服务器等,域名后缀通常能看到qq.com的影子。这能帮你对应出“QQ在找哪些服务器”。

定位TCP加密连接,用:

tcp.port == 443

点开任意一条TLS记录,展开TLS握手层,找到ClientHello消息里的“Server Name Indication”扩展,这里会直接显示客户端要连的域名。这是加密流量里少数还能明文看到的元数据,非常有用。

定位UDP直连流量,用:

udp.port == 4000

8000端口是老版本的经典观察点,现在的新版本里你还会看到UDP的随机高位端口以及QUIC这类UDP承载的加密传输。UDP包体通常不大,但数量多,突发的密集小包往往是探测包或媒体包。

3.4 用统计面板看宏观流量分布

从宏观到微观是我反复强调的分析顺序。统计面板能帮你快速建立整体概念,然后再有针对性地放大细节。

“统计→会话”是最值得先看的面板。它把通信双方按IP地址对列出来,显示每个方向的包数和字节数。对照你刚才的操作,你能看到某个IP地址上流量特别大,那多半就是图片或文件传输的服务器;如果一堆连接都指向同一个IP,说明QQ大量使用了某台中心服务器。

“统计→IO图”则适合看时间维度的流量变化。把时间粒度调成1秒或2秒,就能看到登录时有一个流量小高峰,发图片时又出现一个高峰,而平时只有缓平的细线。这就是所谓“流量画像”的基础,后续做异常行为识别也是这个思路。

看完统计再回到列表一个一个追包,效率会高非常非常多。

4. 关键流量特征:QQ通信怎么读

4.1 登录过程的DNS与TLS时序

登录过程是整个抓包里最“标准”的一段流量,学会读它,你就能理解大多数应用启动时的通信逻辑。

QQ启动后,第一步几乎都是DNS解析。用dns过滤,你会看到客户端向本地DNS服务器发起一批查询请求,域名就是QQ各类服务用的子域名。这一步告诉我们QQ要去哪里连服务器,也解释了为什么DNS出问题时QQ会提示网络异常。

DNS解析完成后,紧接着就是TCP三次握手。用tcp.flags.syn == 1能看到握手的第一包,SYN是连接请求,SYN-ACK是服务器回应,ACK是客户端最后的确认。三次握手之后建立TCP连接,TLS握手开始,ClientHello发出,协商加密版本和套件。

到这一步,应用层内容已经不可读了。这是正常的,现代通信软件默认加密是基本设计。我们仍然能拿到有价值的信息:连接了哪个域名、走了哪个端口、用了多长的加密协商过程、握手是否成功。

登录阶段往往还会伴随一批UDP小包。这些包大部分是P2P探测或能力探测,目的是确认双方能不能直连。它们在Wireshark里看起来就是一批短的UDP数据报,端口可能是8000或者随机高位端口。

4.2 文字消息、图片、文件传输的流量对比

在同一个抓包文件里,文字消息、图片和文件传输的流量特征差异非常明显,这是观察应用行为很好的切入角度。

纯文字消息产生流量极小。一条简短文字即使算上协议开销,通常也就几百字节上下。在Wireshark里表现为一个小包或几个连续的小包,TCP和UDP都有可能。如果你想验证,可以在停止抓包前连续发几条消息,再回头数一下对应时间点的包数量,非常直观。

图片消息就不一样了。图片一般几十到几百KB,传输时会在短时间内产生一串连续的同向数据包,TCP窗口连续推送,IO图表现为一个尖峰。因为QQ会压缩传输,你不能按原始文件大小直接对应字节数,但量级不会差太多。

文件传输的特征更“暴力”。大文件经常走P2P直连,表现为大流量持续数秒甚至更久,大量UDP包或TCP包涌向同一个IP地址,会话面板里这对IP的字节数会远远超过其他连接。如果P2P连不通,则会退回服务器中转,表现为TCP流量。

通过对比这三种场景的数据包大小和速率,你对“应用层行为在传输层的投影”会有一个非常具象的理解。

4.3 心跳包和长连接如何识别

登录之后,即使你完全不动QQ,Wireshark里也会隔一段时间冒出一个包,这基本上就是心跳包。

为什么要有心跳包?多数设备在NAT网络内部使用私有IP,NAT设备会在端口映射表里记录这条会话,但是这个映射有时间限制,如果长期不通信会被回收。客户端为了防止映射失效,必须周期性地发一个很小的包来“续命”。

在Wireshark里识别心跳包有几个特征:包很小,通常几十字节;周期性非常稳定;源和目的IP始终不变。你可以用显示过滤先找到QQ登录后的那批流量,然后按时间排序,观察同一个五元组(源IP、源端口、目的IP、目的端口、协议)是否每隔一段固定时间出现一次。

更精确的做法是用“统计→流量图”把每对连接的发包节奏画出来,心跳的等间隔小竖线一眼就能认出来。这个节奏在排障里很有用——如果心跳断了,说明网络链路或NAT映射出了问题,应用就会显示“连接中”或反复重连。

5. 常见问题排查:抓包翻车现场实录

5.1 过滤器结果空白

我见过最多的问题就是显示过滤器写完后列表一片空白。多数情况不是没抓到数据,而是过滤器语法压根不对。

常见错误有三个。第一个是把抓包过滤的写法带到显示过滤里,比如直接打udp port 8000,正确写法应该包含字段和运算符:udp.port == 8000。第二个是拼错字段名,比如写成udp.destport,实际字段是udp.destport在某些版本里有效,但不建议依赖补全;简洁的做法就是用udp.port。第三个是忘了表达式之间的空格和括号。

判断语法对不对,看过滤输入框的背景色。输入框是绿色说明语法有效,红色说明有错。黄色是警告,能执行但可能不符合预期。这点Wireshark做得很直观。

如果你不想记字段名,可以直接在数据包列表里右键点击某个字段,选择“作为过滤器应用”或者“准备过滤器”,Wireshark会自动生成正确表达式。

5.2 明明聊得很欢,列表一片寂静

这个问题的根源通常不在过滤器,而在信号源头。

先检查接口是不是选对了。无线网卡和有线网卡最容易搞混,电脑同时连着Wi-Fi和网线时,流量走的哪块网卡,Wireshark就得选哪块。再看Npcap驱动有没有正常加载,Windows下如果Wireshark没有以管理员权限启动,有时会出现完全看不到数据的情况,重开后问题就消失了。

还有个容易被忽略的点:应用协议不一定是按你设想的端口走。QQ通信走TCP 443和HTTP/3(UDP 443)等场景越来越常见,某些版本还会使用其他端口。如果你在抓包过滤器里只设定了某一个端口,其他流量就会被漏掉。最稳妥的做法是把抓包过滤器放宽到host 你的IP,把所有包都录下来。

最后是杀毒软件或防火墙干扰。这类问题不是什么时候都出现,但只要换了一台机器、装了某个安全软件就出状况,基本就是它。可以先暂时关闭针对Wireshark的监控规则,重试抓包,定位到问题后再恢复。

5.3 加密流量还能看什么

刚开始做流量分析,很多人会把希望寄托在“看到明文消息”上,这个方向从起点就偏了。QQ的应用层内容是加密的,这是现代通信软件的基本隐私保护设计。你没必要、也不应该试图去还原消息明文。

但加密不代表无信息可挖。传输层元数据依然大量暴露在流量里:目的IP地址、目的端口、数据包大小、通信频率、连接方向、连接持续时间、SNI域名。这些信息已经足够做很多事情。

比如通过SNI域名,你能知道QQ正在连接哪一类服务:登录服务、文件服务、推送服务。通过数据包大小,你能判断这个连接是在传图片还是在传文字。通过连接频率和心跳周期,你能判断应用的活跃状态。这些“元数据层面的观察”本身就是网络分析最常见的日常操作。

5.4 手机QQ抓包的一个有效方案

很多人想抓手机上的QQ流量,电脑上直接开Wireshark是看不到的。最朴素有效的方法是用电脑开一个无线热点,手机连上这个热点,然后Wireshark抓热点网卡接口的流量。

电脑开热点后,手机会从热点网卡拿到一个网段IP,比如192.168.137.x。Wireshark里选择这个热点对应的接口,抓包过滤器定为host 手机IP,然后让手机上的QQ完成操作就可以了。

手机流量经过电脑转发,所以Wireshark能看到手机发往互联网的所有数据包。这个方案不依赖任何额外工具,纯粹用系统自带功能和Wireshark就能完成,而且只会作用在你自己控制的设备和热点范围里,边界清晰,适合学习验证。

6. 安全红线与后续进阶

6.1 流量分析不能碰的边界

抓包分析是一个非常好用的技能,但它有明确的界限。合法的场景是你分析自己的设备、自己控制的网络环境,或者获得了明确授权的教学实验环境。在公共Wi-Fi下试图捕获和分析其他人的通信,哪怕只是出于好奇,也越了红线,可能涉及侵犯他人隐私。这不是技术能力强弱的问题,而是行为边界问题。

我在做教学时一贯建议:练习对象就用自己电脑上的应用,或者用虚拟机搭建一个隔离的实验环境,里面装客户端和模拟服务端,所有流量都在可控范围内流转。这样既能练到协议分析的技术,又不会触碰不该碰的数据。

遇到任何抓包里看到的内容,也要保持专业态度。数据包是网络传输的事实记录,分析它应该服务于排障、学习、性能优化,而不是用来窥探或传播他人信息。守住这个边界,Wireshark是极好的学习工具;越界一步,性质就完全不同了。

6.2 完成这个项目后怎么继续深入

做完QQ流量分析,你已经把Wireshark的基本操作链路跑通了。下一步可以往几个方向扩展。

一个方向是做时间维度更深的分析。用tcpdump或者Wireshark自带的tshark命令行在后台连续抓包,定时导出统计:

tshark -r capture.pcapng -T fields -e ip.src -e ip.dst -e udp.port -e tcp.port > endpoints.txt

然后把这份日志拿去做可视化,观察一天内通信频率的变化,思路就从“单个会话分析”走向“网络行为画像”。

另一个方向是用Python读pcap文件做程序化分析,比如用scapy或者pyshark批量提取特征。手动点Wireshark看到的是单次行为,批量统计才能看出规律。

还可以拿同样一套方法去分析其他常用应用的流量特征,对比它们在连接模式、加密策略、端口使用上的差异。对比过之后你会发现,QQ流量分析的很多结论和方法是可以迁移的,网络协议的基本逻辑是相通的。

最后说一个我自己的习惯:第一次做流量分析,别急着点开每一个包看十六进制,那样很容易一头扎进细节里。先把统计面板里的会话、协议分级、IO图都翻一遍,形成整体认识,再针对你关心的那个操作去过滤定位,效率会高很多。我每次做网络排障也是这个顺序,先宏观后微观。Wireshark这个工具越用越顺手的点就在于,当你把它当成观察窗口来用的时候,网络协议就不再是纸上概念,而是每个字节都能追踪痕迹的现场。

相关新闻

多轮对话式自动修复:ChatGPT如何以0.42美元成本修复162个真实Bug

多轮对话式自动修复:ChatGPT如何以0.42美元成本修复162个真实Bug

读了这篇论文我第一反应是:修 bug 这个活儿,过去我们当它是一道“一次性推理题”,给足上下文、让模型生成一行补丁就交卷;但它其实更像一场“持续对话”——第一轮猜错了不要紧,把报错喂回去,让它看到自己错…

2026/10/20 16:06:26 阅读更多 →
C/C++内存管理底层逻辑:从地址空间到内存泄漏排查

C/C++内存管理底层逻辑:从地址空间到内存泄漏排查

很多人学 C/C 的时候,最头疼的其实不是语法,而是内存。指针、堆、栈、内存泄漏、悬空指针,这些词背得滚瓜烂熟,真到写代码的时候还是心里发虚。我当年也是这样,直到后来被线上项目里一个诡异的崩溃问题折磨了三天&…

2026/10/20 16:06:26 阅读更多 →
ICMP隧道原理与icmptunnel实战:内网穿透的合规信道

ICMP隧道原理与icmptunnel实战:内网穿透的合规信道

1. 项目概述:为什么ICMP隧道在内网渗透中不可替代内网渗透系列里,隧道技术是绕不开的核心能力。而当所有常规端口被封死、HTTP/HTTPS流量被深度检测、DNS查询被限频、甚至UDP都被策略拦截时,icmptunnel这个名字就会从工具列表里突然跳出来——…

2026/10/20 16:05:24 阅读更多 →

最新新闻

Postgres-XL GTM节点管理器:分布式事务核心组件的高可用运维实践

Postgres-XL GTM节点管理器:分布式事务核心组件的高可用运维实践

Postgres-XL 这个架构,用过的朋友应该都清楚,它的核心组件 GTM(Global Transaction Manager)就像整个集群的“总调度室”。所有跨节点的分布式事务、全局快照、事务 ID 分配,全部由它一手包办。但正因为 GTM 太核心了&…

2026/10/20 16:58:17 阅读更多 →
场景切换决定AI Agent选型成败:记忆、工具与权限的隔离之道

场景切换决定AI Agent选型成败:记忆、工具与权限的隔离之道

1. 为什么“场景切换”是智能体选型里的生死题做智能体(AI Agent)选型的人,十有八九会把注意力放在模型参数量、指令遵循能力、工具调用(Function Calling)准确率这些指标上。但真正把系统放到生产环境里跑过一段时间之…

2026/10/20 16:58:17 阅读更多 →
两级式光伏逆变器LVRT仿真:改进MPPT与DSOGI锁相环全解析

两级式光伏逆变器LVRT仿真:改进MPPT与DSOGI锁相环全解析

电压跌落瞬间,母线被前级Boost继续灌能量,逆变器侧又限流出不去,整条直流母线血压飙升;锁相环在不对称故障下疯狂抖动,电流指令跟着扭曲;好不容易撑到电压恢复,MPPT又急着回爬最大功率点&#x…

2026/10/20 16:58:17 阅读更多 →
AI智能体核心概念解析:从工具调用到安全边界的落地指南

AI智能体核心概念解析:从工具调用到安全边界的落地指南

AI 智能体(Agent)这个词,这两年已经快被聊烂了。你在技术群、开源社区、公司周会上,几乎每周都能听到“我们做了一个智能体”的说法。但真等到自己上手,很多人的感受是:概念好像都听过,一动手就…

2026/10/20 16:58:17 阅读更多 →
构建可验证、可组合、可进化的技能操作系统

构建可验证、可组合、可进化的技能操作系统

1. 项目概述:当“skills”不再只是简历上的单词,而成为可验证、可组合、可进化的个人能力操作系统最近在几个技术社区和职业发展论坛里,“skills”这个词高频出现,但几乎没人把它当真——它被塞进简历末尾的“技能栏”&#xff0c…

2026/10/20 16:58:17 阅读更多 →
本地PDF转换工具实战:Python与PySide6实现图片转PDF和PDF转Word

本地PDF转换工具实战:Python与PySide6实现图片转PDF和PDF转Word

“得赶紧把这个合同扫描件转成 Word,领导十分钟后要”,这种话不知道你们有没有听过。反正我听完之后的第一反应不是去打开在线转换网站,而是冷静地在本地跑起了一个自己写的小工具。今天想分享的,正是这个基于 Python 和 PySide6 …

2026/10/20 16:57:16 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50: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/20 9:50:45 阅读更多 →