网络安全服务基础Windows--第8节-DHCP部署与安全

DHCP协议理解
定义:DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,是⼀个应⽤在局域⽹中的⽹络协议,它使⽤UDP协议⼯作。

67(DHCP服务器)和68(DHCP客户端)
当 Client传送给封包给 Server时,源是UDP 68 Port ⽬的UDP 67 Port,
从 Server传送给 Client则是使⽤ 源是UDP 67 Port ⽬的UDP 68 Port

理解:DHCP协议就是⼀个基于UDP协议⼯作在局域⽹内的⽹络协议,其最终的⽬的就是获取响应的IP地址,其中这过程中有多种分配⽅式,以及发送报⽂的格式要求等。

作⽤:动态分配IP地址,过程⾃动化,终端⽆需⼀⼀⼿⼯配置,配置信息统⼀管理(DNS,⽹关),IP地址有限、需要⼤量配置IP地址、经常移动终端。

好处:提⾼配置IP地址效率,减少配置⼯作量,减少IP地址冲突。

分配IP地址⽅式:

(1)⼿⼯配置⽅式:通过⽹络管理员⼿⼯配置某台客户端特定的IP地址,当客户端请求分配时,DHCP服务器就将⼿动配置的IP地址分配给客户端。。
(2)⾃动配置⽅式:当DHCP客户端第⼀次想服务端租⽤到第⼀个IP地址后,就将这个IP地址永久分配给客户端使⽤。
(3)动态配置⽅式:服务器暂时分配⼀个IP地址给客户端,根据租约到期或者续约租期的⽅式来管理分配的IP地址。

DHCP报⽂格式

链路层头
IP头 20bytes
UDP头
DHCP报⽂
字段长度含义
OP1字节
表示报⽂的类型:
1:客户端请求报⽂
2:服务器响应报⽂
htype1字节
表示硬件地址的类型。对于以太⽹,该类型的值为“1”。
hlen1字节
表示硬件地址的⻓度,单位是字节。对于以太⽹,该值为
6。
Hops1字节
跳数。客户端设置为0,也能被⼀个代理服务器设置。
xid4字节
事务ID,由客户端选择的⼀个随机数,被服务器和客户端
⽤来在它们之间交流请求和响应,客户端⽤它对请求和应
答进⾏匹配。该ID由客户端设置并由服务器返回,为32位
整数。
secs2字节
由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使⽤了的秒数。
flags2字节
此字段在BOOTP中保留未⽤,在DHCP中表示标志字段。
Flags字段格式
只有标志字段的最⾼位才有意义,其余的位均被置为0。
最左边的字段被解释为⼴播响应标志位,内容如下所示:
0:客户端请求服务器以单播形式发送响应报⽂
1:客户端请求服务器以⼴播形式发送响应报⽂
ciaddr4字节
客户端的IP地址。只有客户端是Bound、Renew、
Rebinding状态,并且能响应ARP请求时,才能被填充。
yiaddr4字节
"你⾃⼰的"或客户端的IP地址。
siaddr4字节
表明DHCP协议流程的下⼀个阶段要使⽤的服务器的IP地
址。
giaddr4字节
该字段表示第⼀个DHCP中继的IP地址(注意:不是地址池
中定义的⽹关)。当客户端发出DHCP请求时,如果服务器
和客户端不在同⼀个⽹络中,那么第⼀个DHCP中继在转发
这个DHCP请求报⽂时会把⾃⼰的IP地址填⼊此字段。服务
器会根据此字段来判断出⽹段地址,从⽽选择为⽤户分配
地址的地址池。服务器还会根据此地址将响应报⽂发送给
此DHCP中继,再由DHCP中继将此报⽂转发给客户端。
若在到达DHCP服务器前经过了不⽌⼀个DHCP中继,那么
第⼀个DHCP中继后的中继不会改变此字段,只是把Hops
的数⽬加1。
chaddr16字节
该字段表示客户端的MAC地址,此字段与前⾯的“Hardware Type”和“Hardware Length”保持⼀致。当客户端发出DHCP请求时,将⾃⼰的硬件地址填⼊此字段。
对于以太⽹,当“Hardware Type”和“Hardware
Length”分别为“1”和“6”时,此字段必须填⼊6字节的以太
⽹MAC地址。
sname64字节
该字段表示客户端获取配置信息的服务器名字。此字段由
DHCP Server填写,是可选的。如果填写,必须是⼀个以0
结尾的字符串。
file128字节
该字段表示客户端的启动配置⽂件名。此字段由DHCP
Server填写,是可选的,如果填写,必须是⼀个以0结尾的
字符串。
options可变
该字段表示DHCP的选项字段,⾄少为312字节,格式为"代码+⻓度+数据"。DHCP通过此字段包含了服务器分配给终端的配置信息,如⽹关IP地址,DNS服务器的IP地址,客户端可以使⽤IP地址的有效租期等信息。

option字段编码方式

 这个字段的结构采⽤“CLV”结构

其中”code”是标识号,唯⼀标识后⾯的信息内容(vlaue),1bytes;
“length”表示后⾯的value值的⻓度,1bytes
“vlaue”是信息内容

Options字段有很多项,是可选的,不同的报⽂option项可能不同,图5是⼀个DHCP request报⽂的
option项:

Option id
⻓度(字节)
描述
14
Subnet Mask
3
n*4
Router(⽹关)
6
n*4
DNS Server
7
n*4
Log Server
262
Interface MTU
33
n*8
Static route
354
ARP cache timeout
42
n*4
NTP servers
514
IP address lease time
531
Message type:
1-DHCPDISCOVER
2-DHCPOFFER
3-DHCPREQUEST
4-DHCPDECLINE
5-DHCPACK
6-DHCPNAK
7-DHCPRELEASE
8-DHCPINFORM
544
DHCP Server Identifier
60n
华为⾃定义:可配置该终端设备在发起DHCP请求时,通过Option 60携带域信息。收到DHCP报⽂时,可根据Option 60中携带的域信息来分配IP地址。
82n
华为⾃定义:作为DHCP Relay,在中继⽤户DHCP报⽂时,可在Option 82中填写⽤户的物理位置信息,通知DHCP服务器按物理位置信息对为⽤户分配IP地址。

DHCP协议报⽂的种类

Dhcp协议⼀共有8中报⽂,包括:DHCPDISCOVER,DHCPOFFER,DHCPREQUEST,DHCPACK,DHCPNAK,DHCPRELEASE,DHCPDECLINE,DHCPINFORM。

报⽂类型由options字段中的option53“DHCP Message Type”选项来确定。各报⽂的具体含义如下:

(1)DHCP-DISCOVER报⽂:0x01 客户端请求包

这个报⽂是client端开始dhcp过程的第⼀个请求报⽂,client在请求地址时,并不知道server端的位置,所以client会以⼴播的⽅式发送请求报⽂,它的⽬的是发现⽹络中的服务器。

(2)DHCP-OFFER报⽂: 0x02 服务器响应包

这个报⽂server端对DISCOVERY报⽂的响应报⽂。会在所配置的地址池中查找⼀个合适的IP地址,加上相应的租约期限和其他配置信息(如GATEWAY,DNS SERVER等),构造⼀个OFFER报⽂,发送给⽤户,告知⽤户本SERVER可以为其提供IP地址的分配,并且。发OFFER报⽂⼀般是单播的⽅式发送。

(3)DHCP-REQUEST报⽂:0x03 客户端选择包

在⼀个⼦⽹中可能有多台服务器,所有收到DISCOVER报⽂的服务器都会回应OFFER报⽂,所以client端可能收到多个OFFER报⽂,通常会选择第⼀个OFFER报⽂的服务器作为⾃⼰的⽬标服务器,并回应⼀个REQUEST请求报⽂。在续租约的时候client端也会发送REQUEST报⽂ 请求续租期。

(4)DHCP-ACK报⽂:0x05 服务器确认包

是server对client端的REQUEST报⽂的确认响应报⽂,server在收到REQUEST报⽂后,根据REQUEST报⽂中携带的client MAC来查找有没有相应的租约记录,如果有则发送ACK报⽂作为回应,通知client可以使⽤分配的IP地址。

(5)DHCP-NAK报⽂:0x06 服务器拒绝包

Server端对client端的REQUEST报⽂的拒绝响应报⽂,如果服务器没有相应的租约记录,就会发送NAK报⽂给client端。

(6)DHCP-RELEASE报⽂:0x07 客户端释放包

Client端主动释放server端分配给它的IP是,就会发送DHCP-RELEASE报⽂给server,server收到这个报⽂后,就会回收这个IP地址。

(7)DHCP-DECLINE报⽂:0x04

client收到server回应的ACK报⽂后,通过地址冲突检测发现 SERVER分配的地址冲突或由于其它原因导致不能使⽤,则发送DHCP-DECLINE报⽂,通知server所分配的IP地址不可⽤。

(8)DHCP-INFORM报⽂:0x08

在client已经获得了IP地址,需要从server端获得更详细的配置信息时,就会发送DHCP-INFORM报⽂向server请求,server在收到这个报⽂后,会根据租约查找,找到相应的配置信息后,就会回应DHCP-ACK报⽂给client。

DHCP协议⼯作过程

动态获取IP过程

典型的DHCP过程 :

1.客户机向服务器发送DHCP_DISCOVER报⽂,申请IP
2.服务器向客户机返回DHCP_OFFER报⽂,制定⼀个将要分配的IP
3.客户机向服务器发送DHCP_REQUEST报⽂,请求这个IP
4.服务器 ping ⼏次(⼀般是三次)这个IP ,如果没有响应的话,就说明这个IP现在是空闲的 ,可以分配给客户机,所以向客户机发送DHCP_ACK报⽂,确认可以分配。如果等响应,则发送DHCP_NAK报⽂,拒绝分配。
5.如果客户端收到DHCP_ACK,则发送⼀次免费ARP,判断这个IP 是否已经被⽤。没有使⽤则绑定这个服务器分配来的IP,否则向服务器发送DHCP_DECLINE报⽂,拒绝这次分配。并重新执⾏第⼀步。
如果收到是DHCP_NAK,则直接重新执⾏第⼀步。
客户机申请IP之前确实没有IP,DHCP_DISCOVER报⽂是以⼴播的形式发送的,IP头⾥的⽬的地址是255.255.255.255,源地址是0.0.0.0 链路层⽬的地址是FF-FF-FF-FF-FF-FF,源地址是⾃⼰的MAC地址。这样服务器 收到客户端发来的DISCOVER报⽂之后,会根据源MAC地址向客户机发送单播的DHCP_OFFER报⽂

抓包过程

  (1)在Wireshark中点击start开始抓包,在过滤栏输⼊bootp,使其只显示DHCP数据包
(2)在win10 中的cmd输⼊ipconfig /release 先断开当前的⽹络连接,主机号变为0.0.0.0,主机与⽹络断开,不能访问⽹络。
(3)在cmd中输⼊ipconfig /renew 请求⽹络连接,也为客户端分配了IP地址。
此时,可以看到在Wireshark中新增了4个DHCP数据包:
数据包1:DHCP Discover
数据包2:DHCP Offer
数据包3:DHCP Request
数据包4:DHCP ACK

 DHCP四个阶段

DHCP动态获取IP地址的过程主要分为发现阶段、提供阶段、选择阶段、确认阶段四个阶段。

(1)发现阶段:
client端在局域⽹内以⼴播的⽅式发起⼀个DHCP Discover包,⽬的是在⼦⽹络中发现能够给client端提供IP地址的server端。
UDP ⽬标端⼝号为67 源IP 地址0.0.0.0 ⽬的IP:255.255.255.255
(2)提供阶段:
局域⽹中DHCP server接受到Discover包之后,通过发送DHCP offer包给client端应答,主要是告知client端可以提供IP地址,以及相应的IP地址租约信息和其他配置信息也会在其中。
UDP ⽬标68 源IP为DHCP服务器的IP ⽬的IP:255.255.255.255
(1)DHCP服务器仍然使⽤⼴播地址作为⽬的地址,因为此时请求分配IP的Client并没有⾃⼰ip,⽽可能有多个Client在使⽤0.0.0.0这个IP作为源IP向DHCP服务器发出IP分配请求,DHCP也不能使⽤0.0.0.0这个IP作为⽬的IP地址,于是依然采⽤⼴播的⽅式,告诉正在请求的Client们,这是⼀台可以使⽤的DHCP服务器。
(2)DHCP服务器提供了⼀个可⽤的IP,在数据包的Your (client) IP Address字段可以看到DHCP服务器提供的可⽤IP。
(3)除此之外,如图中红⾊矩形框的内容所示,服务器还发送了⼦⽹掩码,路由器,DNS,域名,IP地址租⽤期等信息。
(3)选择阶段:
在client端可能会接受到多个offer包,通常clientdaunt只会接受收到的第⼀个DHCP offer报⽂,然后
client端就会以⼴播的⽅式发送⼀个DHCP request报⽂请求分配IP地址。
UDP ⽬标67 源IP为0.0.0.0 ⽬的IP:255.255.255.255
(4)确认阶段:
server端在收到DHCP request报⽂之后,会判断”option”字段的serverIP地址是否是⾃⼰的IP地址,如果符合分配IP地址的条件,就会给client发送⼀个DHCP ACK包,如果不满⾜就发挥发送⼀个DHCP NAK包。
UDP ⽬标68 源IP为DHCP服务器的IP ⽬的IP:255.255.255.255
注意:客户端执⾏DHCP-DISCOVER后,如果没有DHCP服务器响应客户端的请求,客户端会随机使⽤169.254.0.0/16⽹段中的⼀个IP地址配置到本机地址。

169.254.0.0/16是Windows的⾃动专有IP寻址范围,也就是在⽆法通过DHCP获取IP地址时,由系统⾃动
分配的IP地址段。

续约租期

 三种情况

(1)当clientIP地址已经⽤到50%的时间,续租⼀下,client端就会以单播形式向服务端发送⼀个DHCP Request包,当server响应时就会回应⼀个ACK包,会重新约定⼀个时间。
(2)当clientIP地址已经⽤到50%的时间,续租⼀下,client端就会以单播形式向服务端发送⼀个DHCP Request包,server没有响应,client会继续使⽤,当使⽤到87.5%时,会在续租⼀次,同时就以⼴播的⽅式是发送⼀个request包,server这时收到响应以后,就会回应⼀个ACK包,重新约定⼀个时间。
(3)当clientIP地址已经⽤到50%的时间,续租⼀下,client端就会以单播形式向服务端发送⼀个DHCP Request包,server没有响应,client会继续使⽤,当使⽤到87.5%时,会在续租⼀次,同时就以⼴播的⽅式是发送⼀个request包,如果server还是没有响应,client那就直接使⽤到过期。

 重新连接使⽤IP地址

Client端在重新登录⽹络的时候,可以不需要从初始阶段发送DHCP DISCOVER报⽂开始,可以直接⼴播发送DHCP REQUEST报⽂给服务器。

 client主动释放IP地址

ipconfig -release
ipconfig -renew

 总结

 

DHCP安全性
DHCP攻击:
1.恶意DHCP服务器(1.⽆法上⽹2.引导到外⽹,抓明⽂流量)
2.DHCP饥饿攻击
在DHCP服务器上直接防御DHCP饥饿攻击是有限的,因为DHCP协议本身没有内置⾜够的安全措施来防⽌此类攻击。然⽽,通过⼀些配置和策略,可以在⼀定程度上缓解饥饿攻击的影响
1. 设置适当的租约时间
设置较短的租约时间可以使IP地址更快地回收和重新分配。这不会阻⽌攻击发⽣,但可以减轻其影响,因为IP地址将不会被⻓时间占⽤。
2. 使⽤MAC地址过滤
在DHCP服务器上设置MAC地址过滤,只允许已知的、受信任的设备MAC地址从DHCP服务器获取IP地址。这需要管理员⼿动维护⼀个可信MAC地址列表,对于⼤型动态⽹络可能难以管理。
3. 限制每个客户端的IP分配
在⼀些⾼级的DHCP服务中,可以设置策略来限制每个客户端可以获得的IP地址数量。例如,可以配置服务器只允许每个物理设备在⼀定时间内从服务器获取⼀个IP地址。
4. DHCP Snooping
尽管不是在DHCP服务器上配置,但启⽤⽀持的交换机上的DHCP Snooping功能可以有效防⽌DHCP饥饿攻击。它确保只有受信任的端⼝可以响应DHCP请求,阻⽌未经授权的设备分配IP地址。
5. 监控与警报
实施监控策略来检测不寻常的DHCP流量模式和⾏为。例如,如果从单⼀设备收到⼤量的DHCP请求,或者某⼀设备频繁更换MAC地址请求IP,这些都可能是DHCP饥饿攻击的迹象。通过监控⼯具和⽇志分析,管理员可以及时发现并响应潜在的攻击。
6. VLAN和⽹络隔离
通过创建多个VLAN,将⽹络划分为多个较⼩的逻辑部分,每个部分有⾃⼰的DHCP作⽤域。这样即使在⼀个VLAN中受到攻击,也不会影响到整个⽹络的稳定性。
7. 安全强化
保持系统和软件的最新状态,定期更新DHCP服务器和⽹络设备的固件和软件,减少已知漏洞被利⽤的机会。
虽然在DHCP服务器上直接防御DHCP饥饿攻击存在局限,但通过⽹络层⾯的防御措施结合服务器配置的优化,可以有效减轻攻击带来的影响。实施这些策略需要⽹络管理员具备⼀定的⽹络安全知识和对现有⽹络架构深⼊的了解

实验:部署DHCP服务器

⼀台Windows server 作为服务器 ; ⼀台 Windows 7 作为客户端

第⼀步:取消虚拟机DHCP功能 (因为我们做的实验是要让我们在sever虚拟机上搭建的DHCP服务器给win7虚拟机分配一个ip地址,Windows sever当作一台服务器)

 第⼆步:手动配置DHCP 服务器 静态地址

 

 第三步:安装DHCP 服务器

 

DHCP--IPV4--新建作用域 

 

 后面都是默认下一步,记得要配一个默认网关!

 第四步:客户机设置⾃动获取IP地址(客户机和服务器机要连接同一网卡)

 

总结 :

DHCP服务器不仅可以⾃动分配IP地址给⽹络中的设备,还可以进行高级的管理和配置,以确保网络的高效运行和安全。下⾯是⼀些关键的管理策略和操作步骤:

1. 设置地址池(Scope Configuration)
DHCP服务器通过所谓的“作⽤域”来管理IP地址池。每个作⽤域定义了⼀系列的IP地址,这些地址可以⾃动分配给⽹络中的客户端。
创建和配置作⽤域:在DHCP服务器上定义⼀个或多个作⽤域,指定可供分配的IP地址范围、⼦⽹掩码、租约时间(即IP地址分配的有效期),以及任何其他的默认⽹络设置(如⽹关、DNS服务器等)。
2. 预留地址(Reservations)
对于⽹络中的某些设备(如打印机、服务器、或其他固定设备),可能需要固定的IP地址。通过在DHCP中设置预留地址,可以确保特定的设备总是接收到相同的IP地址。
配置预留地址:在DHCP管理控制台中,可以为特定的MAC地址分配⼀个固定的IP地址。这样,即使在使⽤DHCP的环境中,这些设备也总能获得⼀个固定的IP。
3. 租约管理
DHCP服务器通过“租约”概念来管理IP地址的分配时间。租约到期后,如果设备仍在⽹络上,它会⾃动请求续租。
调整租约时间:租约时间可以根据⽹络的需求进⾏调整,较短的租约时间可以使IP地址更快地回收和重新分配,⽽较⻓的租约时间可以减少⽹络流量和管理⼯作。
4. 动态更新DNS记录(DDNS)
现代⽹络环境中,DHCP与DNS协同⼯作,当DHCP服务器分配IP地址时,它也可以更新DNS服务器上的记录。
启⽤DDNS:在DHCP服务器上启⽤动态DNS更新配置,可以确保当DHCP分配的IP地址变更时,相应的DNS记录也会⾃动更新。
5. 监控和审计
监控DHCP服务器的运⾏状态和审计IP地址的使⽤情况对于维护⽹络安全和效率⾄关重要。
查看租约信息:定期查看DHCP租约数据库,监控哪些IP地址已被分配,哪些即将到期。
审计⽇志:保持和审查DHCP服务器的⽇志⽂件,以侦测异常⾏为或配置错误。

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

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

相关文章

如何在 Cursor IDE 中使用驭码CodeRider 进行 AI 编程?

驭码CodeRider 是极狐GitLab 公司自研发布的 AIGC 产品,可以用来进行 AI 编程和 DevOps 流程处理。本文分享如何在 Cursor 中使用驭码CodeRider。 Cursor 是近期比较火爆的一款 AI 代码编辑器,通过将 AI 能力引入软件研发来提升软件研发效率。而驭码Cod…

三级_网络技术_53_应用题

一、 请根据下图所示网络结构回答下列问题。 1.设备1应选用__________网络设备。 2.若对整个网络实施保护,防火墙应加在图中位置1~3的__________位置上。 3.如果采用了入侵检测设备对进出网络的流量进行检测,并且探测器是在交换机1上通过端口镜像方式…

CISAW认证涉及10个技术方向,到底哪个更适合您?

对于渴望在信息安全领域提升自己技能的你,CISAW(信息安全保障人员)认证无疑是一个理想的选择。 这项认证不仅适用于网络信息安全岗位的专业人员,还为那些寻求深化专业知识、提高职业竞争力的人士提供了宝贵的学习机会。 CISAW认…

【Linux】消息队列信号量

目录 消息队列 原理 接口 指令 信号量 概念 对于信号量理论的理解 信号量的操作 信号量的指令 消息队列 原理 消息队列提供了一个从一个进程向另外一个进程发送一个数据块的方法,每个数据块都有一个类型。对消息队列的的管理也是先描述,再组织…

开源网安引领AIGC+开发安全,智能防护铸就软件安全新高度

近日,国内网络安全领域知名媒体数说安全正式发布了《2024年中国网络安全市场100强》和《2024年中国网络安全十大创新方向》。开源网安凭借在市场表现力、资源支持力以及产品在AI方向的创新力上的优秀表现成功入选百强榜单,并被评为“AIGC开发安全”典型厂…

go发邮件的功能如何使用?新手必备的指南?

Go发邮件怎么实现发信功能?使用go发邮件的注意事项? 在这个数字化时代,电子邮件已成为我们日常沟通的重要工具。对于新手来说,掌握如何使用go发邮件功能是至关重要的。AokSend将详细介绍go发邮件的使用方法,帮助你快速…

分布式服务调用RPC框架复习

目录 1、Dubbo概念与架构 1.1 Dubbo简介 1.2 注册与发现流程图 1.3 Dubbo架构图 2、Dubbo调用流程 3、关于Dubbo 服务治理 3.1 Dubbo通信协议 3.2 序列化方式 3.3 负载均衡算法 4、Dubbo与Spring Cloud关系 4.1 相似之处 4.2 差异之处 5、Dubbo 与 gRPC 关系 6、…

【C/C++】web服务器项目开发总结【请求 | 响应 | CGI】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 一,背景 二&…

使用 Milvus 和 Streamlit 搭建多模态产品推荐系统

我们可以使用 Milvus 搭建多模态 RAG 应用,用于产品推荐系统。用户只需简单上传一张图片并输入文字描述,Google 的 MagicLens 多模态 Embedding 模型就会将图像和文本编码成一个多模态向量。然后,使用这个向量从 Milvus 向量数据库中找到最相…

C++设计模式——Template Method模板方法模式

一,模板方法模式的定义 模板方法模式是一种行为型设计模式,它先定义了一个算法的大致框架,然后将算法的具体实现步骤分解到多个子类中。 模板方法模式为算法设计了一个抽象的模板,算法的具体代码细节由子类来实现,从…

【Linux】进程状态(RSDT 阻塞 僵尸 孤儿)

目录 进程状态 进程状态的查看 R和S 运行状态 T/t 暂停状态 kill命令 D (disk sleep)状态、 Z 状态(僵尸状态) 孤儿状态 运行状态 阻塞状态 进程状态 一个进程通常有三种状态 ◉ 就绪状态(Ready&#xff0…

如何验证谷歌seo服务商的实力真假?

要验证谷歌SEO服务商的实力真假,可以通过几种简单有效的方法。 你可以要求对方通过视频会议或上门服务,展示谷歌官方后台的真实数据。 通过Google Search Console的实时数据,你可以直接看到他们为客户提供的服务效果,这样的数据是…

【加密社】如何根据.dat文件恢复密钥

加密社 看了这篇指南,你将了解助记词和密钥地址(qianbao)背后的基本原理。 以及,如何找回你的大饼密钥。 Not your key, not your coin 如果你不掌握自己加密货币钱包的私钥,那么你实际上并不能完全控制你的资产 在当今…

【STM32开发笔记】STM32H7S78-DK上的CoreMark移植和优化--兼记STM32上的printf重定向实现及常见问题解决

【STM32开发笔记】STM32H7S78-DK上的CoreMark移植和优化--兼记STM32上的printf重定向实现及常见问题解决 一、CoreMark简介二、创建CubeMX项目2.1 选择MCU2.2 配置CPU时钟2.3 配置串口功能2.4 配置LED引脚2.5 生成CMake项目 三、基础功能支持3.1 支持记录耗时3.2 支持printf输出…

基于FPGA的OV5640摄像头图像采集

1.OV5640简介 OV5640是OV(OmniVision)公司推出的一款CMOS图像传感器,实际感光阵列为:2592 x 1944(即500w像素),该传感器内部集成了图像出炉的电路,包括自动曝光控制(AEC…

内网渗透-域环境搭建

构建内网环境 在学习内网渗透测试时,需要构建一个内网环境并搭建攻击主机,通过具体操作理解漏洞的工作原理,从而采取相应的防范措施。 一个完整的内网环境,需要各种应用程序、操作系统和网络设备,可能比较复杂。我们只需要搭建其中的核心部分,也就是Linux服务器和 Windows服务…

复变函数在大模型中的应用

1. 导入 说来惭愧,我研究生时的研究方向是复分析,但毕业近十年来几乎没用到它。 我还记得实习时做自我介绍时,我说我的研究方向是复分析。面试官不太了解,我便解释说,这是关于对 -1 开平方得到的虚数 i 的研究。 在…

【iOS】——分类拓展关联对象

分类 OC的动态特征允许使用类别为现有的类添加新方法并且不需要创建子类,不需要访问原有类的源代码。通过使用类别即可动态为现有的类添加新方法,而且可以将类定义模块化分布到多个相关文件。 分类是 Objective-C 中的一种语言特性,它允许你…

缓解webclient频繁报‘Connection prematurely closed BEFORE response’的问题

现象: 我在Java代码中使用org.springframework.web.reactive.function.client.WebClient进行网络请求,一开始会有比较多的偶发报错:Connection prematurely closed BEFORE response,网络连接莫名其妙就断了。 处理: …

pm2 + linux + nginx

pm2 pm2是一个用于管理node项目的工具 前言 有如下两个文件 index.js const express require("express"); const app express(); const port 9999;app.get("/index", (req, res) > {res.json({code:200,msg:"songzx001"}) });app.lis…