DNS缓存投毒细节泄露

DNS解析全流程详解 —— 从客户端到权威服务器的完整路径 A记录:IPv4 地址映射。AAAA记录:IPv6 地址映射。CNAME记录:别名记录,将一个域名映射为另一个域名。MX记录:邮件交换记录,用于邮件服务器定位。NS记录:指定域名服务器。DNS 解析流程贯穿于互联网通信的每个环节,从本地缓存、操作系统和 hosts 文件,到递归查询本地 DNS 解析器,再到根、TLD 和权威服务器,构成了一条复杂而高效的数据查询链路。通过理解缓存机制、查询协议以及安全扩展,我们可以更好地优化网络访问速度、提高系统安全性,并为问题排查提供有效手段。 阅读详情
 昨天Mantasano上的一篇文章描述了Dan Kaminsky的DNS域名服务器攻击的细节。 该文章发表了几分钟之后即被删掉了。
      虽然Dan Kaminsky已经联合厂商发布了补丁, 但是仍处于补丁推送阶段, 目前仍有相当一部分域名服务器还没有打补丁。如果被恶意
利用的话,对整个互联网还是很有威胁的。这也是为什么Dan 希望 "not speculate publicly"。
      大概看了一下那篇hypothesis,基本上还是利用了" Cache 投毒"(cache poisoning)的方法,不过使用了一
些新的技巧。
      DNS查询是如何进行的?对于绝大多数桌面系统来说, DNS的查询并不是由自己的机器完成的, DNS查询会提交给另一台DNS服务器(这
台服务器通常是由 ISP或者公司提供),然后这台服务器再去进行真正的查询操作。 这样做的好处是DNS的查询结果可以由这台机器给缓存下来, 从而提高
查询效率并降低由 DNS带来的流量开销。
      一台缓存DNS服务器(与权威DNS相对,这类系统提供的) 下面的桌面系统可能有几百、几千、几万甚至几十万台桌面系统。
      DNS缓存中毒攻击指的是更改了DNS服务器的DNS缓存中某项 ,这样缓存中与主机名相关的IP地址就不再指向正确的位置。 例如,如果
www.example.com映射到IP地址
DNS over HTTPS(DoH):加密解析技术如何重塑企业网络安全防线 本文深入解析了DNS over HTTPS(DoH)技术如何通过加密DNS查询,重塑企业网络安全防线。文章探讨了传统DNS的安全隐患,详细阐述了DoH的工作原理、部署实践及其如何有效防御DNS劫持、数据泄露,并为远程办公提供一致的安全保障。同时,也客观分析了企业部署DoH时面临的网络监控、性能与合规性挑战,并提供了与现有安全体系协同的融合部署策略。 阅读详情

相关推荐

QuickLens供应链投毒事件深度剖析:PWA钓鱼与扩展劫持的双端攻击范式

供应链安全已成为现代软件开发和网络安全领域的核心议题,其原理在于攻击者通过污染软件依赖、构建链或分发渠道,将恶意代码植入合法产品中。这种攻击模式的技术价值在于其极高的隐蔽性和广泛的传播性,能够绕过传统的边界防御,直接威胁终端用户和企业数据。在应用场景上,供应链攻击常与钓鱼攻击、权限滥用等技术结合,形成复合威胁。本文以近期发生的QuickLens供应链投毒事件为例,深入解析攻击者如何巧妙融合PWA钓鱼与Chrome扩展劫持,构建针对开发者群体的“双端攻击范式”。该事件凸显了在开源生态和浏览器扩展生态中,维护者

weixin_30254435的博客 489

Web服务器版本信息泄露:从Server头到JS注释的全链路加固指南

Web服务器版本信息泄露是一种基础但高危的安全隐患,本质是服务端在HTTP响应头、错误页面、静态资源中无意暴露技术栈指纹。其原理在于攻击者通过识别精确版本号(如Nginx/1.18.0、Spring Boot/2.3.12)快速匹配已知CVE漏洞,显著缩短攻击链。该问题具有强技术泛化性——覆盖Nginx/Apache配置、Django/Spring Boot框架行为、Webpack/Vite构建产物及CDN缓存等多层环节。典型应用场景包括红队初始侦察、自动化渗透扫描、ASM攻击面管理及DevSecOps流水

weixin_32428571的博客 610

量子路由重定向攻击剖析与协同防御体系构建

网络攻击正从传统的应用层欺诈,向利用互联网基础设施本身发起精准打击演进。其核心原理在于攻击者通过劫持网络路由(如BGP)或污染域名解析(DNS),在用户与目标服务建立连接的毫秒级窗口内,将流量重定向至高度仿真的钓鱼站点。这种技术价值在于它绕过了传统边界防御,直接利用了用户对合法服务的信任。在高级持续性威胁(APT)和凭证钓鱼等应用场景中,攻击者常借此实施跨区域、高隐蔽性的打击。为应对此类融合了网络层与应用层的复合型威胁,必须构建一个涵盖网络运营商、云服务商、企业及终端用户的协同防御体系,通过强化BGP安全(

weixin_30505225的博客 468

协议漏洞攻防实战:从SMB永恒之蓝到ARP欺骗的深度解析与防御

网络协议是互联网通信的基石,定义了设备间数据交换的规则与格式。其安全性直接关系到整个网络生态的稳定,协议层的缺陷往往源于设计、实现或配置环节的逻辑错误。理解协议漏洞的原理,对于构建纵深防御体系具有极高的技术价值,能够有效应对诸如信息窃取、服务瘫痪、权限提升等高级威胁。在实战应用场景中,攻击者常利用SMB、DNS、ARP等广泛部署的协议缺陷,组合形成完整的攻击链。例如,通过SMB协议的缓冲区溢出漏洞获取初始访问权限,再利用ARP协议的无状态设计缺陷在局域网内实施中间人攻击,最终达成数据窃取或横向移动的目的。掌

weixin_33843409的博客 399

Favicon安全审计:从信息泄露到漏洞利用的攻防实战指南

在Web安全领域,信息收集是渗透测试和风险评估的关键起点,它决定了后续攻击面的广度和深度。其核心原理在于,任何暴露在互联网上的资产,无论大小,都可能因配置不当或默认设置而泄露指纹信息,从而为攻击者提供可乘之机。从技术价值看,高效的信息收集能极大提升安全评估的精准度和效率,实现从“广撒网”到“精准打击”的转变。一个典型且常被忽视的应用场景,便是网站Favicon(站点图标)的分析。这个微小的资源文件,常被用于**框架指纹识别**和**技术栈探测**。通过计算其哈希值并与已知指纹库比对,攻击者或防御者可以快速识

weixin_34007020的博客 380

TrapDoor供应链攻击深度解析:从npm、PyPI到Crates.io的跨平台威胁

软件供应链安全是当今开发领域面临的核心挑战之一,其原理在于攻击者通过污染开源依赖包,利用开发者对自动化工具的信任实施入侵。这种攻击的技术价值在于它能绕过传统边界防御,直接渗透到开发环境内部,窃取高价值资产。在应用场景上,它尤其针对加密货币、DeFi和AI开发等高价值生态,通过伪装成安全审计、环境配置等工具包进行投毒。本文聚焦的TrapDoor攻击正是这一趋势的典型代表,它利用npm的postinstall脚本、PyPI的动态加载和Crates.io的build.rs机制,实现了跨生态系统的凭证窃取与持久化驻

weixin_33788244的博客 363

US.KG域名安全加固:DNSSEC与HTTPS配置全攻略

在互联网安全领域,域名系统安全和传输层加密是保障网站可信访问的两大基石。DNSSEC通过数字签名机制,从DNS层面构建了防篡改的信任链,确保用户查询的域名解析结果真实可靠,有效抵御DNS劫持与缓存投毒攻击。HTTPS则基于SSL/TLS协议,在传输层实现端到端加密与服务器身份认证,防止数据在传输过程中被窃听或篡改。这两项技术共同构成了现代网站的基础安全框架,对于提升网站信誉、保护用户隐私及满足合规要求具有重要价值。尤其在电子商务、在线服务和隐私敏感型网站等场景中,部署DNSSEC与HTTPS已成为行业最佳实

weixin_30379531的博客 517

CVE-2025-33073高危漏洞深度解析:SMB协议缺陷与域内横向移动防御

SMB(Server Message Block)协议是Windows网络中实现文件、打印机共享的核心通信协议,其身份验证与会话管理机制是保障网络资源安全访问的基础。当SMB客户端的访问控制逻辑存在缺陷时,攻击者可能利用会话复用等机制进行权限提升,从而绕过身份验证,获取系统最高权限。这种漏洞的技术价值在于其极低的利用门槛和广泛的横向移动能力,一旦被利用,攻击者可以凭借一个普通域用户凭证,在未强制启用SMB签名的内网环境中快速扩散,最终导致整个域环境沦陷。本文聚焦于近期活跃的CVE-2025-33073漏洞,

weixin_34326429的博客 318

20种实战技巧:如何绕过CDN寻找网站真实IP地址

内容分发网络(CDN)通过将内容缓存至全球边缘节点,有效提升了网站访问速度与用户体验,同时也为源站服务器提供了安全防护层。其核心原理在于代理用户请求,隐藏真实服务器IP。然而,在安全评估、渗透测试及架构分析等合法场景下,定位真实IP对于理解系统暴露面、验证安全配置至关重要。通过DNS历史记录挖掘、子域名枚举、SSL证书关联分析以及网络协议特性探测等技术手段,可以系统性地进行信息收集与关联验证。这些方法覆盖了从被动信息收集到主动网络探测的完整路径,能够有效应对CDN带来的隐匿性,是网络安全工程师与运维人员进行

weixin_33795806的博客 704

Ubuntu 14.04 下 NSD 部署 DNSSEC 的完整信任链实践

DNSSEC(域名系统安全扩展)是一种通过数字签名保障 DNS 数据真实性和完整性的核心安全机制,其原理基于公钥密码学构建自根域向下传递的信任链。技术价值在于抵御缓存投毒、记录篡改等中间人攻击,显著提升域名解析可信度。典型应用场景包括金融API调用、邮件服务器MX验证、高安全要求的Web服务解析等。在老旧但仍在工业场景广泛使用的 Ubuntu 14.04 环境中,结合轻量级权威DNS服务器 NSD 与 ldns 工具集,可实现高效、可控、离线签名的 DNSSEC 实施方案,兼顾安全性与运维可持续性。

weixin_30872157的博客 593

奇安信安全岗笔试复盘:从SQL注入到XSS,核心考点全解析

网络安全岗位的笔试往往不是考孤立的知识点,而是考察从业者对网络协议、Web攻击原理、操作系统基础和密码学常识的整体理解。以SQL注入和XSS为例,前者本质是用户输入改变了SQL语句的语义,后者则是用户输入被当作代码执行,两者都是面试中反复出现的高频考点。理解攻击原理,才能推导出参数化查询、输出编码、HttpOnly Cookie等有效防御手段。这类技术价值不止于应对笔试,更贯穿渗透测试、安全运维、应急响应等真实工作场景。无论是TCP三次握手的能力确认逻辑,还是文件上传的绕过与防御博弈,都体现了安全思维的核心

weixin_30613433的博客 407

Windows零点击攻击防御实战:Shell 0-Click与BlueHammer攻击链深度解析

零点击攻击是一种无需用户交互即可触发的高级威胁,它通过利用系统或应用中的漏洞实现静默入侵,彻底绕过了传统安全模型中“人”的环节。其技术原理通常涉及对网络协议、内存管理或系统组件的深入利用,例如通过精心构造的恶意数据包触发内存破坏漏洞,或滥用系统服务间的信任关系。这种攻击方式的技术价值在于其极高的隐蔽性和成功率,能够穿透常规的边界防御和用户意识防线,对关键基础设施和企业网络构成严重威胁。在应用场景上,零点击攻击常被用于针对高价值目标的定向攻击,如政府机构、金融机构和大型企业的网络渗透。本文以Windows系统

weixin_34268579的博客 407

DNS缓存(cache)漏洞验证与检测

对DNS服务器进行DNS缓存存在脆弱性,攻击者可利用该漏洞窥探敏感数据。 DNS缓存窥探是当有人查询 DNS 服务器以了解(窥探)DNS 服务器是否缓存了特定的 DNS 记录,从而推断 DNS 服务器的所有者(或其用户)是否最近访问了特定站点。这可能会泄露有关 DNS 服务器所有者的信息,例如他们使用的供应商、银行、服务提供商等。特别是如果这在一段时间内被多次确认(窥探)。

afei001 1028

【信息科学与工程学】【通信工程】第二十篇 CDN 网络102 组网和安全设计

2. 算法:令b=-1,j=0,while j<n:b=j,key = key * 2862933555777941757 + 1,j = floor((b+1) * (2^31 / ((key>>33)+1)))。3. 数学方程式:令当前累计权值为c_i,初始c_i=0。每次选择argmax(c_i + w_i),然后更新c_i = c_i + w_i - W(选中者)或c_i = c_i + w_i(未选中者)。节点效用U_i = (r·Σ_{j∈Γ(i)} c_j)/deg(i) - c_i。

weixin_49199313的博客 66

从机械到数字:EC11旋转编码器与ESP32的PWM控制艺术

本文详细解析了EC11旋转编码器与ESP32的PWM控制技术,探讨了如何将机械旋转动作转换为精确的数字信号控制。通过硬件连接、信号处理和软件优化等实践技巧,开发者可以构建高效的人机交互系统,适用于智能照明、电机控制等多种应用场景。

android的专栏 786

altium room 布局_ALtium 16相同重复模块PCB布局,复制布局走线

自己做了实际工程以后发现PCB器件名字后缀太长了,所以文章最后写了一下后缀的调整方法。第一种方法:1、建立子原理图如下,文件名CANM 2、之后新建一个顶层文件,文件名TOP,之后design—create sheet symbol form sheet or hdl。选择CANM,并放置到TOP中,如下 3、由于我们要多次调用CANM所以使用repeat命令修改如下: 4、之后根据自己的定义,连...

weixin_39609573的博客 5752

基于51单片机的多功能智能路灯控制系统(仿真+代码+原理图)

智能路灯控制系统主要由51单片机最小系统+1602显示模块+DS1302时钟模块+光强检测模块+按键输入模块+声光报警模块+LED照明模块+状态检测电路+人体车辆红外检测模块组成。能实现以下功能: 1.能够按键设定系统时间、工作时间、光照阈值 2.工作时间内路灯点亮,凌晨12点后路灯关闭,有人或车通过是,路灯点亮10s 3.非工作时间光照强度低于阈值,路灯点亮 4.能够检测系统工作状态,路灯应亮未亮,声光报警 5.具备手动控制,能够切换自动/手动控制功能

u012759563的博客 8181

全志T133-s3(Tina Linux)下RTL8723DS WiFi驱动移植与调试实战

本文详细介绍了在全志T133-s3平台(Tina Linux)上移植RTL8723DS WiFi驱动的完整流程,包括硬件连接、驱动源码获取、内核配置、系统适配、设备树配置以及常见问题排查。通过实战案例,帮助开发者快速解决SDIO接口通信、固件加载、电源管理等关键问题,实现稳定的WiFi功能。

weixin_30505225的博客 507

ITIL-IT运维管理-概述

ITIL-IT运维管理-概述 概述 IT服务管理(ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。 中文名 IT服务管理 外文名 ITService Management 专家

syjhct的博客 4万+

【YOLOv8科研级创新】集成HS-FPN特征融合网络,让Neck模块在参数量锐减100W的同时精度跃升

打开确保模型解析器能识别HS_FPN模块。通过将HS-FPN集成到YOLOv8中,我们实现了一个“轻量级多尺度特征融合+精准检测”的目标检测模型。这个改进不仅在工程上能提升多尺度、细粒度场景的检测效果并降低部署成本,更在科研上提供了“选择性轻量级特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的Neck模块改进中,帮你在论文中打造独特的研究点。

m0_64661770的博客 138

全球气候模式降尺度方法总结及其代码实现

简介总结各类型气候模式降尺度方法

WW、forever的博客 1万+

微信小程序 - 实现Java微信支付退款功能以及退款流程,微信小程序前端+java后端完整示例源码,微信小程序退款功能详解,小程序订单申请退款和退款回调方法、查询退款等(新版微信支付,详细示例代码)

微信小程序开发-微信支付退款功能以及退款回调方法,微信支付退款API详解,微信小程序支付V3(支付、退款)Java实现微信小程序开发 小程序支付开发-小程序退款功能,微信小程序小程序和公众号 退款功能教程(含申请退款和退款回调,退款回调地址在商户后台配置或者代码自定义)最新版微信小程序支付,退款问题,小程序支付和退款功能详解,小程序申请退款,小程序处理退款,微信小程序支付与退款java,微信小程序退款及回调,JAVA实现微信小程序支付退款功能,退款api调用报错,如何解决退款申请无响应,如何用实现小程序订单

🏆 前端领域优质创作者 4159

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Kwasek6 polymorphic code, modified Ruby Hash
下一篇: flash漏洞所用shellcode的分析(old)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值