网络安全防护指南:筑牢网络安全防线(5/10)

一、网络安全的基本概念

(一)网络的定义

网络是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息收集、存储、传输、交换、处理的系统。在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。它连接了世界各地的人们,使得信息的传递和交流变得更加便捷高效。

(二)网络安全的含义

网络安全,是指通过采取必要措施,防范对网络的攻击、入侵、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态,以及保障网络数据的完整性、保密性、可用性的能力。

完整性意味着网络中的数据在传输和存储过程中不能被篡改或损坏。无论是个人的照片、文档,还是企业的商业机密、财务数据,都需要保证其完整性,以确保信息的真实性和可靠性。

保密性则要求网络中的数据只能被授权的用户访问。例如,个人的银行账户信息、企业的专利技术等敏感数据,必须通过加密等手段进行保护,防止被未经授权的人员获取。

可用性是指网络系统能够持续稳定地为用户提供服务。如果网络遭受攻击导致无法正常运行,将会给个人和企业带来极大的不便和损失。

(三)网络运营者

网络运营者包括网络的所有者、管理者和网络服务提供者。他们是网络安全法中的关键义务主体,承担着保障网络安全的重要责任。

网络所有者对网络拥有所有权,负责网络的建设和维护。他们需要确保网络的基础设施安全可靠,为用户提供稳定的网络服务。

网络管理者负责网络的日常管理和运营。他们需要制定网络安全管理制度,加强对网络用户的管理,防范网络安全风险。

网络服务提供者则为用户提供各种网络服务,如电子邮件、网页浏览、在线购物等。他们需要保障服务的安全性,防止用户的个人信息泄露和网络攻击。

(四)网络数据

网络数据是指通过网络收集、存储、传输、处理和产生的各种电子数据。这些数据包括但不限于文本、图像、音频、视频等。

网络数据的价值日益凸显,它不仅是企业的重要资产,也是国家的战略资源。例如,企业的客户信息、财务数据等对于企业的经营决策至关重要;国家的人口、地理、资源等基础数据对于国家的安全和发展具有重要意义。

因此,保护网络数据的安全至关重要。网络运营者需要采取数据分类、重要数据备份和加密等措施,确保网络数据的完整性、保密性和可用性。

(五)个人信息

个人信息是以电子或者其他方式记录的能够单独或者与其他信息结合识别自然个人身份的各种信息。它包括但不限于自然人的姓名、出生日期、身份证件号码、个人生物识别信息、住址、电话号码等。

随着网络的普及和发展,个人信息的泄露问题日益严重。个人信息一旦被泄露,可能会被不法分子用于诈骗、盗窃等违法犯罪活动,给个人带来极大的损失。

为了保护个人信息的安全,网络运营者需要遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。同时,网络运营者还需要对其收集的用户信息严格保密,并建立健全用户信息保护制度。

(六)关键信息基础设施

关键信息基础设施是指国家对重要行业和领域以及一旦遭到破坏可能严重危害国家安全、国计民生、公共利益的关键信息基础设施进行保护。

关键信息基础设施包括公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务、国防科技工业等重要行业和领域的重要网络设施、信息系统等。这些系统一旦发生网络安全事故,会影响重要行业正常运行,对国家政治、经济、科技、社会、文化、国防、环境以及人民生命财产造成严重损失。

为了保护关键信息基础设施的安全,国家在网信部门统筹协调下,由公安部门负责指导监督,电信主管部门和其他有关部门在各自职责范围内负责安全保护和监督管理工作。同时,关键信息基础设施运营者也需要承担相应的安全保护义务,如制定内部安全管理制度和操作规程、采取防范网络安全行为的技术措施、进行数据备份和加密等。

二、常见的网络威胁和攻击手段

(一)口令入侵

口令入侵就是使用某些合法用户的账号和口令登录到目的主机,然后再实施攻击活动。许多黑客会采用一些软件来解开已经得到但被加密的口令文档,或者绕开、屏蔽口令保护程序。这种攻击方式往往需要先得到该主机上某个合法用户的账号,然后再进行合法用户口令的破译。

(二)特洛伊木马

特洛伊木马是具有伪装能力、隐蔽执行非法功能的恶意程序。攻击者通过将木马伪装成合法程序或文件,诱导用户下载、安装、运行。一旦用户执行,木马就会植入系统,伺机获取目标系统的信息或控制目标系统的运行。例如,攻击者可以利用木马窃取用户的账户信息,或者控制用户计算机进行 DDoS 攻击等。同计算机病毒、网络蠕虫相比较,特洛伊木马不具有自我传播能力,而是通过其他的传播机制来实现。

(三)WWW 欺骗

WWW 欺骗是指攻击者对某些网页信息进行篡改,如将网页的 URL 改写为指向攻击者的服务器。当用户浏览目标网页时,实际上是向攻击者的服务器发出请求,从而被误导访问坏人的网站,遭受欺骗。此时,攻击者可以监控受攻击者的任何活动,包括账户和密码等敏感信息。

(四)电子邮件攻击

电子邮件攻击主要有两种方式,分别是电子邮件炸弹和电子邮件欺骗。电子邮件炸弹指的是攻击者用伪造的 IP 地址和电子邮件地址向同一信箱发送大量的内容相同的垃圾邮件。当庞大的邮件垃圾到达信箱的时候,就会挤满信箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,使用户不能正常地工作,严重者可能会给电子邮件服务器操作系统带来危险。电子邮件欺骗指的是攻击者佯称自己是系统管理员,给用户发送邮件,要求用户修改口令或在类似正常的附件中加载病毒、木马程序等。此外,电子邮件攻击的形式还包括病毒链接、恶意附件、钓鱼邮件、邮件篡改、中间人攻击、撞库登录等多种攻击形式。

(五)节点攻击

节点攻击是指攻击者攻击并控制用户电脑后,利用被控制的电脑去攻击其他重要网站。事后调查一般只能查到被控制的用户电脑这里,而用户的电脑就成了俗称的肉鸡、僵尸机。

(六)网络监听

网络监听是主机的一种工作模式,在同一网段内,攻击者开启这种模式后,能够接收到传输的所有信息。例如,使用某些网络监听工具(如 NetXray、Sniffer 等),就可以轻而易举地截取包括账号和口令在内的信息资料。

(七)黑客软件

黑客软件能非法取得用户计算机的终极用户级权利,对其进行完全控制。除了能进行文件操作外,还能进行桌面抓图、取得密码等操作。

(八)安全漏洞

许多系统都存在安全漏洞,这些漏洞如不补上,就会被坏人利用,获取电脑权限或信息数据。比如我们常用的 windows 操作系统经常要打补丁,就是为了弥补出现的安全漏洞。

(九)端口扫描

坏人通过端口扫描,可以知道电脑的端口是否处于激活状态、主机提供了哪些服务、提供服务中是否含有某些缺陷等。它往往是发起进一步攻击的前奏。

(十)DDoS 攻击

DDoS(分布式拒绝服务)攻击是指攻击者通过控制大量僵尸主机,向目标服务器发送大量合法请求,从而消耗服务器资源,导致服务中断。与传统的 DDoS 攻击不同,CC 攻击并不是依靠大量的数据包来阻塞网络,而是通过消耗服务器的处理能力和资源来达到攻击的目的。

(十一)SQL 注入

在 Web 应用程序中插入恶意 SQL 语句,窃取或篡改数据库数据。防止 SQL 注入攻击是确保 Web 应用安全的重要措施。有效的方法包括使用参数化查询、输入验证和过滤、使用存储过程、最小权限原则、使用 ORM 框架、使用准备语句、使用安全的数据库连接、避免动态拼接 SQL 语句、使用防火墙和入侵检测系统以及定期更新和维护数据库软件。

(十二)无线网络安全攻击

包括 WiFi 钓鱼、无线局域网破解等。无线网络相较于有线网络更容易受到攻击,如攻击者可通过 WiFi 钓鱼诱导用户连接恶意无线网络,窃取用户信息或控制用户设备。还可通过破解无线局域网密码,非法接入网络进行攻击活动。

(十三)社交工程攻击

攻击者利用人性弱点获取目标信息或权限。例如,通过欺骗、伪装等手段,让用户透露敏感信息,或者诱导用户执行某些操作,从而达到攻击目的。

(十四)恶意软件攻击

通过传播病毒、木马等恶意软件窃取或破坏数据。常见的恶意软件类型包括病毒、蠕虫、特洛伊木马、广告软件、间谍软件和勒索软件等。电子邮件通常用于通过网络钓鱼攻击传播恶意软件。

(十五)钓鱼攻击

伪造邮件、网站诱导用户泄露个人信息或下载恶意软件。攻击者通过发送虚假消息,伪装成合法来源,如银行、流行服务等,诱骗用户泄露敏感信息(例如登录或信用卡详细信息)或在用户的设备上下载恶意软件。

(十六)跨站脚本攻击(XSS)

在 Web 页面中嵌入恶意脚本,窃取用户信息或控制用户浏览器。攻击者对用户输入的数据不进行严格过滤和验证,导致恶意脚本被注入到 Web 页面中,当用户访问该页面时,恶意脚本就会被执行,从而窃取用户信息或控制用户浏览器。

(十七)暴力破解攻击

尝试大量密码破解目标账户密码。攻击者通过自动化工具,不断尝试各种可能的密码组合,直到破解目标账户密码。为防范暴力破解攻击,可设置复杂且不易猜测的密码,定期更换密码,启用双因素认证,限制登录尝试次数等。

(十八)网络间谍攻击

窃取或破坏目标计算机中的机密数据。攻击者通过各种手段,如利用系统漏洞、社交工程等,入侵目标计算机,窃取机密数据,实现情报窃取。防范网络间谍攻击需要加强网络安全防护,定期更新系统和软件补丁,对内部网络进行隔离,限制数据访问权限等。

三、基本的网络安全防护措施

(一)电脑使用过程中的防护措施

在电脑使用过程中,我们可以采取以下防护措施来确保网络安全。

  1. 安装防火墙和杀毒软件,并经常升级,及时更新病毒、木马库,给操作系统和其他软件打补丁。防火墙可以有效阻止未经授权的访问,杀毒软件则能检测和清除病毒、木马等恶意软件,而定期升级和打补丁可以修复软件中的安全漏洞,降低被攻击的风险。
  2. 设置计算机系统账号口令,及时删除或禁用过期题号。强密码可以增加账号的安全性,避免被轻易破解。同时,及时清理过期账号可以减少潜在的安全隐患。
  3. 不打开来历不明的网页、邮箱链接或附件,不运行未经杀毒软件处理的程序或软件,不打开不明文件。这些来源不明的内容很可能携带病毒、木马或恶意软件,一旦打开可能会导致系统被感染。
  4. 打开移动存储设备前用杀毒软件进行扫描检查。移动存储设备如 U 盘、移动硬盘等可能在其他设备上感染了病毒,扫描检查可以防止病毒传入电脑。
  5. 定期备份,以便被病毒严重破坏后能迅速修复。定期备份重要数据可以在系统遭受严重破坏时,快速恢复数据,减少损失。

(二)防范 U 盘、移动硬盘泄密的措施

为防范 U 盘、移动硬盘泄密,可采取以下措施。

  1. 及时查杀木马与病毒。定期使用杀毒软件对 U 盘和移动硬盘进行扫描,确保没有恶意软件。
  2. 从正规商家购买可移动存储介质。正规商家的产品质量更有保障,减少了被植入恶意软件的风险。
  3. 定期备份并加密重要数据。备份可以防止数据丢失,加密则可以保护数据的保密性。
  4. 将 U 盘、移动硬盘接入电脑前,先进行病毒扫描。与打开移动存储设备前用杀毒软件进行扫描检查的道理相同,提前扫描可以防止病毒传入电脑。

(三)计算机中毒后的症状

计算机中毒后可能会出现以下症状。

  1. 经常死机。病毒可能会占用大量系统资源,导致系统不稳定,频繁死机。
  2. 文件打不开。病毒可能破坏文件的结构或关联,导致文件无法正常打开。
  3. 经常报告内存或硬盘空间不足。病毒可能会大量占用内存或硬盘空间,使系统误以为空间不足。
  4. 出现大量来历不明的文件。病毒可能会自动生成一些文件,或者将其他文件复制到系统中。
  5. 数据丢失。病毒可能会删除、损坏或加密用户的数据。
  6. 系统运行速度慢。病毒占用系统资源,会导致系统运行速度明显变慢。
  7. 操作系统自动执行操作。病毒可能会控制操作系统,自动执行一些操作,如打开文件、发送邮件等。

(四)防范 QQ、微博等账号被盗的措施

要防范 QQ、微博等账号被盗,可以采取以下措施。

  1. 账户和密码不要相同,使用混合组成的密码,适当增加密码长度并经常更换,不用个人信息数字作为密码。这样可以增加密码的复杂度,降低被破解的风险。
  2. 针对不同用途设置不同用户名和密码。避免一个密码被破解后,多个账号都受到影响。
  3. 在多人共用计算机上登录前重启计算机,警惕输入账号密码时被偷看。重启计算机可以清除可能存在的恶意软件,同时注意遮挡输入密码,防止被他人偷看。

(五)保护网上购物安全的措施

保护网上购物安全,可以采取以下措施。

  1. 核实网站资质及联系方式真伪,到知名、权威网上商城购物,不轻信网上低价推销。确保购物网站的合法性和可靠性,避免在不可信的网站上购物。
  2. 尽量通过网上第三方支付平台交易,检查支付网站真实性,不与商家私下交易。第三方支付平台相对安全,可以在一定程度上保障消费者的权益。
  3. 购物时注意商家信誉、评价和联系方式。选择信誉好的商家,减少购物风险。
  4. 交易完成后完整保存交易订单等信息。以便在出现问题时作为证据。
  5. 慎重使用银行账号、密码和证件号码等敏感信息。避免敏感信息被泄露。

(六)防范网络谣言的措施

防范网络谣言可采取以下措施。

  1. 注意辨别信息来源和可靠度,通过经第三方可信网站认证的网站获取信息。确保信息的真实性和可靠性。
  2. 不造谣、不轻信、不传谣。从自身做起,共同维护网络环境的健康。
  3. 及时举报疑似谣言信息。发现谣言及时举报,让网络空间更加清朗。

(七)防范网络诈骗的措施

防范网络诈骗的措施如下。

  1. 不贪小便宜,仔细甄别,严加防范。避免因贪图小便宜而陷入诈骗陷阱。、
  2. 使用安全的支付工具。确保支付过程的安全。
  3. 不在网上购买非正当产品。减少与非法交易的接触,降低被骗风险。
  4. 不轻信以各种名义要求先付的信息,不轻易把银行卡借给他人,不向他人透露本人证件号码、账号、密码等。保护个人信息和财产安全。

(八)其他防护措施

为了进一步加强网络安全,还可以采取以下防护措施。

  1. 更新网络设备和软件,及时修补漏洞。保持设备和软件的最新状态,减少安全漏洞。
  2. 使用复杂和强密码,定期更换密码。增加密码的安全性。
  3. 安装防火墙,过滤入侵流量和触发攻击。防火墙可以有效阻止未经授权的访问。
  4. 使用加密技术,保护数据安全。加密可以使数据在传输和存储过程中更加安全。
  5. 安装杀毒软件和反间谍软件,检测和清除病毒和恶意软件。确保系统的安全。
  6. 实施网络访问控制,限制对敏感数据的访问。防止未经授权的人员访问敏感信息。
  7. 建立响应计划,准备应对网络攻击,及时备份重要数据。在遭受攻击时能够迅速应对,减少损失。

四、经典代码案例

以下为你提供几个结合网络安全基础概念、应对常见网络威胁的经典代码案例,涵盖不同场景下的防护及检测相关实践示例,助你更直观理解网络安全技术在编程层面的运用。

案例一:基于 Python 的密码强度校验(防范弱密码,应对暴力破解攻击)

import re
import stringdef password_strength_check(password):"""检查密码强度,返回强度等级(弱、中、强)及提示信息"""length_score = len(password)if length_score < 8:length_score = 0elif 8 <= length_score < 12:length_score = 1else:length_score = 2has_lower = bool(re.search(r'[a-z]', password))has_upper = bool(re.search(r'[A-Z]', password))has_digit = bool(re.search(r'\d', password))has_special = bool(re.search(rf'[{re.escape(string.punctuation)}]', password))complexity_score = sum([has_lower, has_upper, has_digit, has_special])total_score = length_score + complexity_scoreif total_score <= 2:return "弱", "密码过短或缺乏多种字符类型组合,请增加长度并包含大小写字母、数字和特殊字符。"elif total_score <= 4:return "中", "密码强度尚可,可进一步优化字符多样性提升安全性。"else:return "强", "密码强度高,符合安全要求。"# 测试示例
password1 = "abc123"
print(password_strength_check(password1))
password2 = "Abc@123456"
print(password_strength_check(password2))

此代码通过正则表达式检查密码长度、是否包含大小写字母、数字和特殊字符,综合评估密码强度,帮助用户避免设置易被暴力破解的弱密码,适用于用户注册、密码修改等场景,强化账号口令层面安全。

案例二:Python 实现简单端口扫描检测(防范端口扫描攻击)

import socket
from concurrent.futures import ThreadPoolExecutordef port_scan(target_host, port):"""尝试连接目标主机的指定端口,判断端口是否开放"""try:with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:s.settimeout(1)result = s.connect_ex((target_host, port))if result == 0:return port, Trueelse:return port, Falseexcept Exception as e:return port, Falsedef scan_host(target_host, ports=range(1, 1025)):"""对目标主机的一系列端口进行扫描,返回开放端口列表"""open_ports = []with ThreadPoolExecutor(max_workers=20) as executor:futures = [executor.submit(port_scan, target_host, p) for p in ports]for future in futures:port, is_open = future.result()if is_open:open_ports.append(port)return open_ports# 假设扫描本地主机示例
target_host = "12.0.0.1"
open_ports = scan_host(target_host)
print(f"开放端口: {open_ports}")

这段代码利用多线程并发扫描指定主机的一系列端口,快速检测出开放端口情况,有助于管理员及时发现异常开放端口(可能是攻击者扫描后的利用迹象),进而采取关闭不必要端口、加强端口访问控制等安全措施。

案例三:使用 PHP 防范 SQL 注入(应对 SQL 注入攻击)

<?php
// 假设连接数据库,此处简化配置示例,实际使用完整配置信息
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);// 检查连接
if ($conn->connect_error) {die("连接失败: ". $conn->connect_error);
}// 对用户输入数据进行安全过滤(示例为处理用户名登录场景)
$user_input_username = $_POST['username'];
$user_input_password = $_POST['password'];// 使用预处理语句,绑定参数,有效防 SQL 注入
$stmt = $conn->prepare("SELECT * FROM users WHERE username =? AND password =?");
$stmt->bind_param("ss", $user_input_username, $user_input_password);
$stmt->execute();
$result = $stmt->get_result();if ($result->num_rows > 0) {// 登录成功逻辑处理echo "登录成功";
} else {// 登录失败逻辑处理echo "用户名或密码错误";
}$stmt->close();
$conn->close();
?>

在 Web 应用中(这里以 PHP 为例),用户输入数据用于数据库查询时,若直接拼接 SQL 语句极易引发 SQL 注入。通过使用预处理语句和参数绑定机制,让输入数据作为纯数据处理,而非可执行 SQL 片段,保障数据库查询安全,抵御 SQL 注入攻击,这是 Web 开发保障数据安全极为重要的一环。

案例四:生成一段基于Java的SQL注入攻击代码示例

以下是一段演示 SQL 注入攻击的 Java 代码示例,请注意,此代码仅用于学习和了解 SQL 注入攻击的原理及危害,在任何实际环境中使用这样的代码去攻击他人系统都是非法且不道德的行为。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class SQLInjectionExample {public static void main(String[] args) {// 数据库连接相关配置(这里以MySQL为例,实际中请按真实环境修改)String url = "jdbc:mysql://localhost:3306/your_database_name";String username = "your_username";String password = "your_password";try {// 建立数据库连接Connection connection = DriverManager.getConnection(url, username, password);// 获取用户输入,这里简单模拟一个存在注入风险的用户名输入情况(实际中可能来自网页表单等)String userInput = getMaliciousInput();// 构建存在SQL注入漏洞的SQL语句,假设从名为 'users' 的表中根据用户名查询用户信息String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";Statement statement = connection.createStatement();// 执行查询语句ResultSet resultSet = statement.executeQuery(sql);// 处理查询结果while (resultSet.next()) {System.out.println("用户ID: " + resultSet.getString("id") + ", 用户名: " + resultSet.getString("username"));}// 关闭资源resultSet.close();statement.close();connection.close();} catch (SQLException e) {e.printStackTrace();}}private static String getMaliciousInput() {// 构造恶意输入,演示SQL注入攻击,这里假设利用单引号闭合和注释掉后面原有的语句// 例如,正常用户名可能是 'admin',注入的恶意输入则尝试绕过验证获取所有用户信息return "' OR 1=1 --";}
}

在上述代码中:

  1. 建立数据库连接
    首先通过 DriverManager.getConnection 方法使用给定的数据库连接 URL、用户名和密码来建立与数据库(示例中是 MySQL 数据库)的连接。

  2. 构造存在注入风险的 SQL 语句
    从 getMaliciousInput 方法获取用户输入内容,然后直接将其拼接到 SQL 语句的 WHERE 子句中用于查询 users 表中符合用户名条件的记录。问题就出在这里,没有对用户输入进行任何的安全校验和过滤,使得攻击者可以输入恶意构造的内容来篡改原本的 SQL 查询逻辑。

  3. 演示注入攻击的恶意输入示例
    在 getMaliciousInput 函数中返回的 ' OR 1=1 -- 就是典型的恶意输入。它的原理是,单引号闭合了原本 SQL 语句中 username 字段值的单引号限定,然后 OR 1=1 这个条件使得整个 WHERE 子句的条件恒为真,这样就能绕过正常的根据特定用户名查询的逻辑,最后 -- 用于注释掉后面原本 SQL 语句中可能存在的其他条件(比如密码验证相关等),最终导致查询结果会返回表中所有的用户记录,而不是仅符合正常用户名要求的记录,实现了非法的数据获取,也就是 SQL 注入攻击的一种体现。

  4. 执行查询与处理结果
    使用 Statement 对象的 executeQuery 方法执行构造好的 SQL 语句,并通过循环遍历 ResultSet 来输出查询到的用户信息(这里只是简单打印部分字段示例)。

  5. 关闭资源
    最后按照正确的顺序关闭 ResultSetStatement 和 Connection,释放相关的数据库资源。

在实际的安全防护中,一定要使用 PreparedStatement 并对用户输入进行严格的校验、转义等处理,避免出现这样的 SQL 注入漏洞,保障数据库及系统的安全。

拓展知识:

1、如何防御SQL注入攻击?

2、除了Java,还有哪些语言容易受到SQL注入攻击?

3、如何利用SQL注入攻击进行漏洞检测?

   本文相关文章推荐:

1、计算机网络基础全攻略:探秘网络构建块(1/10)

2、TCP/IP 协议:网络世界的基石(2/10)

3、局域网与广域网:探索网络的规模与奥秘(3/10)

4、NAT:连接私有与公共网络的关键技术(4/10)

5、网络安全防护指南:筑牢网络安全防线(5/10)

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

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

相关文章

【最新鸿蒙开发——应用导航设计】

大家好&#xff0c;我是小z&#xff0c;不知道大家在开发过程中有没有遇到模块间跳转的问题&#xff0c;今天给大家分享关于模块间跳转的三种方法 文章目录 1. 命名路由&#xff08;ohos.router)使用步骤 2. 使用navigation组件跳转。步骤缺点 3. 路由管理模块1. 路由管理模块…

Wireshark常用功能使用说明

此处用于记录下本人所使用 wireshark 所可能用到的小技巧。Wireshark是一款强大的数据包分析工具&#xff0c;此处仅介绍常用功能。 Wireshark常用功能使用说明 1.相关介绍1.1.工具栏功能介绍1.1.1.时间戳/分组列表概况等设置 1.2.Windows抓包 2.wireshark过滤器规则2.1.wiresh…

【进阶篇-Day15:JAVA线程-Thread的介绍】

目录 1、进程和线程1.1 进程的介绍1.2 并行和并发1.3 线程的介绍 2、JAVA开启线程的三种方法2.1 继承Thread类&#xff1a;2.2 实现Runnable接口2.3 实现Callable接口2.4 总结&#xff1a; 3、线程相关方法3.1 获取和设置线程名字的方法3.2 线程休眠方法&#xff1a;3.3 线程优…

组播基础实验

当需要同时发给多个接受者或者接收者ip未知时使用组播 一、组播IP地址 1、组播IP地址范围 组播地址属于D类地址&#xff1a;224.0.0.0/4&#xff08;224.0.0.0-239.255.255.255&#xff09; 2、分类 &#xff08;1&#xff09;链路本地地址&#xff08;link-local&#xf…

EasyDarwin搭建直播推流服务

学习链接 easydarwin官网 - 这里看介绍 easydarwin软件下载地址 - 百度网盘 easydarwin视频 B站 文章目录 学习链接使用下载EasyDarwin压缩包&#xff0c;并解压到目录启动EasyDarwin点播直播easyplayer.jsapidocffmpeg推流rtsp & ffplay拉流 使用 下载EasyDarwin压缩包…

Java有关数组的相关问题

Java中的栈和堆的含义 栈 存储局部变量&#xff1a;栈主要用于存储方法中的局部变量&#xff0c;包括基本数据类型&#xff08;int、double、boolean等&#xff09;和对象的引用&#xff08;不包含对象本身&#xff09;。 遵循后进先出原则&#xff1a;当一个方法被调用时&…

眼部按摩仪WT2605音频蓝牙语音芯片方案 单芯片实现语音提示及控制/手机无线音频传输功能

随着科技的快速发展&#xff0c;人们的生活方式也在不断改变&#xff0c;智能化、便捷化的产品逐渐成为市场的主流。眼部按摩仪作为一种结合了现代科技与健康生活理念的产品&#xff0c;受到了广大消费者的青睐。而在众多眼部按摩仪中&#xff0c;采用WT2605音频蓝牙芯片的方案…

ESP32-S3模组上跑通ES8388(12)

接前一篇文章&#xff1a;ESP32-S3模组上跑通ES8388&#xff08;11&#xff09; 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第5段代码&#xff0c;本回继续往下解析。为了便于理解和回顾&#xff0c;再次贴出es8388_init函数源码&#xff0c;在…

C#VB.NET开发整体一键国际化显示

第一章链接 第二章 窗口多国语言显示 在第一章时我们已经了解如何对内容进行多语言化下面讲解如何对窗口多语言显示 在实际开发中单个窗体内可能有很多控件,如果我们对每个控件使用Mu方法进行赋值是异常繁琐的如下 Button1.Text"显示".Mu(); 在对窗口进行多语言化SG…

Linux---对时/定时服务

文章目录 目录 文章目录 前言 一.对时服务 服务端配置 客户端配置 二.定时服务 单次定时任务 循环定时任务 前言 在当今信息化高速发展的时代&#xff0c;时间的准确性和任务的定时执行对于各种系统和服务来说至关重要。Linux操作系统&#xff0c;凭借其强大的功能和灵活的…

centos更换源文件,换源,替换源

期初怎么折腾就是不行&#xff0c;换了源也是不能使用的&#xff0c;最后发现不是换的源不行&#xff0c;而是之前的源文件不行&#xff0c;然后给所有的源文件在yum源统一放在了bak目录下&#xff0c;随后我们再去下载安装源文件。 您将yum源下载之后&#xff0c;先将您的其他…

分布式系统中的Dapper与Twitter Zipkin:链路追踪技术的实现与应用

目录 一、什么是链路追踪&#xff1f; 二、核心思想Dapper &#xff08;一&#xff09;Dapper链路追踪基本概念概要 &#xff08;二&#xff09;Trace、Span、Annotations Trace Span Annotation 案例说明 &#xff08;三&#xff09;带内数据与带外数据 带外数据 带…

【深度学习基础】一篇入门模型评估指标(分类篇)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;深度学习_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模…

零拷贝相关知识点(一)

前言 大家好&#xff0c;我是程序员田螺。 零拷贝是老生常谈的问题啦&#xff0c;大厂非常喜欢问。比如Kafka为什么快&#xff0c;RocketMQ为什么快等&#xff0c;都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题&#xff0c;也都涉及到零拷贝。因此…

React+TS+css in js 练习

今天分享的内容是动态规划的经典问题--0-1 背包问题 0-1背包问题的描述如下:给定一组物品,每种物品都有自己的重量和价值,背包的总容量是固定的。我们需要从这些物品中挑选一部分,使得背包内物品的总价值最大,同时不超过背包的总容量。 举个例子&#xff1a;假设这组物品的质量…

【人工智能基础03】机器学习(练习题)

文章目录 课本习题监督学习的例子过拟合和欠拟合常见损失函数&#xff0c;判断一个损失函数的好坏无监督分类&#xff1a;kmeans无监督分类&#xff0c;Kmeans 三分类问题变换距离函数选择不同的起始点 重点回顾1. 监督学习、半监督学习和无监督学习的定义2. 判断学习场景3. 监…

【数据结构计数排序】计数排序

非比较排序概念 非比较排序是一种排序算法&#xff0c;它不是通过比较元素大小进行排序的&#xff0c;而是基于元素的特征和属性排序。这种排序方法在特定情况下&#xff0c;可以做到比元素比较排序&#xff08;快排&#xff0c;归并&#xff09;更有效率。尤其是在处理大量数…

JavaEE-经典多线程样例

文章目录 单例模式设计模式初步引入为何存在单例模式饿汉式单例模式饿汉式缺陷以及是否线程安全懒汉式单例模式基础懒汉式缺陷以及是否线程安全懒汉式单例模式的改进完整代码(变量volatile) 阻塞队列生产者消费者模型生产者消费者模型的案例以及优点请求与响应案例解耦合 单例模…

【数据结构与算法】排序算法(上)——插入排序与选择排序

文章目录 一、常见的排序算法二、插入排序2.1、直接插入排序2.2、希尔排序( 缩小增量排序 ) 三、选择排序3.1、直接选择排序3.2、堆排序3.2.1、堆排序的代码实现 一、常见的排序算法 常见排序算法中有四大排序算法&#xff0c;第一是插入排序&#xff0c;二是选择排序&#xff…

qml项目创建的区别

在Qt框架中&#xff0c;你可以使用不同的模板来创建应用程序。你提到的这几个项目类型主要针对的是Qt的不同模块和用户界面技术。下面我将分别解释这些项目类型的区别&#xff1a; 根据你提供的信息&#xff0c;以下是每个项目模板的详细描述和适用场景&#xff1a; Qt Widgets…