网络工程师必备:Tcpdump核心原理与实战排查技巧详解
1. 项目概述为什么网络工程师都离不开Tcpdump如果你在Linux服务器上排查一个诡异的网络超时问题或者想搞清楚两个微服务之间到底在“聊”什么又或者只是想验证一下防火墙规则是否生效那么有一个工具几乎是你唯一且最佳的选择——tcpdump。它不是图形界面工具没有Wireshark那样花哨的流量图但它就像一把精准的手术刀能让你直接窥探到网络数据流动的本质。对于运维、开发、安全工程师来说tcpdump是命令行环境下的“听诊器”是定位网络问题的第一道防线。很多人觉得它命令复杂、输出难懂但一旦掌握你会发现它比任何图形化工具都来得直接和高效。这篇文章我就以一个老运维的角度带你彻底吃透tcpdump从核心原理到实战命令再到那些踩过坑才明白的排查技巧让你下次遇到网络问题时能自信地敲下那行命令。2. Tcpdump核心原理与工作模式解析2.1 数据包捕获的基石Libpcap库tcpdump本身并不直接与网卡驱动打交道它的核心能力来源于一个名为libpcapLinux/Unix或WinPcap/NpcapWindows的库。理解这一点至关重要因为tcpdump的所有高级功能本质上都是对libpcap库功能的封装和调用。libpcap的工作流程可以概括为以下几个步骤打开设备指定要监听的网络接口如eth0、ens33或any所有接口。设置过滤规则这是tcpdump高效的关键。规则在数据包进入用户空间之前由内核中的BPFBerkeley Packet Filter虚拟机进行过滤。这意味着不符合条件的包在早期就被丢弃了极大地减少了用户空间的处理开销和内存占用。这也是为什么tcpdump的过滤表达式如此重要且高效的原因。设置混杂模式默认情况下网卡只接收发给本机MAC地址或广播/多播地址的数据包。开启混杂模式后网卡会接收所有流经该物理网络的数据包无论目标是不是自己。这对于监听交换机环境下的其他主机流量是必要的但需要root权限。循环抓包libpcap进入一个循环不断从内核缓冲区读取捕获到的数据包。回调处理每抓到一个包就调用用户指定的回调函数在tcpdump中这个函数负责解析和打印包内容。注意正因为依赖libpcap所以在安装tcpdump前通常需要先确保系统已安装libpcap-devel或libpcap开发包。抓包行为本身需要读取原始网络数据因此必须使用root权限或具有CAP_NET_RAW能力的用户来执行。2.2 输出格式解读从十六进制到人类可读tcpdump的默认输出虽然看起来杂乱但每一行都遵循一个固定的结构。理解这个结构是读懂抓包结果的第一步。以一个典型的TCP SYN包输出为例10:05:23.456789 IP 192.168.1.100.54321 203.0.113.1.80: Flags [S], seq 1234567890, win 64240, options [mss 1460,sackOK,TS val 1000 ecr 0,nop,wscale 7], length 0我们来拆解一下时间戳10:05:23.456789。精确到微秒对于分析延迟、超时问题极其重要。协议IP。表示这是IPv4数据包。也可能是ARP、IPv6等。源地址与端口192.168.1.100.54321。格式为IP.端口。这里的54321是一个临时客户端端口。方向。表示数据包流向。目标地址与端口203.0.113.1.80。目标IP是203.0.113.1目标端口是80HTTP。TCP标志位Flags [S]。S代表SYN表示这是一个连接发起包。其他常见标志有FFIN结束、PPSH推送数据、RRST重置、.ACK确认。序列号seq 1234567890。TCP连接的序列号用于保证数据有序。窗口大小win 64240。通告的接收窗口大小用于流量控制。TCP选项options [...]。包含MSS最大报文段长度、SACK选择性确认、时间戳等协商参数。时间戳TS val 1000 ecr 0对于计算RTT往返时间非常有用。数据长度length 0。因为SYN包不携带应用层数据所以长度为0。对于HTTP等应用层协议tcpdump在默认的-v或-vv模式下会尝试解析并显示部分内容但更常用的方式是将原始数据包保存下来然后用Wireshark进行深度分析。3. 核心命令语法与常用参数详解tcpdump的命令行参数繁多但掌握核心的十几个就足以应对90%的场景。其基本语法为tcpdump [选项] [过滤表达式]3.1 基础控制选项这些选项决定了tcpdump的全局行为。-i 接口指定监听的网络接口。这是最常用的参数之一。使用-i any可以监听所有接口的流量在不确定问题出在哪块网卡时非常有用。# 监听 eth0 接口 tcpdump -i eth0 # 监听所有接口 tcpdump -i any-n禁止将地址和端口号转换成名称。强烈建议始终加上此参数。如果不加-ntcpdump会尝试对每个IP进行DNS反向解析对每个端口查找/etc/services中的服务名。这不仅会产生大量额外的DNS查询流量干扰抓包结果还会严重拖慢输出速度在流量大时可能导致丢包。# 不使用 -n输出可能为host-192-168-1-1.domain http: ... # 使用 -n输出清晰为192.168.1.1.23456 192.168.1.2.80: ... tcpdump -i eth0 -n-nn在-n的基础上禁止将端口号转换为服务名。双重保险确保输出最原始的数字信息。-c 数量抓取指定数量的数据包后自动停止。用于在流量大的场景下进行抽样检查避免刷屏。# 只抓10个包 tcpdump -i eth0 -c 10-s 快照长度设置抓取每个数据包的“快照”长度单位字节。默认是96字节这通常只够看到IP和TCP/UDP头看不到应用层数据。为了抓取完整的应用层数据如HTTP请求体需要将这个值调大。-s 0表示抓取完整数据包受限于操作系统限制。# 抓取每个包的前1500字节典型MTU大小 tcpdump -i eth0 -s 1500-w 文件将原始数据包写入文件而不是打印到屏幕。文件格式通常是pcap或pcapng可以被Wireshark直接打开分析。这是生产环境排查问题的标准做法先保存证据再离线分析。# 将抓包保存到文件 tcpdump -i eth0 -w capture.pcap-r 文件从之前保存的pcap文件中读取并分析数据包而不是从网络接口抓取。# 读取抓包文件并显示 tcpdump -r capture.pcap-v / -vv / -vvv增加输出的详细程度。-v会显示更多包头信息如TTL、IP ID等-vv和-vvv会显示更详细的应用层数据。但通常更细致的分析依赖于写入文件后用Wireshark查看。3.2 过滤表达式精准定位的艺术过滤表达式是tcpdump的灵魂它基于BPF语法功能强大且高效。表达式由原语关键字、协议、主机名等和运算符and,or,not构成。常见原语类型限定host,net,port,portrange。# 抓取与主机 10.0.0.1 相关的所有流量 tcpdump host 10.0.0.1 # 抓取来自或去往网络 192.168.0.0/24 的流量 tcpdump net 192.168.0.0/24 # 抓取端口 80 的流量 tcpdump port 80 # 抓取端口范围 8000-9000 的流量 tcpdump portrange 8000-9000方向限定src源,dst目标。# 抓取源IP是 10.0.0.1 的流量 tcpdump src host 10.0.0.1 # 抓取目标端口是 443 的流量 tcpdump dst port 443协议限定tcp,udp,icmp,arp,ip,ip6等。# 只抓TCP流量 tcpdump tcp # 只抓ICMP流量常用于ping测试 tcpdump icmp更细粒度的协议字段过滤使用proto [ expr : size ]语法。这是高级用法可以检查协议头部的特定字段。# 抓取TCP SYN包 (TCP头第13字节的第2位为1) tcpdump tcp[13] 2 ! 0 # 抓取TCP RST包 (TCP头第13字节的第4位为1) tcpdump tcp[13] 4 ! 0 # 抓取ICMP Echo请求 (Type8) 或回复 (Type0) tcpdump icmp[0] 8 or icmp[0] 0运算符与组合and或逻辑与。or或||逻辑或。not或!逻辑非。使用括号()来改变优先级。# 抓取来自 192.168.1.1 且目标端口是 80 或 443 的流量 tcpdump src host 192.168.1.1 and (dst port 80 or dst port 443) # 抓取非HTTP且非HTTPS的TCP流量 tcpdump tcp and not port 80 and not port 4434. 实战场景与经典命令组合理论说再多不如看几个实战例子。下面这些命令组合是我多年工作中总结出来的“瑞士军刀”可以直接复制使用。4.1 场景一基础监控与流量窥探查看本机所有网络活动tcpdump -i any -n这是最粗略但也最全面的查看方式能快速感知到哪些IP在和你的机器通信。首次排查问题时常用。监控特定主机的所有流量tcpdump -i eth0 -n host 192.168.1.100当你怀疑某台服务器如192.168.1.100有异常网络行为时在网关或同一网段的其他机器上运行此命令。监控特定端口的流量如数据库tcpdump -i eth0 -n port 3306用于监控MySQL数据库的连接和查询请求如果应用使用明文协议甚至能看到部分SQL语句。4.2 场景二HTTP/HTTPS应用层问题排查抓取HTTP请求和响应tcpdump -i eth0 -s 0 -A tcp port 80 and (((ip[2:2] - ((ip[0]0xf)2)) - ((tcp[12]0xf0)2)) ! 0)这个命令看起来复杂其核心思想是抓取TCP 80端口上且载荷长度不为0的数据包即排除纯ACK包然后用-A以ASCII形式打印应用层数据。这样你就能看到HTTP的请求头、响应头甚至HTML内容。对于HTTPS443端口由于内容加密你只能看到握手过程看不到明文数据。抓取与特定域名如api.example.com的通信 首先需要解析出域名对应的IP因为tcpdump过滤是基于IP的。可以先用dig或nslookup获取IP然后过滤。# 假设 api.example.com 解析为 10.1.2.3 tcpdump -i eth0 -n host 10.1.2.3保存完整会话供Wireshark分析tcpdump -i eth0 -s 0 -w http_traffic.pcap port 80这是最推荐的做法。在服务器上抓包保存为pcap文件然后下载到本地用Wireshark图形化工具进行深入分析。Wireshark可以方便地跟踪TCP流、解密TLS如果有密钥、统计流量等。4.3 场景三网络连接与性能问题诊断查看TCP连接建立与断开tcpdump -i eth0 -n tcp[tcpflags] (tcp-syn|tcp-fin|tcp-rst) ! 0这个命令只抓取TCP的SYN连接开始、FIN正常结束、RST强制重置包。通过观察这些标志位的出现顺序和频率可以快速判断是否存在连接无法建立只有SYN没有SYN-ACK、连接异常断开大量RST等问题。检测网络中的扫描或爆破行为tcpdump -i eth0 -n tcp[13] 2 ! 0 | awk {print $3} | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20这个管道命令组合先抓取所有SYN包然后提取源IP地址最后统计每个IP发起的SYN连接数并排序。如果某个IP在短时间内发起了成百上千个SYN包很可能是端口扫描或SYN Flood攻击。计算TCP重传率粗略估算 在流量较大的服务器上可以抓取一段时间内发往某个目标的数据包并粗略统计重传情况。# 抓取发往 10.0.0.1 的TCP包并显示序列号 tcpdump -i eth0 -n -ttt dst host 10.0.0.1 and tcp | grep -o seq [0-9]*然后通过观察序列号是否出现非正常增长重复或跳跃来手动判断。更精确的分析需要借助Wireshark的统计功能。4.4 场景四特定协议与复杂过滤抓取DNS查询与响应tcpdump -i eth0 -n -s 0 port 53DNS使用UDP 53端口。通过抓包可以查看本机发起了哪些域名解析请求响应是否正常是排查“域名解析失败”问题的利器。抓取VLAN tagged的流量 在某些网络环境中数据包带有802.1Q VLAN标签。tcpdump -i eth0 -n -e-e选项会在输出中显示链路层头部信息包括源/目标MAC地址和可选的VLAN tag。组合过滤抓取来自特定源且不是到特定目标的SSH流量tcpdump -i eth0 -n src net 192.168.10.0/24 and not dst host 10.10.10.1 and port 225. 高级技巧、常见问题与避坑指南掌握了基本命令在实际使用中还会遇到各种“坑”。这部分分享的是一些教科书上不会写的经验。5.1 性能优化与丢包处理在生产环境抓包尤其是高流量服务器上最大的挑战是丢包。tcpdump本身处理不过来内核缓冲区满了就会丢弃数据包导致抓包结果不完整。应对策略使用最严格的过滤条件这是最重要的原则。在-i参数之后立即跟上过滤表达式让BPF在内核层就过滤掉无关流量。例如如果你只关心和数据库10.0.0.5的通信就用tcpdump -i eth0 host 10.0.0.5而不是抓了所有流量再用grep去筛。调整快照长度-s如果不需要完整的应用层数据比如只分析连接状态将-s设置为一个较小的值如-s 128可以减少每个包拷贝到用户空间的数据量。使用-c和-W、-C组合进行轮转抓包# 每个文件抓10000个包最多保留10个文件文件名前缀为cap_ tcpdump -i eth0 -w cap_ -W 10 -C 1 -c 10000 port 80-C 1表示每个文件大小约为1MB单位是百万字节-W 10表示最多保留10个文件旧的会被覆盖。这可以避免单个文件过大和磁盘写满。考虑使用更专业的工具对于需要长期、全流量捕获的场景如安全审计应考虑使用netsniff-ng、dumpcap或专用的网络分光器/流量镜像设备它们对性能的影响更小。5.2 典型问题排查思路实录问题1tcpdump抓不到预期的包检查权限是否以root用户运行sudo tcpdump ...检查接口-i参数指定的接口是否正确使用ip addr或ifconfig确认网卡名称。尝试-i any。检查流量路径数据包真的会流经你抓包的机器吗对于交换机网络普通端口默认只收发自己的流量。要抓取其他主机间的流量需要在交换机上配置端口镜像SPAN/RSPAN或者在被抓包主机上抓包。检查过滤表达式表达式是否写得太严格把目标包过滤掉了可以先不加任何过滤条件抓一下确认有基础流量。检查是否有更上层的过滤比如主机本身的防火墙iptables/nftables是否丢弃了数据包tcpdump抓取的是经过防火墙处理之前或之后的包取决于抓包点需要结合判断。问题2看到的TCP连接状态异常如大量RST服务未监听客户端向一个没有进程监听的端口发起连接服务器内核会直接回复RST。检查目标端口服务是否启动netstat -tlnp。连接超时或异常断开可能是中间防火墙如iptables主动发送了RST也可能是应用程序异常关闭了连接。结合抓包中的序列号和确认号以及前后报文的时间戳分析。全连接队列满服务器listen队列backlog已满新的SYN到来时旧系统可能直接丢弃新系统可能回复RST。检查netstat -s | grep listen中的溢出统计。问题3如何抓取并分析一个完整的HTTP会话在客户端或服务器端使用-w参数保存抓包。tcpdump -i eth0 -s 0 -w session.pcap host 客户端IP and host 服务器IP and port 80将session.pcap文件下载到本地用Wireshark打开。在Wireshark中选中该会话中的一个包右键选择“追踪流” - “TCP流”。这时Wireshark会过滤出该TCP连接的所有包并在一个新窗口中用ASCII或十六进制形式展示完整的应用层数据交互过程包括HTTP请求和响应。这是分析API调用、网页加载过程的最直观方式。5.3 与其它工具的协作tcpdump不是孤立的它常与其它命令行工具配合形成强大的排查链条。tcpdumpwireshark黄金组合。tcpdump负责在生产环境轻量级抓包保存wireshark负责在本地进行深度、图形化分析。tcpdumpgrep对实时输出进行二次过滤。但要注意grep是在tcpdump输出之后进行的如果流量很大可能会来不及处理。优先使用BPF表达式过滤。# 查找包含特定字符串的包效率较低仅用于低流量场景 tcpdump -i eth0 -s 0 -A | grep GET /apitcpdumpawk对输出进行格式化提取和统计如前文统计SYN包来源的例子。最后一个最容易被忽略但至关重要的习惯给抓包文件命名时加上时间戳和简要描述。例如20240527_1430_http_timeout.pcap。当你在一个月后回顾这个问题或者需要把文件交给同事分析时这个好习惯会节省大量沟通成本。

相关新闻

Windows开始菜单透明化:TranslucentSM让你的桌面焕然一新

Windows开始菜单透明化:TranslucentSM让你的桌面焕然一新

Windows开始菜单透明化:TranslucentSM让你的桌面焕然一新 【免费下载链接】TranslucentSM A lightweight utility that makes the Windows Start Menu translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentSM 你是否厌倦了Win…

2026/7/29 13:08:40阅读更多 →
Python GUI开发指南:从命令行到图形界面

Python GUI开发指南:从命令行到图形界面

1. 为什么Python开发者需要GUI?在命令行里运行Python脚本的日子已经过去了。作为一名长期与Python打交道的开发者,我清楚地记得第一次把脚本打包成可执行文件交给非技术同事时,对方那茫然的眼神。"黑乎乎的窗口"、"看不懂的错…

2026/7/29 13:08:40阅读更多 →
免费开源的AMD Ryzen调试工具SMUDebugTool:硬件爱好者的性能调优利器

免费开源的AMD Ryzen调试工具SMUDebugTool:硬件爱好者的性能调优利器

免费开源的AMD Ryzen调试工具SMUDebugTool:硬件爱好者的性能调优利器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地…

2026/7/29 13:08:40阅读更多 →
物联网设备安全连接:A5000加密模块与PIC18F86J10的优化方案

物联网设备安全连接:A5000加密模块与PIC18F86J10的优化方案

1. 硬件选型与安全连接基础 在物联网设备开发中,选择A5000加密模块与PIC18F86J10微控制器的组合并非偶然。这套方案特别适合需要兼顾安全性与成本控制的工业级应用场景。A5000作为硬件安全模块(HSM),其核心价值在于将加密运算从主处理器卸载,…

2026/7/29 14:18:54阅读更多 →
C语言按位取反(~)操作符:从原理到嵌入式实战应用

C语言按位取反(~)操作符:从原理到嵌入式实战应用

1. 从一次调试经历说起:为什么需要理解按位取反前几天帮一个刚入行的同事排查一个嵌入式设备的配置问题,现象是设备上某个状态指示灯的逻辑完全反了,本该亮的时候灭,该灭的时候亮。追了半天代码,最后定位到一行对某个8…

2026/7/29 14:18:54阅读更多 →
【权威认证版AI评估协议】:IEEE/ISO双标对齐,含6类任务专属评估模板(限首批下载)

【权威认证版AI评估协议】:IEEE/ISO双标对齐,含6类任务专属评估模板(限首批下载)

更多请点击: https://kaifayun.com 第一章:AI学习效果评估的范式演进与标准共识 早期AI模型评估高度依赖单一指标,如分类任务中的准确率(Accuracy),但该指标在类别不平衡场景下极易产生误导。随着深度学习…

2026/7/29 14:18:54阅读更多 →
大气/水质/噪声多模态监测全栈方案(工业级AI环境哨兵技术白皮书首发)

大气/水质/噪声多模态监测全栈方案(工业级AI环境哨兵技术白皮书首发)

更多请点击: https://kaifayun.com 第一章:大气/水质/噪声多模态监测全栈方案概述 面向生态环境智能监管需求,本方案构建了一套覆盖感知层、传输层、平台层与应用层的端到端多模态监测体系,支持大气(PM₂.₅、SO₂、N…

2026/7/29 14:18:54阅读更多 →
为什么你的AI转场总被平台降权?:抖音/YouTube/B站最新审核算法白皮书解读+3项合规性避坑清单

为什么你的AI转场总被平台降权?:抖音/YouTube/B站最新审核算法白皮书解读+3项合规性避坑清单

更多请点击: https://kaifayun.com 第一章:AI视频转场特效的平台降权困局本质 当创作者将AI生成的视频转场特效(如动态粒子溶解、神经风格迁移过渡)批量上传至主流内容平台时,常遭遇播放量骤降、推荐流消失甚至限流提…

2026/7/29 14:18:54阅读更多 →
程序员值得坚持的几个时间管理习惯

程序员值得坚持的几个时间管理习惯

程序员其实不太需要学习各种复杂的时间管理方法,养成了几个简单的习惯往往就够了。 第一,不要多任务,尽量保持单线程。 程序员最怕的是不断切换上下文。刚把一个模块的业务逻辑理顺,钉钉来了消息;刚准备写代码&#xf…

2026/7/29 14:16:54阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →