网络篇01 | 入门篇

网络篇01 | 入门篇

  • 01 各层协议目录
    • [网络篇02 | 应用层 kcp(王者荣耀)](https://blog.csdn.net/qiushily2030/article/details/135835946)
    • [网络篇03 | 应用层 quic](https://blog.csdn.net/qiushily2030/article/details/136192481)
    • [网络篇04 | 应用层 mqtt(物联网)](https://blog.csdn.net/qiushily2030/article/details/137739784)
    • [网络篇05 | 应用层 http/https](https://blog.csdn.net/qiushily2030/article/details/137738941)
    • [网络篇06 | 应用层 自定义协议](https://blog.csdn.net/qiushily2030/article/details/137740639)
    • [网络篇07 | 应用层 其他协议](https://blog.csdn.net/qiushily2030/article/details/137740706)
    • [网络篇08 | 运输层 tcp](https://blog.csdn.net/qiushily2030/article/details/137740741)
    • [网络篇09 | 运输层 udp](https://blog.csdn.net/qiushily2030/article/details/137741519)
    • [网络篇10 | 网络层 IP](https://blog.csdn.net/qiushily2030/article/details/137741548)
    • [网络篇11 | 网络层 ICMP](https://blog.csdn.net/qiushily2030/article/details/137741672)
    • [网络篇12 | 链路层 ARP](https://blog.csdn.net/qiushily2030/article/details/137741897)
    • 网络篇13 | 链路层 RARP
    • 网络篇14 | 物理层
  • 02 网络基础概念
    • 1)各层划分
    • 2)各层PDU
    • 3)网络传输
  • 03 网络层级概要
    • 1)应用层(应用、表示、会话)
    • 2)运输层(TCP、UDP)
    • 3)网络层(IP、ICMP、IGMP)
    • 4)链路层(ARP、RARP)
    • 5)物理层(比特)
  • 04 网络诊断工具
    • 1)tcpdump
    • 2)hping3
    • 3)mtr
  • 05 网络抓包工具
    • 1)Wireshark
    • 2)Burp Suite
  • 06 位操作
    • 1)位运算(原码 反码 补码)
    • 2)位运算符
    • 3)Java代码使用

01 各层协议目录

网络篇02 | 应用层 kcp(王者荣耀)

网络篇03 | 应用层 quic

网络篇04 | 应用层 mqtt(物联网)

网络篇05 | 应用层 http/https

网络篇06 | 应用层 自定义协议

网络篇07 | 应用层 其他协议

网络篇08 | 运输层 tcp

网络篇09 | 运输层 udp

网络篇10 | 网络层 IP

网络篇11 | 网络层 ICMP

网络篇12 | 链路层 ARP

网络篇13 | 链路层 RARP

网络篇14 | 物理层

02 网络基础概念

1)各层划分

在这里插入图片描述

2)各层PDU

在这里插入图片描述

3)网络传输

在这里插入图片描述

03 网络层级概要

1)应用层(应用、表示、会话)

  • 应用层:提供用户接口和服务的应用程序。
  • 表示层:处理数据格式转换、加密解密等功能。
  • 会话层:管理通信会话,确保数据传输的正确性。

2)运输层(TCP、UDP)

  • TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输服务。
  • UDP(User Datagram Protocol):提供不可靠的、无连接的数据传输服务。

3)网络层(IP、ICMP、IGMP)

  • IP(Internet Protocol):负责数据包的路由和寻址。
  • ICMP(Internet Control Message Protocol):用于传递控制消息和错误报告。
  • IGMP(Internet Group Management Protocol):用于组播组管理。

4)链路层(ARP、RARP)

  • ARP(Address Resolution Protocol):将 IP 地址映射为 MAC 地址。
  • RARP(Reverse Address Resolution Protocol):将 MAC 地址映射回 IP 地址。

5)物理层(比特)

在网络模型中,物理层传输的单位是比特。与其他网络层(如数据链路层、网络层、传输层和应用层)不同,物理层并没有类似于这些层的报文协议。

该层的设备和技术包括网卡、集线器、中继器、光纤、电缆等。物理层是 OSI 模型中最底层的一层,负责在物理媒介上传输比特流。它处理数据的传输速率、传输介质的接口标准、信号的电压等细节。物理层主要任务包括传输比特流、对传输媒介进行编码和解码、提供物理连接的建立和维护。

当数据以比特形式在网络中传输时,以下是一般情况下的传输过程:

  • 数据编码:在发送端,原始数据被转换为比特流。这可能涉及将数据分割成固定大小的块,并对每个块进行编码,通常使用数字信号处理技术来表示二进制比特。
  • 物理层传输:经过数据编码后的比特流会通过物理层传输介质(如铜线、光纤或无线波段)。在传输介质上,比特以电信号、光信号或者无线信号的形式传输。
  • 调制与解调:在模拟传输媒体中,数字信号需要经过调制(Modulation)转换为模拟信号才能传输。接收端会对接收到的信号进行解调(Demodulation),将模拟信号转换回数字信号。
  • 传输延迟:在传输过程中,会出现传输延迟(如传播延迟、处理延迟等)。这些延迟会影响数据到达接收端的时间和顺序。
  • 接收端解析:接收端接收到比特流后,会根据事先约定好的协议或标准对比特流进行解析和重组,还原出原始数据。

总的来说,数据比特在网络中传输的过程包括编码、基于物理层介质的传输、调制与解调(如果有必要)、传输延迟和接收端的解析过程。这些步骤确保了数据能够在网络中可靠地传输并最终正确地被接收端解析。

在内部服务器通过交换机进行通信时,在数据链路层,设备之间识别目标地址主要是通过目标MAC地址来实现的,每个网络设备都有一个唯一的MAC地址,用于在数据链路层中唯一标识设备。数据链路层帧中包含了源MAC地址和目标MAC地址。

MAC地址与硬件通常是一一绑定的,每个网络设备(如网卡、无线适配器)在生产过程中会被分配一个全球唯一的MAC地址。这个MAC地址是设备固化在其硬件中的,并且不可更改,确保了网络中每个设备具有唯一的身份标识。

硬件与数据链路层对接获取MAC地址的过程:

  • 嵌入式设备:在硬件设备(如网络适配器)中内置了芯片或电路,其中包含设备的MAC地址信息。这个MAC地址通常是由设备制造商编程到设备的固件中的。
  • 驱动程序:当操作系统启动时,它会加载适当的硬件驱动程序,这些驱动程序知道如何与硬件设备通信并提供所需的服务。驱动程序可以通过访问嵌入式设备以获取设备的MAC地址。
  • 数据链路层获取MAC地址:数据链路层在需要发送或接收数据时,会通过底层的驱动程序与硬件设备进行通信。驱动程序会向数据链路层提供设备的MAC地址,以便正确地封装和解析数据帧。
  • MAC地址的使用:数据链路层将源MAC地址和目标MAC地址添加到数据帧中,以确保数据帧能够传输到正确的目标设备。接收端根据目标MAC地址来识别并处理接收到的数据帧。

总的来说,MAC地址是设备硬件上的固定标识符,通过嵌入式设备中的芯片或电路与硬件绑定。数据链路层在需要发送或接收数据时,通过驱动程序获取硬件的MAC地址,并将其用于数据帧的封装和解析过程,以实现数据在网络中的准确传输。

04 网络诊断工具

1)tcpdump

监听192.168.50.223端口7778的eth0网卡,包信息导入到r1.cap的Wireshark中。

#执行命令如下,抓包操作会持续进行,直到你手动停止tcpdump命令。通常可以使用Ctrl + C来终止抓包操作,然后查看捕获的数据包。
# tcpdump host 192.168.50.223 and port 7778 -i eth0 -w ./r1.cap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

一下就是Wireshark打开的效果,可以继续分析数据包了。
在这里插入图片描述

2)hping3

  • Dos攻击
(base) [root@vm12_efficiency01_50_221 ~]# hping3 -I eth0 -a 192.168.10.99 -S 192.168.50.224 -p 80 -i u1
HPING 192.168.50.224 (eth0 192.168.50.224): S set, 40 headers + 0 data bytes
--- 192.168.50.224 hping statistic ---
15626168 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

根据提供的hping3命令输出:

  • 已发送了15626168个SYN数据包到目标主机192.168.50.224的端口80。
  • 从目标主机返回的统计信息显示,没有接收到任何响应数据包。
  • 100%的数据包丢失率表明在传输过程中没有成功建立连接。
  • 来回时间的最小、平均和最大值都为0毫秒,这意味着没有收到任何响应数据包。

总的来说,虽然发送了大量的SYN数据包,但由于未收到回复,表示目标主机未响应或无法处理这些连接请求。可能是因为防火墙、网络设置或其他原因导致连接失败。
在这里插入图片描述

为什么发了这么多的包,对方的CPU一点都不涨?

我这两台机器都是内网同一个网段,中间只经过交换机,经过了交换机的包过滤,交换机可能会执行一些包过滤功能,如MAC地址过滤、端口安全等,导致部分数据包被丢弃或不被转发。

在这种情况下,虽然你发送了大量的数据包(15626168个SYN包),但目标主机仍未显示任何响应或负载变化。这可能是由于以下原因导致:

  • 防火墙或网络设备过滤: 目标主机可能有防火墙或其他网络设备对入站流量进行过滤,从而导致无法接收到你发送的数据包。
  • 系统资源处理能力: 目标主机的CPU可能具有很高的处理能力,可以轻松处理大量的连接请求,因此即使有大量的数据包传输也不会显著影响其性能。
  • DoS 防护措施: 目标主机可能已经配置了适当的 DoS 防护措施,如连接速率限制、黑名单等,以保护自身免受此类攻击的影响。

在这种情况下,发出如此多的数据包而没有看到任何影响可能意味着目标主机有能力处理这样的请求或者有相应的安全措施来防范此类攻击。

(base) [root@vm12_efficiency01_50_221 ~]# hping3 -c 100000000 -d 120 -S -w 64 -I enp1s0 -p 21 --flood --rand-source -i u0.0000001 192.168.50.224
HPING 192.168.50.224 (lo 192.168.50.224): S set, 40 headers + 120 data bytes
hping in flood mode, no replies will be shown
--- 192.168.50.224 hping statistic ---
1121223 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

根据提供的hping3命令输出:

  • 已发送1121223个SYN数据包到目标IP地址192.168.50.224的端口21。
  • 没有收到任何回复数据包,导致100%的数据包丢失率。
  • 最小、平均和最大来回时间都为0毫秒,表示未发生成功建立连接。

关于目标机器CPU使用率低的原因可能包括:

  • 数据包处理方式: 大量SYN数据包可能未成功建立连接,因此目标机器并不需要花费太多资源对这些无法完成握手的连接进行处理。
  • 网络设备过滤: 网络中的交换机、防火墙或其他设备可能在数据包传输时过滤了部分流量,导致一些数据包无法到达目标机器。
  • 目标主机性能: 目标主机可能具有强大的处理能力,可以轻松处理大量的连接请求,因此即使接收到大量数据包也不会显著增加CPU负载。

虽然发送了大量的数据包并且没有成功建立连接,但由于以上原因,目标机器的CPU使用率仍然保持较低水平。在网络测试中,需要谨慎评估发送频率和数据包数量,以免对目标系统和网络造成意外影响。
在这里插入图片描述

  • SYN泛洪攻击
(base) [root@vm12_efficiency01_50_221 ~]# hping3 -c 5000 -d 100 -S -w 64 -p 80 --flood --rand-source 192.168.50.224
HPING 192.168.50.224 (eth0 192.168.50.224): S set, 40 headers + 100 data bytes
hping in flood mode, no replies will be shown--- 192.168.50.224 hping statistic ---
2652818 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

根据 hping3 命令的输出,可以看到以下信息:

  • 2652818 packets transmitted: 已传输的数据包数量,数据包使用的是TCP协议(S代表TCP SYN报文),每个数据包的大小为100字节。
  • 0 packets received: 接收到的数据包数量为 0。
  • 100% packet loss: 100% 的数据包丢失率。
  • round-trip min/avg/max = 0.0/0.0/0.0 ms: 来回时间的最小、平均和最大值都为0毫秒

这表明发送的5000个数据包中没有一个被目标主机192.168.50.224接收,可能由于网络配置、防火墙或其他原因导致连接失败。

这个是对目标机器发起TCP泛洪攻击,目标的CPU使用率很高,因为要接收处理报文,即使只是过滤拦截。ksoftirqd/2 是 Linux 内核中的软中断处理程序,用于处理网络和I/O相关的软中断。具体而言,ksoftirqd/2 是软中断处理程序之一,其中的 /2 表示这是针对 CPU 2 的软中断处理程序。软中断是一种低优先级的中断处理 机制,用于处理那些不需要立即响应的中断。ksoftirqd 进程负责处理这些软中断请求,例如网络数据包的接收、网络协议栈处理等。
在这里插入图片描述

  • ICMP泛洪攻击
    类似于SYN泛洪攻击,只不过发送的数据包类型不同。
(base) [root@vm12_efficiency01_50_221 ~]# hping3 -c 50000 -d 100 -1 -C 5 -K 1 192.168.50.224
HPING 192.168.50.224 (eth0 192.168.50.224): icmp mode set, 28 headers + 100 data bytes--- 192.168.50.224 hping statistic ---
35 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

这表明在发送了50000个数据包后,目标主机192.168.50.224并没有接收任何数据包。可能由于网络配置、防火墙或其他原因导致连接失败。
根据 hping3 命令的输出,可以得到以下信息:

  • 35 packets transmitted: 已传输的数据包数量
  • 0 packets received: 接收到的数据包数量为 0
  • 100% packet loss: 100% 的数据包丢失率
  • round-trip min/avg/max = 0.0/0.0/0.0 ms: 来回时间的最小、平均和最大值都为 0 毫秒
    在这里插入图片描述

3)mtr

托管:https://github.com/traviscross/mtr/tree/v0.85
官网:https://www.bitwizard.nl/mtr/

  • 简介

mtr结合了“traceroute”和“ping”程序的功能。mtr运行在和用户指定的目标主机上。之后确定机器之间的每个网络跳的地址,它向每一个发送一个ICMP ECHO请求序列,以确定连接到每台机器的链路质量。当它这样做的时候,它会打印运行有关每台机器的统计信息。

ping命令通常是由操作系统提供的,包括在Linux系统中。ping命令用于测试与另一个主机的网络连接,并可以帮助确定网络是否正常工作以及网络延迟情况等。在Linux系统中,ping命令通常作为网络诊断工具的一部分,可通过终端运行来执行网络连通性测试。
traceroute命令通常也是由操作系统提供的,包括在Linux系统中。traceroute命令用于确定数据包从本地计算机到目标主机之间所经过的路由路径。它显示了数据包在路由器之间传输时经过的跳数和延迟时间。在Linux系统中,traceroute命令是网络诊断工具的一部分,可用于帮助诊断网络连接问题并分析网络路径。

Ping 和 Traceroute 都是网络诊断工具,但它们的功能和用途有一些区别:

  • Ping:
    功能:Ping 用于测试主机之间的连通性,通过发送 ICMP Echo Request 报文并接收 ICMP Echo Reply 报文来确认目标主机是否可达。
    作用:主要用于检查主机是否在线、测量网络延迟和丢包率。
    实现:Ping 是一个简单的工具,通常用于快速检查网络连接状态。
  • Traceroute:
    功能:Traceroute 用于确定数据包从源主机到目标主机之间经过的路由路径,显示每个路由器(跳)的 IP 地址以及延迟时间。
    作用:主要用于诊断网络故障、分析网络路径和了解数据包传输的详细路径。
    实现:Traceroute 会发送一系列特制的 ICMP 报文,并观察报文经过的路由器,帮助用户追踪网络路径。

总的来说,Ping 用于测试主机之间的基本连通性和响应时间,而 Traceroute 则用于跟踪数据包在网络中的传输路径。两者结合使用可以帮助定位网络问题并进行全面的网络诊断。

  • ping命令
    命令ping着重查看到目标节点的延迟。
# ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=51 time=19.0 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=51 time=19.9 ms
64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=51 time=17.9 ms

根据你运行的 ping www.baidu.com 命令的输出结果,我们可以看到与百度服务器(220.181.38.149)之间的 ICMP 回显请求和回显应答的信息。
每一行显示了从你的计算机向百度服务器发送 ICMP Echo Request 报文并接收 ICMP Echo Reply 报文的情况。以下是一些关键信息的分析:

  • 数据包大小为 56 字节。
  • 目标地址为 220.181.38.149,主机名为 www.a.shifen.com。
  • 每次请求的 TTL(Time to Live)值为 51。
  • 每个报文的延迟时间(time)在 17.9 ms 到 20.6 ms 之间变化。
    根据输出结果可知:
  • 数据包成功发送到目标主机,并且目标主机正确地对这些数据包进行了响应。
  • ICMP Echo Request 报文的 TTL 设置为 51,每次从源主机到目标主机的跳数不会超过 51 跳。
  • 平均延迟时间大约在 19 ms 左右,表明网络连接相对良好,响应速度较快。

综合分析来看,通过 ping 命令可以测试主机之间的连通性并测量延迟时间。在这种情况下,连接到百度服务器的网络连接是正常的,并且数据包能够在较短的时间内往返。如果遇到网络问题或延迟增加,请进一步检查网络设备、路由器设置等方面。

  • traceroute命令
    命令traceroute可以查看数据包经过的每一个节点(或者说每一跳(hop))的信息。
# traceroute www.baidu.com
traceroute to www.baidu.com (220.181.38.149), 30 hops max, 60 byte packets1  gateway (192.168.50.1)  2.690 ms  2.821 ms *2  * * *3  * * *4  * * *5  * * *

这个输出显示了数据包从你的计算机到百度服务器(220.181.38.149)之间经过的路由路径的每一跳。每一行表示一个路由器,显示了该路由器的 IP 地址以及数据包经过该路由器时的延迟时间。

根据输出结果可以推断:

  • 第1跳是位于本地网关(192.168.50.1),延迟时间约为 2.7 毫秒至 2.8 毫秒。
  • 从第2跳开始,出现* * *,网络出现了无法获取响应的情况,可能是某些防火墙、路由器不返回 ICMP 报文所致。
  • 在网络传输中,每一跳不仅可能是路由器的选择,还可能是防火墙、交换机或其他网络设备的选择。这些设备根据其配置和路由表信息来决定数据包的转发方式。
  • 综合分析来看,如果网络连接正常且未受阻碍,理想情况下 traceroute 应该能够顺利显示每一跳的 IP 地址和延迟时间。由于一些跳没有返回信息,可能需要更深入的诊断来确定问题所在,比如设备配置或网络故障。如果你遇到网络连接问题,可以联系网络管理员或运营商进行进一步调查和解决。

05 网络抓包工具

1)Wireshark

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。windows系统一般是以太网、Linux一般是eth0
在这里插入图片描述

从上到下有几个区域:过滤条件、封包列表、封包信息、16进制、统计信息等等。
在这里插入图片描述

2)Burp Suite

Burp Suite Community Edition官网使用文档:https://portswigger.net/burp/documentation/desktop/getting-started/intercepting-http-traffic?utm_source=burp_suite_community&utm_medium=learn_tab&utm_campaign=onboarding

Burp Suite Community Edition这款是免费版本,一般都用这中版本。
使用内置的浏览器打开,执行普通的GET请求。
在这里插入图片描述

以下是抓包的记录。
在这里插入图片描述

06 位操作

1)位运算(原码 反码 补码)

在这里插入图片描述

2)位运算符

在这里插入图片描述

3)Java代码使用

short f1 = buffer.readUnsignedByte();
//取出最高位的值,0x80 = 1000 0000
boolean variableFlag = (f1 & 0x80) == 0x80;
//读取低7位的值,0x7F = 0111 1111
byte messageWay = (byte) (f1 & 0x7F);short v4 = buffer.readUnsignedByte();
//retain字段占据v4的高4位,因此可以通过右移4位来得到它的值。
int retain = v4 >> 4;
//dupFlag字段占据v4的第4位(从右往左数),因此可以通过与0x08进行按位与操作来判断它是否为1。
boolean dupFlag = (v4 & 0x08) == 0x08;
//qosLevel字段占据v4的第3和第2位,因此可以通过与0x06进行按位与操作后再右移1位来得到它的值。  0x06是16进制数,它的二进制表示为00000110,按位与第3和第2位会被保留下来,其余位都被置为0。
int qosLevel = (v4 & 0x06) >> 1;
//rewriteFlag字段占据v4的最低位,因此可以通过与0x01进行按位与操作来判断它是否为1。
boolean rewriteFlag = (v4 & 0x01) != 0;

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Ubuntu】 Github Readme导入GIF

1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 (1)直接转换命令: ffmpeg -i out.mp4 out.gif(2) 带参数命令&…

系统架构最佳实践 -- 统一身份认证系统

目录 1.系统架构设计: 2.用户认证与授权: 3.用户身份管理: 4.安全性保障: 5.日志记录与审计: 6.高可用性与容错性: 7.用户体验优化: 随着互联网的快速发展和应用的普及,人们在…

嵌入式学习day16-22(2024.04.06-13)

文章目录 C语言网络编程socket主机与网络字节序转换inet_addr、inet_aton(ip转换)inet_ntoa 网络字节序转换为IP字符串端口转换为网络字节序网络字节序转换为端口atoi (字符串转换为整数) UDP通信流程UDP多进程并发服务器服务端客…

Vue指令案例

通过Vue完成表格数据的渲染展示 最终结果为&#xff1a; <!DOCTYPE html> <html lang"en"><head><script src"vue.js">//引入vue文件</script><meta charset"UTF-8"><meta name"viewport" c…

设计模式系列:责任链模式

简介 责任链模式是一种行为型设计模式&#xff0c;它允许你将请求沿着处理者链进行发送。每个处理者都可以对请求进行处理&#xff0c;或者将其传递给链上的下一个处理者。责任链模式主要应用于面向对象编程中&#xff0c;特别是当系统中的对象需要根据其属性来决定如何处理请…

DNS正反向解析

1.先连接X-shell 主服务器&#xff1a;192.168.32.168&#xff08;server&#xff09; 从服务器&#xff1a;192.168.32.169&#xff08;node&#xff09; 2.给主从服务器做准备工作 [rootserver ~]# setenforce 0 setenforce: SELinux is disabled [rootserver ~]# systemc…

基于SpringBoot+Mybatis框架的私人影院预约系统(附源码,包含数据库文件)

基于SpringBootMybatis框架的私人影院预约系统&#xff0c;附源码&#xff0c;包含数据库文件。 非常完整的一个项目&#xff0c;希望能对大家有帮助哈。 本系统的完整源码以及数据库文件都在文章结尾处&#xff0c;大家自行获取即可。 项目简介 该项目设计了基于SpringBoo…

季节更迭 关爱不变 | 鲁南制药四季守护您的健康生活

春天&#xff0c;万物复苏的季节&#xff0c;一切都充满了生机和活力。在春日的阳光下&#xff0c;鲜花盛开&#xff0c;绿叶茂盛&#xff0c;鸟儿欢歌&#xff0c;蝴蝶翩翩起舞。我们的身体也需要特别的关爱和养护&#xff0c;保持健康和活力&#xff0c;更好地迎接每一次季节…

冯喜运:4-15周一黄金原油行情分析及操作建议

【 黄金消息面分析】&#xff1a;周五(4月12日)美盘时段&#xff0c;黄金价格再创历史新高一度突破2420美元关口&#xff0c;最高触及2431美元/盎司&#xff0c;尽管相对强弱指数(RSI)显示超买状态&#xff0c;但随着以色列和伊朗之间的地缘政治紧张局势升级&#xff0c;投资者…

Object和Objects

Object Object是Java中的顶级父类.所有的类都直接或间接的继承Object类. Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法. Object的构造方法: Object的成员方法 public class test {public static void main(String[] args) {//1.toString 返回对象…

跨平台桌面应用 Electron 入门学习

本文章主要为该视频的学习笔记&#xff0c;如果侵权会速删。 Electron 01 课程介绍_哔哩哔哩_bilibiliElectron 01 课程介绍, 视频播放量 3046、弹幕量 0、点赞数 75、投硬币枚数 43、收藏人数 179、转发人数 2, 视频作者 极客丶张德龙, 作者简介 当你的能力还不足以撑起自己的…

蓝桥杯算法题:练功

【问题描述】 小明每天都要练功&#xff0c;练功中的重要一项是梅花桩。 小明练功的梅花桩排列成 n 行 m 列&#xff0c;相邻两行的距离为 1&#xff0c;相邻两列的距离也为 1。 小明站在第 1 行第 1 列上&#xff0c;他要走到第 n 行第 m 列上。小明已经练了一段时间&#xff…

【系统分析师】数据库部分

文章目录 1、数据库模式2、数据库设计过程2.1ER模型 3、关系代数 ☆5、规范化理论☆5.1 非规范存在的问题5.2 相关概念5.3范式5.3.1 第一范式-1NF5.3.2 第二范式-2NF5.2.3 第三范式5.2.4 BC范式 5.4 函数依赖分解5.4.1保持函数依赖分解5.4.2 无损分解 5.5 Armstong公理系统 6、…

物联网实战--驱动篇之(七)RTC时钟(DS1302)

目录 一、RTC简介 二、DS1302介绍 三、初始化 四、字节读写 五、功能函数 一、RTC简介 实时时钟&#xff0c;简称RTC&#xff0c;这个在STM32的外设里也有&#xff0c;不过STM32F1系列的RTC实际上只有一个计数器功能&#xff0c;如果需要年月日要自己写软件计算 &#xff…

数字IC/FPGA(时钟简介)

本文主要介绍以下几点&#xff1a; 什么是时钟什么是外部时钟和内部时钟时钟偏斜skew、时钟延迟delay和时钟抖动jitter的定义、三者的区别时钟抖动、时钟偏斜、时钟延迟会引起或不会引起什么情况布线方式的影响&#xff0c;正偏差和负偏差的好处和坏处什么是同步电路什么是异步…

二叉树经典OJ题(2)

一、根据二叉树创建字符串 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public://前序遍历&#xff1a;根 左 右//左子树为空&#xff0c;右子树不为空的时候&#xff0c;不能省略左//左不为空&#xff0c;右子树为空的时候&#xff0c;可以省略右//都为空&am…

【springCloud】版本学习

Spring Cloud介绍 官网地址&#xff1a;https://spring.io/projects/spring-cloud Spring Cloud 是一个基于 Spring Boot 的微服务架构解决方案&#xff0c;它提供了一系列工具和模式来帮助开发者构建分布式系统。Spring Cloud 的组件和模式包括配置管理、服务发现、断路器、…

【Linux】tcpdump P3 - 过滤和组织返回信息

文章目录 基于TCP标志的过滤器格式化 -X/-A额外的详细选项按协议(udp/tcp)过滤低详细输出 -q时间戳选项 本文继续展示帮助你过滤和组织tcpdump返回信息的功能。 基于TCP标志的过滤器 可以根据各种TCP标志来过滤TCP流量。这里是一个基于tcp-ack标志进行过滤的例子。 # tcpdump…

vue源码解析——diff算法/双端比对/patchFlag/最长递增子序列

虚拟dom——virtual dom&#xff0c;提供一种简单js对象去代替复杂的 dom 对象&#xff0c;从而优化 dom 操作。virtual dom 是“解决过多的操作 dom 影响性能”的一种解决方案。virtual dom 很多时候都不是最优的操作&#xff0c;但它具有普适性&#xff0c;在效率、可维护性之…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.7 总账模块报表 -2.7.2 对外报表:现金流量表

2.7.2 对外报表&#xff1a;现金流量表 现金流量表包括直接法和间接法。使用SAP出具现金流量表&#xff0c;一般只能出具直接法报表。间接法是指按照净利润倒推出现金流量的发生额&#xff0c;由于其中存在人为“分析”的因素&#xff0c;很难直接通过科目的加加减减得出所需要…