Burp Suite安装失败原因与Java环境配置全解

news2026/5/24 7:06:46
1. 为什么Burp Suite安装失败不是“运气差”而是环境逻辑没对齐Burp Suite安装问题总结——这标题听起来像一份运维日志但实际是每个刚接触Web安全测试的人必经的“成人礼”。我带过十几期渗透测试实操班92%的新手在第一天卡在Burp启动环节Java版本报错、证书导入失败、代理监听被拒、甚至双击图标毫无反应。这不是软件本身的问题而是Burp Suite作为一款高度依赖运行时环境契约的Java桌面工具其安装过程本质是一次对本地系统状态的“合法性校验”。它不主动报错但会用静默崩溃、空白界面、反复弹窗或“Failed to initialize JVM”这类模糊提示告诉你“你提供的环境不符合我的最低信任协议”。核心关键词早已埋在标题里Burp Suite、安装问题、Java环境、证书配置、代理拦截、Windows/macOS/Linux多平台适配。这些词不是并列关系而是存在强因果链——Java版本不对后续所有操作都是空中楼阁证书未正确导入系统根信任库HTTPS抓包必然失败代理端口被占用或防火墙拦截流量根本进不来Burp。很多人误以为装个GUI程序就是点下一步但Burp Suite的安装逻辑更接近部署一个轻量级中间件它需要JVM稳定运行、网络栈可接管、证书体系可信任、UI渲染层兼容。尤其当用户从官网下载的是无JRE捆绑版burpsuite_pro.jar或使用OpenJDK而非Oracle JDK或在macOS上跳过Gatekeeper验证或在Linux下缺少字体渲染库时问题就不再是“怎么装”而是“为什么系统拒绝承认这个程序有资格运行”。这篇文章不是教你怎么点鼠标而是带你把Burp Suite安装流程拆解成一张环境-配置-验证三阶检查表。我会逐层还原真实排障现场从Java版本检测命令为何要加-version而不是--version到为什么macOS上keychain -d system导入证书后仍需手动勾选“始终信任”从Windows服务中w3svc和Netsh端口占用的隐蔽冲突到Linux下libfreetype.so.6缺失导致Swing界面白屏的底层依赖链。所有内容均来自我过去三年处理的278例Burp安装故障工单每一步都附带可复现的验证命令、错误日志特征、以及我踩坑后总结的“三秒定位法”。如果你正对着黑窗口里的Exception in thread main java.lang.UnsupportedClassVersionError发呆或者证书导入后浏览器仍提示NET::ERR_CERT_AUTHORITY_INVALID请继续往下看——这不是玄学是可测量、可验证、可闭环的系统工程。2. Java环境版本、位数、厂商三重校验的硬性门槛Burp Suite对Java环境的要求不是“能跑就行”而是精确到字节码版本号的硬性契约。它的JAR包编译目标版本Target Bytecode Version决定了必须由对应或更高版本的JVM加载。以Burp Suite Professional v2024.7为例其主程序编译目标为Java 17对应字节码版本61这意味着若使用Java 11字节码版本55启动时必然抛出java.lang.UnsupportedClassVersionError: BurpSuite has been compiled by a more recent version of the Java Runtime若使用Java 21字节码版本65虽能启动但部分Swing组件渲染异常因Burp未完全适配LTS新特性若Java与操作系统位数不匹配如64位Windows安装32位JDK则java -jar burpsuite_pro.jar命令直接返回Error: Unable to access jarfile而非任何Java层面错误。2.1 版本检测必须用java -version而非java --version这是新手最常踩的第一个坑。在终端执行java --version看似合理但多数Linux发行版和macOS的OpenJDK默认不支持双横线参数该命令会静默失败或返回shell帮助信息导致你以为Java未安装。而java -version是JVM规范强制实现的参数所有合规JDK均响应。实测对比# 错误示范看似正常实则无效 $ java --version zsh: command not found: java # 正确检测立即暴露真实状态 $ java -version openjdk version 17.0.8 2023-07-18 OpenJDK Runtime Environment (build 17.0.87-Debian-1deb12u1) OpenJDK 64-Bit Server VM (build 17.0.87-Debian-1deb12u1, mixed mode, sharing)提示若java -version报错先确认PATH是否包含JDK的bin目录。在macOS上通过Homebrew安装的OpenJDK路径为/opt/homebrew/opt/openjdk/bin需在~/.zshrc中添加export PATH/opt/homebrew/opt/openjdk/bin:$PATH并执行source ~/.zshrc。2.2 位数与厂商选择Oracle JDK vs OpenJDK vs Amazon CorrettoBurp官方文档明确推荐Oracle JDK或OpenJDK但实际测试中三者表现差异显著JDK厂商启动稳定性HTTPS证书处理Swing UI渲染推荐指数Oracle JDK 17⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐密钥库自动同步⭐⭐⭐⭐⭐★★★★★OpenJDK 17 (Adoptium)⭐⭐⭐⭐☆⭐⭐⭐☆☆需手动导出certs⭐⭐⭐⭐☆★★★★☆Amazon Corretto 17⭐⭐⭐☆☆⭐⭐☆☆☆TLS握手偶发失败⭐⭐⭐☆☆★★★☆☆原因在于Oracle JDK内置了Bouncy Castle加密提供者且与macOS Keychain深度集成OpenJDK需额外配置java.security文件启用security.provider.1org.bouncycastle.jce.provider.BouncyCastleProvider而Corretto在TLS 1.3协商中存在握手超时bug导致Burp无法建立上游HTTPS连接。我建议Windows用户直接下载 Oracle JDK 17 macOS用户用Homebrew安装temurin17即Eclipse Temurin OpenJDKLinux用户优先选用Debian/Ubuntu官方源的openjdk-17-jre。2.3 多Java版本共存时的精准绑定当系统存在Java 8、11、17多个版本时仅靠java -version无法确认Burp实际调用哪个JVM。必须用绝对路径启动并验证# 查找所有Java安装路径 $ sudo find /usr -name java 2/dev/null | grep bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-17-oracle/bin/java # 强制指定JDK 17启动BurpLinux/macOS $ /usr/lib/jvm/java-17-oracle/bin/java -jar /path/to/burpsuite_pro.jar # Windows下同理注意反斜杠 C:\ C:\Program Files\Java\jdk-17.0.8\bin\java.exe -jar C:\Tools\burpsuite_pro.jar注意不要修改系统全局JAVA_HOME指向Burp专用JDK。这会影响其他Java应用。正确做法是为Burp创建独立启动脚本在脚本内临时设置JAVA_HOME并调用java命令。我在Windows上用批处理在macOS/Linux上用Shell脚本确保环境隔离。3. 证书配置从Burp CA生成到系统级信任的完整信任链Burp Suite的HTTPS抓包能力完全依赖其内置CA证书Burp CA Certificate被操作系统和浏览器双向信任。很多人以为在Burp界面点击“Proxy → Options → Import / Export CA Certificate”导出cer文件再双击安装就完事了结果Chrome/Firefox仍报证书错误。这是因为证书信任链存在三个断裂点证书格式不兼容、未导入系统根存储、浏览器未刷新证书缓存。3.1 Burp CA证书的两种导出格式及其适用场景Burp导出的证书有两种格式用途截然不同DER encoded (.cer)二进制格式适用于Windows系统证书管理器certmgr.msc和macOS钥匙串访问Keychain Access的“系统”钥匙串PEM encoded (.pem)Base64文本格式适用于Linux系统需转换为.crt和Firefox浏览器直接导入。常见错误是将.pem文件双击导入Windows系统提示“无法识别文件类型”或将.cer文件拖入Firefox提示“此证书类型不受支持”。必须严格匹配格式与目标环境。导出步骤如下Burp界面Proxy → Options → “Import / Export CA Certificate”按钮勾选“Certificate in DER format” → Save asburp_ca.cerWindows/macOS取消勾选DER勾选“Certificate in PEM format” → Save asburp_ca.pemLinux/Firefox。3.2 Windows系统级证书导入必须进入“受信任的根证书颁发机构”在Windows上双击.cer文件默认打开“证书导入向导”但90%的用户卡在第二步——选择证书存储位置。如果选择“当前用户”或“个人”Burp证书仅对当前用户有效且Chrome/Edge等现代浏览器已弃用用户级证书存储只读取“受信任的根证书颁发机构”。正确路径按WinR输入certmgr.msc打开证书管理器展开左侧“受信任的根证书颁发机构” → 右键“证书” → “所有任务” → “导入”浏览选择burp_ca.cer关键步骤在“证书存储”页面务必勾选“将所有的证书放入下列存储”并点击“浏览”选择“受信任的根证书颁发机构”完成后在右侧证书列表中找到“PortSwigger Ltd”条目双击查看详细信息确认“证书路径”显示“此证书位于受信任的根证书颁发机构存储中”。提示若已错误导入到“个人”存储需手动右键删除并在“受信任的根证书颁发机构”中重新导入。否则Burp流量会被标记为“不安全”。3.3 macOS钥匙串信任设置手动勾选“始终信任”是必要动作macOS的钥匙串访问Keychain Access对证书信任采取“显式授权”机制。即使将burp_ca.cer拖入“系统”钥匙串系统默认仅信任其用于“代码签名”和“SSL”而不用于“X.509 Basic”即HTTPS。必须手动干预打开“钥匙串访问” → 左侧选择“系统”钥匙串 → 在搜索框输入“PortSwigger”双击找到的证书 → 展开“信任”选项 → 在“使用此证书时”下拉菜单中选择“始终信任”关闭窗口输入管理员密码确认更改强制刷新系统证书缓存终端执行sudo killall -HUP mDNSResponder否则旧缓存可能导致Chrome仍报错。实测发现跳过第2步“始终信任”设置即使证书显示为“有效”Safari和Chrome仍会拦截HTTPS请求。这是macOS特有的安全策略与Windows的隐式信任完全不同。3.4 Linux系统证书更新需合并到系统CA证书包Linux发行版如Ubuntu/Debian不提供图形化证书管理器需通过命令行将Burp CA合并到系统CA证书包。步骤繁琐但必须# 1. 将PEM格式证书复制到系统CA目录 $ sudo cp burp_ca.pem /usr/local/share/ca-certificates/burp_ca.crt # 2. 更新CA证书包关键否则不生效 $ sudo update-ca-certificates # 3. 验证是否成功输出应包含1 added, 0 removed $ sudo update-ca-certificates Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. # 4. 针对Firefox需在浏览器内单独导入地址栏输入 about:preferences#privacy → View Certificates → Import注意update-ca-certificates命令会将所有/usr/local/share/ca-certificates/下的.crt文件合并到/etc/ssl/certs/ca-certificates.crt。若该文件被其他软件覆盖如Docker Desktop需重新执行此命令。4. 代理与网络配置端口冲突、防火墙拦截、浏览器代理设置的三层过滤Burp Suite作为代理服务器其工作流是浏览器流量 → Burp监听端口默认8080→ Burp处理 → 转发至目标网站。任一环节中断都会表现为“网页打不开”或“Burp无请求记录”。这不是Burp自身故障而是网络路径被阻断。我将排查过程分为三层本地端口可用性 → 系统防火墙放行 → 浏览器代理指向正确。4.1 端口占用检测8080只是默认值冲突却无提示Burp默认监听8080端口但该端口被IIS、Apache、Skype甚至某些国产软件长期霸占。Burp启动时不会主动检测端口占用而是静默失败——界面可打开但Proxy标签页显示“Proxy is not running”。必须手动验证端口状态# Windows管理员权限运行CMD C:\ netstat -ano | findstr :8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345 # Linux/macOS $ lsof -i :8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1234 user 45u IPv6 123456 0t0 TCP *:http-alt (LISTEN) # 查看PID对应进程名 $ ps -p 1234 -o comm skypeforlinux若发现占用进程非Burp需终止它。Windows上用taskkill /PID 12345 /FLinux/macOS用kill -9 1234。更彻底的方案是修改Burp监听端口启动Burp后Proxy → Options → “Proxy Listeners” → Edit → “Bind to port”改为8081或8000避免与常用服务冲突。4.2 Windows防火墙入站规则需为Java进程单独放行Windows Defender防火墙默认阻止未知Java进程的网络监听。即使Burp成功绑定8080端口外部流量浏览器也无法到达。现象是Burp界面显示“Proxy is running”但浏览器设置代理后网页空白Burp的Proxy → HTTP history无任何请求。解决方案打开“Windows Defender 防火墙” → “高级设置”左侧选择“入站规则” → 右侧“新建规则”规则类型选“程序” → 浏览选择java.exe路径如C:\Program Files\Java\jdk-17.0.8\bin\java.exe操作选“允许连接” → 配置文件全选域、专用、公用名称填“Burp Suite Java Inbound”。提示不要选“端口”规则类型。因为Burp可能使用动态端口如Invisible Proxy模式且Java进程本身才是信任主体。4.3 浏览器代理设置Chrome/Firefox/Edge的配置差异与验证方法浏览器代理设置是最后一道关卡也是最容易被忽略的环节。不同浏览器配置入口和生效逻辑不同Chrome/Edge不读取系统代理设置必须通过扩展如SwitchyOmega或命令行启动。直接在设置中修改“系统代理”对Chrome无效Firefox读取系统代理但需在about:config中确认network.proxy.type为1手动代理Safari完全依赖macOS系统代理设置需在“系统设置 → 网络 → 高级 → 代理”中配置。最可靠的验证方法是绕过浏览器用curl直连Burp代理# Linux/macOS用curl模拟浏览器请求强制走Burp代理 $ curl -x http://127.0.0.1:8080 https://httpbin.org/ip -v # Windows PowerShell等效命令 PS C:\ Invoke-WebRequest -Proxy http://127.0.0.1:8080 -Uri https://httpbin.org/ip -Verbose # 若Burp正常工作curl将返回HTTP 200及IP信息且Burp的Proxy → HTTP history中出现该请求若curl成功而浏览器失败问题100%出在浏览器代理配置。此时应关闭所有浏览器用上述curl命令确认Burp代理层通畅再逐一排查浏览器设置。5. GUI与渲染问题字体缺失、HiDPI缩放、Swing组件异常的底层修复Burp Suite基于Java Swing构建其UI渲染严重依赖系统字体库和图形子系统。在高分屏HiDPI设备、精简Linux发行版或字体配置异常的macOS上常出现界面文字模糊、按钮错位、菜单栏消失、甚至整个窗口白屏。这不是Burp Bug而是Java AWT/Swing与宿主系统图形栈的兼容性问题。5.1 Linux字体缺失libfreetype.so.6和fontconfig是Swing渲染基石在Ubuntu Server或Docker容器中运行Burp GUI时常见错误日志Exception in thread AWT-EventQueue-0 java.lang.InternalError: java.lang.reflect.InvocationTargetException at sun.awt.X11.XToolkit.awtLock(XToolkit.java:232) Caused by: java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_x11.so: libfreetype.so.6: cannot open shared object file: No such file or directory根源是OpenJDK的AWT模块依赖系统级字体渲染库。解决方法# Ubuntu/Debian $ sudo apt update sudo apt install -y fontconfig libfreetype6 libxrender1 libxtst6 # CentOS/RHEL $ sudo yum install -y fontconfig freetype libXrender libXtst # 验证字体库是否加载 $ ldconfig -p | grep freetype libfreetype.so.6 (libc6,x86-64) /usr/lib/x86_64-linux-gnu/libfreetype.so.6注意仅安装openjdk-17-jre不包含这些依赖必须显式安装。这是Linux桌面Java应用的通用前提。5.2 HiDPI屏幕缩放Java参数-Dsun.java2d.uiScale强制适配在4K笔记本或MacBook Pro上Burp界面文字极小右键菜单被截断。这是因为Swing默认按100%缩放而系统已设为150%/200%。解决方案是启动时注入Java系统属性# Linux/macOS启动命令追加参数 $ java -Dsun.java2d.uiScale2.0 -jar burpsuite_pro.jar # Windows批处理文件中写 echo off C:\Program Files\Java\jdk-17.0.8\bin\java.exe -Dsun.java2d.uiScale2.0 -jar C:\Tools\burpsuite_pro.jaruiScale值需与系统设置一致Windows在“设置 → 系统 → 显示 → 缩放”中查看如“150%”对应1.5macOS在“系统设置 → 显示器 → 缩放”中选择“更大文本”对应1.25或1.5。实测2.0在4K屏上效果最佳1.5在2K屏上更清晰。5.3 macOS Metal渲染冲突禁用硬件加速可解决白屏macOS Monterey及更新版本默认启用Metal图形API但Burp的Swing组件与Metal驱动存在兼容性问题导致启动后窗口全白。现象是Dock图标跳动但无窗口内容。解决方案是强制回退到OpenGL渲染# 启动命令添加JVM参数 $ java -Dsun.java2d.metalfalse -jar burpsuite_pro.jar # 或创建别名简化操作 $ alias burpjava -Dsun.java2d.metalfalse -Dsun.java2d.uiScale2.0 -jar ~/Downloads/burpsuite_pro.jar该参数禁用Metal后Burp将使用更稳定的OpenGL后端白屏问题100%解决。这是macOS用户专属的“保命参数”建议永久加入启动脚本。6. 实战排障链路从“双击无反应”到“HTTPS流量全捕获”的完整诊断树现在我们把前述所有知识点整合成一条可执行的诊断链路。当你面对一个全新的、安装失败的Burp环境时不要凭感觉乱试按以下七步顺序排查每步都有明确验证标准和失败应对方案。这是我处理278例故障后提炼的“黄金七步法”平均排障时间从2小时压缩至11分钟。6.1 第一步验证Java基础运行能力30秒目标确认JVM能执行最简Java命令。操作终端执行java -version观察是否输出版本号成功标准返回类似openjdk version 17.0.8的字符串失败应对若报command not found检查PATH重新安装JDK若报UnsupportedClassVersionError卸载低版本JDK安装JDK 17若返回空行检查JDK安装包完整性重新下载。6.2 第二步确认Burp JAR可被JVM加载20秒目标排除JAR文件损坏或路径错误。操作java -jar /path/to/burpsuite_pro.jar路径用绝对路径成功标准控制台输出Starting Burp Suite...及进度条随后GUI弹出失败应对若报Unable to access jarfile检查路径拼写、空格、中文字符若报No main manifest attribute下载的是社区版.dmg/.exe而非Pro版JAR重下Pro版若卡在Loading modules...内存不足添加-Xmx4g参数。6.3 第三步检查代理监听状态40秒目标确认Burp已在预期端口监听。操作netstat -ano | findstr :8080Windows或lsof -i :8080macOS/Linux成功标准输出包含LISTENING及Burp相关PID失败应对若无输出Proxy → Options → Proxy Listeners → Start listening on port若PID属于其他进程终止该进程或更换Burp端口为8081。6.4 第四步验证Burp代理可达性60秒目标确认浏览器流量能抵达Burp。操作curl -x http://127.0.0.1:8080 https://httpbin.org/get -v成功标准返回HTTP 200及JSON响应Burp Proxy history中出现该请求失败应对若curl超时检查防火墙入站规则Windows或ufw statusLinux若curl返回503 Service UnavailableBurp未启动Proxy Listener若curl成功但浏览器失败浏览器代理配置错误改用curl验证。6.5 第五步验证HTTPS证书信任90秒目标确认Burp CA被系统和浏览器双向信任。操作浏览器访问http://burpBurp内置帮助页→ 点击“CA Certificate”下载 → 用前述方法导入系统成功标准访问https://example.com时Burp Proxy history中出现HTTPS请求且浏览器地址栏显示锁图标非红色警告失败应对若浏览器报NET::ERR_CERT_AUTHORITY_INVALID重新导入证书macOS务必勾选“始终信任”若Burp history中只有HTTP无HTTPS检查浏览器是否启用了HTTPS-only模式临时关闭测试。6.6 第六步验证GUI渲染完整性30秒目标确认界面元素全部正常显示。操作启动Burp后检查菜单栏File/Edit/View等、工具栏按钮、Tab页签是否可见成功标准所有UI组件清晰、无错位、无白块失败应对若文字模糊添加-Dsun.java2d.uiScale2.0若窗口白屏macOS添加-Dsun.java2d.metalfalse若按钮消失Linux上安装fontconfig libfreetype6。6.7 第七步端到端功能验证120秒目标完成一次真实HTTPS请求捕获与修改。操作浏览器访问https://httpbin.org/headersBurp Proxy → HTTP history中找到该请求右键 → “Send to Repeater”Repeater中修改User-Agent头点击“Send”观察响应中User-Agent字段是否更新。成功标准Repeater返回的JSON中User-Agent值为你修改后的字符串失败应对若Repeater无响应检查Burp Target scope是否限制了域名清空scope若修改后响应不变确认Repeater中Host头与目标一致避免DNS解析错误。这套诊断链路不是线性流程而是树状决策。每步失败即进入对应分支无需回溯。我把它刻进了自己的肌肉记忆——现在看到Burp安装问题大脑自动调出这张树图手指比思维更快地敲出java -version和curl命令。7. 我的三条铁律避免重复踩坑的实战心法写了这么多技术细节最后想分享三条从血泪中凝练的铁律。它们不写在任何官方文档里却是我每天开工前必做的三件事也是我带新人时第一课就强调的底线。第一条铁律永远用绝对路径启动Burp绝不依赖环境变量。我见过太多人把java -jar burpsuite_pro.jar写成别名结果某天升级JDK后java命令指向了Java 11Burp瞬间崩溃。也见过有人把Burp JAR放在桌面路径含中文“渗透测试工具”导致java -jar解析失败。现在我的做法是在项目根目录建start_burp.shmacOS/Linux或start_burp.batWindows里面写死JDK路径和Burp JAR绝对路径。每次启动双击脚本即可。环境变量是给开发用的生产环境包括你的渗透测试环境必须锁定一切可变因素。第二条铁律证书导入后必须用https://httpbin.org而非https://google.com验证。Google的HTTPS证书链极其复杂包含多级中间CA和OCSP Stapling对Burp CA信任状态极其敏感。而httpbin.org是专为测试设计的服务返回纯JSON无重定向、无CDN干扰、无证书链嵌套。用它验证失败就是证书问题成功就是证书没问题。省去90%的无效排查。我把这个URL设为浏览器首页每天开工第一件事就是刷一下绿锁亮起才开始干活。第三条铁律遇到任何异常第一反应不是重装而是看Burp日志文件。Burp在~/.BurpSuite/macOS/Linux或C:\Users\user\AppData\Roaming\BurpSuite\Windows下生成burpsuite.log。这个文件记录了从JVM启动、模块加载、代理绑定到证书生成的每一行细节。95%的“神秘崩溃”都在这里留有线索。比如Failed to load native library libawt_x11.so指向字体缺失Failed to initialize SSL context指向证书格式错误。养成习惯双击Burp无反应先打开log文件CtrlF搜ERROR或Exception。日志不会说谎它比任何论坛帖子都可靠。这三条铁律没有技术含量全是笨功夫。但正是这些笨功夫让我在过去三年里把Burp安装成功率从73%提升到99.6%。技术会迭代工具会更新但解决问题的底层逻辑不会变锁定变量、控制验证、相信日志。当你把这三件事变成本能Burp Suite就不再是一个让人头疼的安装难题而是一把随时可出鞘的、锋利的刀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2640112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…