恶意软件和反病毒

news2024/11/24 17:27:03

1. 什么是恶意软件?
        恶意软件(Malware)是指以恶意目的而设计和开发的计算机软件。恶意软件的目标是在未经授权或知情的情况下入侵用户的计算机系统、窃取敏感信息、破坏系统功能或进行其他有害活动。恶意软件可以采取多种形式,如病毒、蠕虫、木马、间谍软件、广告软件等。

2. 恶意软件有哪些特征?
    恶意软件可以有多种特征,以下是一些常见的恶意软件特征:

(1) 自复制:某些恶意软件具有自复制能力,可以在计算机中生成多个副本,并传播到其他系统或设备上。

(2) 隐蔽性:恶意软件通常会试图隐藏其存在,以避免被发现和删除。它可能会修改文件名、隐藏文件或进程,并在系统中深藏不露。

(3) 启动项修改:恶意软件有时会修改系统的启动项,使其在计算机启动时自动运行,从而实现持久性感染。

(4) 信息窃取:某些恶意软件旨在窃取用户的个人信息,如登录凭据、银行账号、信用卡信息等。它们可能会通过键盘记录、网络监听等方式收集敏感数据。

(5) 远程控制:恶意软件如远程访问木马(RAT)可以远程控制受感染系统,使攻击者能够操控计算机、访问文件、监视用户活动等。

(6) 加密或勒索:某些恶意软件如勒索软件(Ransomware)会加密用户的文件,并勒索赎金以恢复数据的访问权。

(7)  广告推送:广告软件(Adware)会显示大量广告弹窗、强制重定向用户浏览器,并可能收集用户浏览习惯以展示更多定制广告。

(8)  系统崩溃:恶意软件可能会对系统进行破坏性操作,导致系统崩溃、文件损坏或功能无法正常运行。

(9)  CPU和网络占用:一些恶意软件会占用计算机的资源,导致计算机变慢、网络连接不稳定或耗尽带宽。

(10)社交工程:某些恶意软件利用社交工程技巧,如虚假弹窗、虚假警报等欺骗用户进行点击、下载或揭示敏感信息。

要防止恶意软件的感染,建议使用可信的杀毒软件、定期更新操作系统和软件、保持警惕并避免点击不明链接或下载未知来源的文件。

3. 恶意软件的可分为那几类?
按照传播方式分类

1. 病毒:病毒是一种能够通过感染其他可执行文件或文档来传播自身的恶意软件。它们依赖于受感染文件的执行来激活,并可以在系统中自我复制并传播。

原理: 计算机病毒感染的一般过程为: 当计算机运行染毒的宿主程序时,病毒夺取控制权; 寻找感染的突破 口; 将病毒程序嵌入感染目标中。计算机病毒的感染过程与生物学病毒的感染过程非常相似,它寄生在 宿主程序中,进入计算机并借助操作系统和宿主程序的运行,复制自身、大量繁殖。

2. 蠕虫:蠕虫是一种独立的恶意软件,无需依赖其他文件来传播,而是通过网络直接传播到其他计算机。蠕虫通常利用网络漏洞或弱密码进行传播。

 

3. 木马:木马是一种隐藏在看似正常软件中的恶意程序。一旦被用户执行,木马会在计算机上开设“后门”,允许攻击者远程访问和控制受感染系统。

传播过程: 黑客利用木马配置工具生成一个木马的服务端;通过各种手段如Spam、Phish、Worm等安装到用户终 端;利用社会工程学,或者其它技术手段使得木马运行;木马窃取用户隐私信息发送给黑客;同时允许黑 客控制用户终端。 

按照功能分类

后门 :具有感染设备全部操作权限的恶意代码。

典型功能∶文件管理、屏幕监控、键盘监控、视频监控、命令执行等。

典型家族∶ 灰鸽子、pCshare

勒索 :通过加密文件,敲诈用户缴纳赎金。

加密特点∶ 主要采用非对称加密方式 对文档、邮件、数据库、源代码、图片、压缩文件等多种文件类型进行加密

其他特点∶ 通过比特币或其它虚拟货币交易 利用钓鱼邮件和爆破rdp口令进行传播 典型家族∶Wannacry、GandCrab、Globelmposter

挖矿 :攻击者通过向被感染设备植入挖矿工具,消耗被感染设备的计算资源进行挖矿,以获取数字货币收益的 恶意代码。特点∶

        (1)不会对感染设备的数据和系统造成破坏。

        (2)由于大量消耗设备资源,可能会对设备硬件造成损害

4. 恶意软件的免杀技术有哪些? 
文件免杀原理

        黑客们研究木马免杀的最终目标就是在保证原文件功能正常的前提下,通过一定的更改,使得原本会被 查杀的文件免于被杀。

要达到不再被杀的目的方法有很多种,其中最直接的方法就是让反病毒软件停止工作,或使病毒木马 “变”为一个正常的文件。

然而如何使一个病毒或木马变成一个正常文件,对于黑客们来说其实是一个比较棘手的问题,不过只要 学会了一种免杀原理,其他的免杀方案也就触类旁通了。

改特征码免杀原理

        所谓的特征码,我们可以将其理解为反病毒软件的黑名单。黑客们显然无法将木马从反病毒软件的黑名 单中删除,所以他们要让病毒改头换面!例如原来黑名单中有“灰鸽子”这么一款木马,黑客们将其改头 换面后不叫灰鸽子了,比如叫“白鸽子”!当然,这只是一个例子,现实中仅仅依靠改名是骗不了反病毒 软件的。

就目前的反病毒技术来讲,更改特征码从而达到免杀的效果事实上包含着两种思想。

一种思想是改特征码,这也是免杀的最初方法。例如一个文件在某一个地址内有“灰鸽子上线成功!”这 么一句话,表明它就是木马,只要将相应地址内的那句话改成别的就可以了,如果是无关痛痒的,直接 将其删掉也未尝不可

第二种是针对目前推出的校验和查杀技术提出的免杀思想,它的原理虽然仍是特征码,但是已经脱离纯 粹意义上特征码的概念,不过万变不离其宗。其实校验和也是根据病毒文件中与众不同的区块计算出来 的,如果一个文件某个特定区域的校验和符合病毒库中的特征,那么反病毒软件就会报警。所以如果想 阻止反病毒软件报警,只要对病毒的特定区域进行一定的更改,就会使这一区域的校验和改变,从而达 到欺骗反病毒软件的目的,如图所示。这就是在定位特征码时,有时候定位了两次却得出不同结果的原因所在 

花指令免杀原理

花指令其实就是一段毫无意义的指令,也可以称之为垃圾指令。花指令是否存在对程序的执行结果没有 影响,所以它存在的唯一目的就是阻止反汇编程序,或对反汇编设置障碍。

然而这种障碍对于反病毒软件来说同样也是致命的,如果黑客们的花指令添加得足够高明,就可以使木 马很轻松地逃脱查杀!

但是,为什么它会影响反病毒软件的判断呢?通过前面的学习大家都已经知道,大多数反病毒软件是靠 特征码来判断文件是否有毒的,而为了提高精度,现在的特征码都是在一定偏移量限制之内的,否则会 对反病毒软件的效率产生严重的影响!而在黑客们为一个程序添加一段花指令之后,程序的部分偏移会 受到影响,如果反病毒软件不能识别这段花指令,那么它检测特征码的偏移量会整体位移一段位置,自 然也就无法正常检测木马了。

当然,这也仅仅是针对第一代扫描技术的方法,不过即便是反病毒软件采用虚拟机分析、校验和扫描或 启发式分析,花指令同样会起到一定的作用,针对每种检测方法的不同,花指令所起到的作用亦不相 同。它最根本的思想就是扰乱程序运行顺序,并为破解者(反病毒人员)设下陷阱。而如果花指令可以 成功保护软件真正代码不被轻易反汇编,那么对于反病毒软件来说,它所检测的自然也就不是木马文件 中真正的内容了。

加壳免杀原理

说起软件加壳,简单地说,软件加壳其实也可以称为软件加密(或软件压缩),只是加密(或压缩)的 方式与目的不一样罢了。

一般的加密是为了防止陌生人随意访问我们的数据。但是加壳就不一样了,它的目的是减少被加壳应用 程序的体积,或避免让程序遭到不法分子的破坏与利用,例如最常见的共享软件,如果不对软件加以保 护,那么这个软件就会很轻易地被破解,也就没有人去向软件的作者购买注册码了。

既然加壳后的软件还能正常运行,那么这些壳究竟将软件的哪些部分加密了呢?其实,我们可以从“加 壳”这个词语本身着手,为什么不叫加密、防盗或其他的名称,而偏偏称其为加壳呢?

我们可以将未加壳的软件想象成美味的食物,太多的人想要得到它,想借此大饱口福!于是食物的主人 就将其保存了起来,放到一个只有他能打开的硬壳里,这样就可以避免其他人打它的主意。而当自己的 客人到来时,他可以很轻松地打开这个硬壳,供客人品尝……

上面所说壳就是我们加的保护,它并不会破坏里面的程序,当我们运行这个加壳的程序时,系统首先会 运行程序的“壳”,然后由壳将加密的程序逐步还原到内存中,最后运行程序。这样一来,在我们看来, 似乎加壳之后的程序并没有什么变化,然而它却达到了加密的目的,这就是壳的作用。

现在,我们再回头看看反病毒软件,如果说加壳之后的文件我们都无法将其还原,那么反病毒软件自然 也就“看”不懂了。加密后的文件结构已经产生了天翻地覆的变化,原有的特征码早已不知去处,反病毒 软件自然也就会认为它是一个正常的文件了。

内存免杀原理

自从文件免杀的方法在黑客圈子内部流传开后,反病毒公司将这场博弈升级到了另一个层次—内存中。

内存在计算机安全领域中向来就是兵家必争之地,从信息截取、软件破解,到内核Hook、修改内核,再到缓冲区溢出等,其主要战场都在内存中,由此可见内存是一个多么复杂而又变幻莫测的地方。

之所以说内存复杂,是因为一般情况下内存是数据进入CPU之前的最后一个可控的物理存储设备。在这里,数据往往都已经被处理成可以直接被CPU执行的形式了,像我们前面讲的加壳免杀原理在这里也许就会失效了。

我们知道,CPU不可能是为某一款加壳软件而特别设计的,因此某个软件被加壳后的可执行代码CPU是读不懂的。这就要求在执行外壳代码时,要先将原软件解密,并放到内存里,然后再通知CPU执行。

如果是这样,那么从理论上来讲任何被加密的可执行数据在被CPU执行前,肯定是会被解密的,否则 CPU就无法执行。也正是利用这个特点,反病毒公司便在这里设了一个关卡,这就使得大部分运用原有 文件免杀技巧处理过的病毒木马纷纷被杀。

其实,与上面这个原因相比较,反病毒公司选择扫描内存更多是从战略角度出发的。

因为将要被执行的程序肯定比未执行程序的威胁更大。即便是再厉害的病毒木马,只要能保证它不被执行,它在用户的计算机中最多也就算是一个垃圾文件,就不会对用户及网络构成任何威胁。

但是黑客们又是如何对抗内存查杀的呢?其实套路与文件查杀一样,因为杀毒软件的内存扫描原理与硬 盘上的文件扫描原理都是一样的,都是通过特征码比对的,只不过为了制造迷惑性,大多数反病毒公司 的内存扫描与文件扫描采用的不是同一套特征码,这就导致了一个病毒木马同时拥有两套特征码,必须要将它们全部破坏掉才能躲过反病毒软件的查杀。

因此,除了加壳外,黑客们对抗反病毒软件的基本思路没变。而对于加壳,只要加一个会混淆程序原有 代码的“猛”壳,其实还是能躲过杀毒软件的查杀的。

行为免杀原理

当文件查杀与内存查杀都相继失效后,反病毒厂商便提出了行为查杀的概念,从最早的“文件防火墙”发展到后来的“主动防御”,再到现在的部分“云查杀”,其实都应用了行为查杀技术。

而对于行为查杀,黑客们会怎样破解呢?我们都知道一个应用程序之所以被称为病毒或者木马,就是因 为它们执行后的行为与普通软件不一样。

因此从2007年行为查杀相继被大多数反病毒公司运用成熟后,黑客免杀技术这个领域的门槛也就一下提 高到了顶层。

反病毒公司将这场博弈彻底提高到了软件领域最深入的一层—系统底层,这就使得黑客们需要掌握的各 种高精尖知识爆炸式增长,这一举动将大批的黑客技术的初学者挡在了门外。

然而由于初期的行为查杀刚刚兴起,很多反病毒产品的主动防御模块把关不严,应用的技术也并不先 进,从而导致了一大批内核级病毒木马的出现。而随着技术的逐渐升温,攻防双方的技术最后变得势均 力敌,反病毒公司得益于计算机领域先入为主的定律,使得黑客们从这时开始陷入被动。

因此黑客免杀技术发展到现在,已经出现了向渗透入侵等领域靠拢的趋势,黑客们将能躲过主动防御的 方法称为0Day,并且越来越多的木马选择使用本地缓冲区溢出等攻击手法来突破主动防御。

但是反病毒爱好者们也不能因此麻痹大意,黑客领域中的任何技术从来都是靠思路与技术这两条腿走路的,免杀技术也不例外。黑客技术的初学者仍然想出了非常多的方法,有效地突破了现在的主动防御与云查杀

5. 反病毒技术有哪些? 
单机反病毒
检测工具

单机反病毒可以通过安装杀毒软件实现,也可以通过专业的防病毒工具实现。
病毒检测工具用于检测病毒、木马、蠕虫等恶意代码,有些检测工具同时提供修复的功能。
常见的病毒检测工具包括:
        TCP View
        Regmon
        Filemon
        Process Explorer
        IceSword
        Process Monitor
        Wsyscheck
        SREng
        Wtool
        Malware Defender
杀毒软件
杀毒软件主要通过一些引擎技术来实现病毒的查杀,比如以下主流技术:

特征码技术
杀毒软件存在病毒特征库,包含了各种病毒的特征码,特征码是一段特殊的程序,从病毒样本中抽取而来,与正常的程序不太一样。把被扫描的信息与特征库进行对比,如果匹配到了特征库,则认为该被扫描信息为病毒。

行为查杀技术
病毒在运行的时候会有各种行为特征,比如会在系统里增加有特殊后缀的文件,监控用户行为等,当检测到某被检测信息有这些特征行为时,则认为该被检测信息为病毒。

网关反病毒
在以下场合中,通常利用反病毒特性来保证网络安全:

内网用户可以访问外网,且经常需要从外网下载文件。
内网部署的服务器经常接收外网用户上传的文件。
FW作为网关设备隔离内、外网,内网包括用户PC和服务器。内网用户可以从外网下载文件,外网用户可以上传文件到内网服务器。为了保证内网用户和服务器接收文件的安全,需要在FW上配置反病毒功能。
在FW上配置反病毒功能后,正常文件可以顺利进入内部网络,包含病毒的文件则会被检测出来,并被采取阻断或告警等手段进行干预。

6. 反病毒网关的工作原理是什么? 
首包检测技术
通过提取PE(Portable Execute;Windows系统下可移植的执行体,包括exe、dll、“sys等文件类型)文件头部特征判断文件是否是病毒文件。提取PE文件头部数据,这些数据通常带有某些特殊操作,并且采用hash算法生成文件头部签名,与反病毒首包规则签名进行比较,若能匹配,则判定为病毒。

启发式检测技术
启发式检测是指对传输文件进行反病毒检测时,发现该文件的程序存在潜在风险,极有可能是病毒文件。比如说文件加壳(比如加密来改变自身特征码数据来躲避查杀),当这些与正常文件不一致的行为达到一定的阀值,则认为该文件是病毒。
启发式依靠的是"自我学习的能力",像程序员一样运用经验判断拥有某种反常行为的文件为病毒文件。
启发式检测的响应动作与对应协议的病毒检测的响应动作相同。启发式检测可以提升网络环境的安全性,消除安全隐患,但该功能会降低病毒检测的性能,且存在误报风险,因此系统默认情况下关闭该功能。
启动病毒启发式检测功能∶heuristic-detect enable 。

文件信誉检测技术
文件信誉检测是计算全文MD5,通过MD5值与文件信誉特征库匹配来进行检测。文件信誉征库里包含了大量的知名的病毒文件的MD5值。华为在文件信誉检测技术方面主要依赖于文件信誉库静态升级更新以及与沙箱联动自学习到的动态缓存。文件信誉检测依赖沙箱联动或文件信誉库。

 

 7. 反病毒网关的工作过程是什么? 
(1)网络流量进入智能感知引擎后,首先智能感知引擎对流量进行深层分析,识别出流量对应的协议类型和文件传输的方向。

(2)判断文件传输所使用的协议和文件传输的方向是否支持病毒检测。
NGFW支持对使用以下协议传输的文件进行病毒检测。
FTP(File Transfer Protocol):文件传输协议
HTTP(Hypertext Transfer Protocol):超文本传输协议
POP3(Post Office Protocol - Version 3):邮局协议的第3个版本
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议
IMAP(Internet Message Access Protocol):因特网信息访问协议
NFS(Network File System):网络文件系统
SMB(Server Message Block):文件共享服务器
NGFW支持对不同传输方向上的文件进行病毒检测。
上传:指客户端向服务器发送文件。
下载:指服务器向客户端发送文件。

(3)判断是否命中白名单。命中白名单后,FW将不对文件做病毒检测。
白名单由白名单规则组成,管理员可以为信任的域名、URL、IP地址或IP地址段配置白名单规则,以此提高反病毒的检测效率。白名单规则的生效范围仅限于所在的反病毒配置文件,每个反病毒配置文件都拥有自己的白名单。

(4)针对域名和URL,白名单规则有以下4种匹配方式:
前缀匹配:host-text或url-text配置为“example”的形式,即只要域名或URL的前缀是“example”就命中白名单规则。
后缀匹配:host-text或url-text配置为“example”的形式,即只要域名或URL的后缀是“example”就命中白名单规则。
关键字匹配:host-text或url-text配置为“example”的形式,即只要域名或URL中包含“example”就命中白名单规则。
精确匹配:域名或URL必须与host-text或url-text完全一致,才能命中白名单规则。

(5)病毒检测:
智能感知引擎对符合病毒检测的文件进行特征提取,提取后的特征与病毒特征库中的特征进行匹配。如果匹配,则认为该文件为病毒文件,并按照配置文件中的响应动作进行处理。如果不匹配,则允许该文件通过。当开启联动检测功能时,对于未命中病毒特征库的文件还可以上送沙箱进行深度检测。如果沙箱检测到恶意文件,则将恶意文件的文件特征发送给FW,FW将此恶意文件的特征保存到联动检测缓存。下次再检测到该恶意文件时,则按照配置文件中的响应动作进行处理。
病毒特征库是由华为公司通过分析各种常见病毒特征而形成的。该特征库对各种常见的病毒特征进行了定义,同时为每种病毒特征都分配了一个唯一的病毒ID。当设备加载病毒特征库后,即可识别出特征库里已经定义过的病毒。同时,为了能够及时识别出最新的病毒,设备上的病毒特征库需要不断地从安全中心平台(sec.huawei.com)进行升级。

(6)当NGFW检测出传输文件为病毒文件时,需要进行如下处理:
判断该病毒文件是否命中病毒例外。如果是病毒例外,则允许该文件通过。
病毒例外,即病毒白名单。为了避免由于系统误报等原因造成文件传输失败等情况的发生,当用户认为已检测到的某个病毒为误报时,可以将该对应的病毒ID添加到病毒例外,使该病毒规则失效。如果检测结果命中了病毒例外,则对该文件的响应动作即为放行。
如果不是病毒例外,则判断该病毒文件是否命中应用例外。如果是应用例外,则按照应用例外的响应动作(放行、告警和阻断)进行处理。
应用例外可以为应用配置不同于协议的响应动作。应用承载于协议之上,同一协议上可以承载多种应用。

由于应用和协议之间存在着这样的关系,在配置响应动作时也有如下规定:
如果只配置协议的响应动作,则协议上承载的所有应用都继承协议的响应动作。
如果协议和应用都配置了响应动作,则以应用的响应动作为准。
如果病毒文件既没命中病毒例外,也没命中应用例外,则按照配置文件中配置的协议和传输方向对应的响应动作进行处理。

8. 反病毒网关的配置流程是什么?
反病毒的基本配置思路

 


 

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

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

相关文章

VUE vue天气预报 高德接口 和风天气

方法一: 高德天气 1、引入axios import axios from "axios"; 2、 发生请求 getWeatherData() {let url https://restapi.amap.com/v3/weather/weatherInfo?city杨浦区&keyd77b4c08b2718e4e06def82570d3e834&extensionsbase;axios.get(url).then(res >…

Windows下安装Sqoop

Windows下安装Sqoop 一、Sqoop简介二、Sqoop安装2.1、Sqoop官网下载2.2、Sqoop网盘下载2.3、Sqoop安装(以version:1.4.7为例)2.3.1、解压安装包到 D:\bigdata\sqoop\1.4.7 目录2.3.2、新增环境变量 SQOOP_HOME2.3.3、环境变量 Path 添加 %SQO…

【统计学精要】:使用 Python 实现的统计检验— 1/10

一、介绍 欢迎来到“掌握 Python 统计测试:综合指南”,它将介绍本手册中您需要熟悉使用 Python 的所有基本统计测试和分析方法。本文将为您提供统计测试及其应用的全面介绍,无论您是新手还是经验丰富的数据科学家。 使用来自现实世界的实际示…

Linux学习之sed替换命令讲解

cat /etc/redhat-release看到操作系统是CentOS Linux release 7.6.1810,uname -r看到内核版本是3.10.0-957.el7.x86_64,bash --version可以看到bash版本是4.2.46(2)。 sed(sed strem editor)可以理解为行编辑器,但它…

C++ Lambda表达式的完整介绍

一、Lambda表达式概述 c在c11标准中引入了lambda表达式,一般用于定义匿名函数,lambda表达式(也称为lambda函数)是在调用或作为函数参数传递的位置处定义匿名函数对象的便捷方法。通常,lambda用于封装传递给算法或异步…

SpringBoot对接OpenAI

SpringBoot对接OpenAI 随着人工智能技术的飞速发展,越来越多的开发者希望将智能功能集成到自己的应用中,以提升用户体验和应用的功能。OpenAI作为一家领先的人工智能公司,提供了许多先进的自然语言处理和语言生成模型,其中包括深…

eclipse Java Code_Style Code_Templates

Preferences - Java - Code Style - Code Templates Eclipse [Java_Code_Style_Code_Templates_ZengWenFeng] 2023.08.07.xml 创建一个新的工程,不然有时候不生效,旧项目可能要重新导入eclipse 创建一个测试类试一试 所有的设置都生效了

【雕爷学编程】Arduino动手做(195)---HT16k33 矩阵 8*8点阵屏模块5

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

Nginx(2)

目录 1.安装Nginx1.yum安装2.编译安装3.Nginx命令 2.配置文件详解 1.安装Nginx 1.yum安装 [rootdocker ~]# yum -y install nginx通过 rpm -ql nginx 查看安装信息 2.编译安装 2.1安装所需要的依赖 yum install -y gcc gcc-c make libtool wget pcre pcre-devel zlib zlib-…

4. C++构造函数和析构函数

一、对象的初始化和清理 C中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置,对象的初始化和清理也是两个非常重要的安全问题 一个对象或者变量没有初始状态,对其使用后果是未知的使用完一个对象或变量&#x…

CentOS7安装Maven详细教程

😊 作者: Eric 💖 主页: https://blog.csdn.net/weixin_47316183?typeblog 🎉 主题:CentOS7安装Maven详细教程 ⏱️ 创作时间: 2023年08月06日 第一步:上传或下载安装包&#x…

【Element】el-cascader 级联选择器

ElementUI label 为空的不展示 将children设为undefined dg(list) {list.forEach(item > {item.label item.nameitem.value item.iditem.children item.childrenList.length ! 0 ? item.childrenList : undefinedif (item.children) {this.dg(item.children)}}) },第…

拦截器对接口细粒度权限校验

文章目录 一、逻辑分析二、校验规则1.规则类型2.规则划分3.规则配置信息4.规则案例说明5.规则加载 三、拦截器定义1.自定义拦截器2.注册拦截器 四、获取请求参数1.获取get提交方式参数2.获取post提交方式参数(1)定义RequestWrapper类(2&#…

pinctrl_desc结构体注册

pinctrl_desc结构体注册 文章目录 pinctrl_desc结构体注册pinctrl_registerpinctrl_register_pins注册所有的引脚 pinctrl_register 构建好struct pinctrl_desc结构以后,会调用pinctrl_register函数注册一个pinctrl控制器,得到一个pinctrl_dev struct …

【大数据】Flink 详解(二):核心篇 Ⅰ

Flink 详解(二):核心篇 Ⅰ 14、Flink 的四大基石是什么? ​ Flink 的四大基石分别是: Checkpoint(检查点)State(状态)Time(时间)Window&#xff…

【机器学习2】什么是Jupyter notebook 新手使用Jupter notebook

什么是Jupyter notebook? Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享程序文档,支持实时代码&#x…

Redis 7.X Linux 环境安装

Redis 简介 作为一名开发人员,想必大家对Redis一定是耳熟能详,因此在此只做简单介绍。 Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value内存数据库,它提…

命令模式(C++)

定义 将一个请求(行为)封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 应用场景 在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合——比…

iPhone苹果手机地震预警功能怎么开启?

iPhone苹果手机地震预警功能怎么开启? 1、打开iPhone苹果手机设置; 2、在iPhone苹果手机设置内找到辅助功能; 3、在辅助功能内找到触控; 4、在iPhone苹果手机辅助功能触控内找到振动,如果是关闭状态请启; …

jdk1.7与jdk1.8中String.split()方法问题

split切割字符串的坑,会有索引越界的风险。 在jdk1.8中 public static void main(String[] args) { String card "abcdefgh"; System.out.println(card.split("").length); } 结果:8 在jdk1.7中,同样的代码 …