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

常用Nmap脚本

端口扫描类脚本
Nmap是一款非常流行的端口扫描工具,它可以帮助渗透测试工程师识别目标网络上开放的端口,并提供有关这些端口的详细信息。Nmap还提供了一系列基于脚本的功能,这些脚本可以扩展Nmap的功能,使其能够更深入地探测目标网络上的漏洞。在本文中,我们将讨论Nmap端口扫描类脚本的使用方法和一些常见的用例,以帮助渗透测试工程师更好地了解如何使用这些脚本。

一、Nmap端口扫描

在开始讨论Nmap的端口扫描类脚本之前,我们需要了解一些Nmap的基础知识。Nmap是一款开源的端口扫描工具,它可以帮助渗透测试工程师扫描目标网络上的主机和端口,并提供详细的信息,例如主机操作系统类型、开放的端口和服务等。Nmap支持多种扫描类型,包括TCP SYN扫描、TCP Connect扫描、UDP扫描和SCTP INIT扫描等。通过使用这些扫描类型和Nmap的一些高级选项,渗透测试工程师可以识别目标网络上的漏洞和安全问题。

Nmap的基本用法非常简单,只需要在命令行中输入要扫描的目标IP地址或主机名即可。例如,要扫描IP地址为192.168.1.1的主机,可以使用以下命令:

nmap 192.168.1.1

这将执行一个标准的TCP SYN扫描,扫描目标主机上所有开放的TCP端口,并输出结果到命令行界面。如果要执行更高级的扫描,可以使用Nmap的一些选项,例如:

nmap -sS -p 1-65535 -A -T4 192.168.1.1

这将执行一个更复杂的扫描,包括TCP SYN扫描、端口范围从1到65535、操作系统探测和版本检测,并使用T4速度级别来加快扫描速度。

二、Nmap端口扫描类脚本

Nmap的一个强大功能是其基于脚本的扩展能力。Nmap提供了大量的端口扫描类脚本,这些脚本可以帮助渗透测试工程师识别目标网络上的漏洞和安全问题。这些脚本通常是由社区成员编写的,它们可以通过Nmap的脚本引擎执行,以增强扫描结果和提高渗透测试工程师的效率。

Nmap的脚本引擎是一个内置的解释器,它可以加载和执行Nmap脚本。脚本通常是用Lua编写的,这是一种快速而灵活的脚本语言。通过使用脚本引擎,渗透测试工程师可以在扫描期间执行自定义的脚本,以扩展Nmap的功能和提供更多的信息。

Nmap的端口扫描类脚本通常被组织成不同的类别,例如“安全”、“漏洞”、“服务识别”和“脆弱性”等。每个类别都包含一系列脚本,这些脚本可以帮助渗透测试工程师识别目标网络上的不同类型的漏洞和安全问题。下面介绍几个常见的脚本类别和它们的用例。

  1. 安全类脚本

安全类脚本通常用于检测目标网络上的一些安全设置和配置,例如防火墙规则、IDS/IPS检测、SSL配置和弱口令等。这些脚本可以帮助渗透测试工程师识别目标网络上的安全问题,并提供有关这些问题的详细信息。

例如,以下是一些安全类脚本的示例:

  • firewall-bypass.nse:尝试绕过目标网络上的防火墙规则,以探测隐藏的服务和开放的端口。
  • http-enum.nse:枚举目标网络上的Web服务器,并识别它们的配置和漏洞。
  • ssl-enum-ciphers.nse:识别目标网络上的SSL配置,并检查是否存在弱加密算法和证书问题。
  • ssh-brute.nse:尝试猜测目标网络上的SSH服务的用户名和密码。
  1. 漏洞类脚本

漏洞类脚本通常用于检测目标网络上已知的漏洞和安全问题。这些脚本可以帮助渗透测试工程师识别目标网络上的漏洞和弱点,并提供有关这些漏洞的详细信息。

例如,以下是一些漏洞类脚本的示例:

  • smb-vuln-ms17-010.nse:检测目标网络上是否存在EternalBlue漏洞,并提供有关该漏洞的详细信息。
  • http-vuln-cve2015-1635.nse:检测目标网络上是否存在MS15-034漏洞,并提供有关该漏洞的详细信息。
  • ftp-vuln-cve2010-4221.nse:检测目标网络上是否存在ProFTPD漏洞,并提供有关该漏洞的详细信息。
  • smtp-vuln-cve2010-4344.nse:检测目标网络上是否存在Exim漏洞,并提供有关该漏洞的详细信息。
  1. 服务识别类脚本

服务识别类脚本通常用于识别目标网络上的不同类型的服务和应用程序。这些脚本可以帮助渗透测试工程师识别目标网络上的服务和应用程序,并提供有关这些服务和应用程序的详细信息。

例如,以下是一些服务识别类脚本的示例:

  • http-title.nse:获取目标网络上Web页面的标题,并识别Web应用程序的类型和版本。
  • snmp-info.nse:获取目标网络上SNMP服务的信息,并识别SNMP代理的类型和版本。
  • msrpc-enum.nse:枚举目标网络上的RPC服务,并识别它们的类型和版本。
  • dns-zone-transfer.nse:尝试从目标网络上的DNS服务器中获取区域传输信息。
  1. 脆弱性类脚本

脆弱性类脚本通常用于检测目标网络上的脆弱性和安全问题。这些脚本可以帮助渗透测试工程师识别目标网络上的脆弱性和安全问题,并提供有关这些问题的详细信息。

例如,以下是一些脆弱性类脚本的示例:

  • ssl-heartbleed.nse:检测目标网络上是否存在Heartbleed漏洞,并提供有关该漏洞的详细信息。
  • http-shellshock.nse:检测目标网络上是否存在Shellshock漏洞,并提供有关该漏洞的详细信息

这些示例是用于漏洞扫描和安全评估的脚本。它们使用Nmap脚本引擎(NSE)编写,可以检测目标系统中是否存在已知的漏洞,并提供有关这些漏洞的详细信息。这些脚本可以帮助安全专业人员评估目标系统的安全性,并确定需要采取哪些措施来降低风险。

ssl-heartbleed.nse脚本用于检测目标系统是否存在Heartbleed漏洞。Heartbleed漏洞是OpenSSL库中的一个漏洞,它允许攻击者从目标系统的内存中读取敏感信息。该脚本可以执行一些测试,以确定目标系统是否存在Heartbleed漏洞,并提供有关该漏洞的详细信息,例如漏洞的CVE编号、危害级别等。

http-shellshock.nse脚本用于检测目标系统是否存在Shellshock漏洞。Shellshock漏洞是Bash shell中的一个漏洞,允许攻击者通过恶意构造的环境变量注入攻击代码。该脚本可以执行一些测试,以确定目标系统是否存在Shellshock漏洞,并提供有关该漏洞的详细信息,例如漏洞的CVE编号、危害级别等。

需要注意的是,这些脚本仅用于漏洞扫描和安全评估,使用时需要遵循相关法律法规和道德规范。另外,这些脚本只能检测已知的漏洞,因此不能保证目标系统的绝对安全。

操作系统检测类脚本
Nmap是一款功能强大的开源网络扫描工具,它提供了许多用于扫描和评估目标系统的功能。其中之一是操作系统检测,这是通过一些专门的Nmap脚本实现的。在本文中,我将从渗透测试工程师的角度详细介绍Nmap操作系统检测类脚本,包括其原理、使用方法以及实例分析等方面。

一、Nmap操作系统检测脚本原理

Nmap操作系统检测脚本的基本原理是通过发送一些特定的网络数据包,然后分析目标系统的响应来推断其运行的操作系统类型。具体来说,这些脚本会发送一些模拟操作系统特征的网络数据包,例如TCP/IP协议栈实现、TCP窗口大小、MSS值等。然后,它们会分析目标系统的响应数据包,查看其中的标识信息,例如TCP标志位、IP标识等,以推断其运行的操作系统类型。

这种操作系统检测的技术称为“操作系统指纹识别”。它基于相同操作系统的网络堆栈实现通常具有特定的行为和响应模式。因此,通过发送不同的数据包并分析响应,可以推断目标系统的操作系统类型。当然,这种识别过程并不是完美的,因为有些系统可能会模拟其他操作系统的行为和响应模式,以隐藏其真实的操作系统类型。

二、Nmap操作系统检测脚本使用方法

使用Nmap操作系统检测脚本非常简单,只需要通过命令行或Nmap GUI界面启动Nmap,并使用相应的脚本选项即可。在命令行中,可以使用“-O”选项来启用操作系统检测,例如:

nmap -O target_ip

这将对目标IP地址执行操作系统检测,并在扫描结束后显示结果。

另外,可以使用“-sV”选项来启用版本检测,这可以提供更详细的操作系统信息。例如:

nmap -sV -O target_ip

这将对目标IP地址执行版本检测和操作系统检测,并在扫描结束后显示结果。

需要注意的是,操作系统检测需要发送一些特定的网络数据包,这可能会引起一些安全设备的警报,例如IDS/IPS等。因此,在进行操作系统检测时需要注意相关安全风险,并遵循相关法律法规和道德规范。

三、Nmap操作系统检测脚本实例分析

在这里,我将通过一些实例来演示如何使用Nmap操作系统检测脚本进行渗透测试。

实例1:使用Nmap操作系统检测脚本识别目标系统的操作系统类型

假设我们要评估一个网络中的目标系统的安全性,并尝试确定其运行的操作系统类型。我们可以使用Nmap来执行操作系统检测,并使用“-O”选项启用操作系统检测。例如,我们可以执行以下命令来对目标系统进行操作系统检测:

nmap -O target_ip

这将对目标IP地址执行操作系统检测,并在扫描结束后显示结果。例如:

Starting Nmap 7.91 ( https://nmap.org ) at 2023-04-14 16:00 CST
Nmap scan report for target_ip
Host is up (0.054s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https
MAC Address: 00:11:22:33:44:55 (Unknown)
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.10
Network Distance: 1 hopOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.03 seconds

如上所示,Nmap识别出目标系统运行的是Linux操作系统(版本范围为2.6.32-3.10),并提供了一些其他信息,例如开放的端口和设备类型等。

实例2:使用Nmap操作系统检测脚本识别目标系统的操作系统类型和版本

假设我们要进一步评估目标系统的安全性,并尝试确定其运行的操作系统类型和版本。我们可以使用Nmap来执行版本检测和操作系统检测,并使用“-sV”和“-O”选项启用版本检测和操作系统检测。例如,我们可以执行以下命令来对目标系统进行版本检测和操作系统检测:

nmap -sV -O target_ip

这将对目标IP地址执行版本检测和操作系统检测,并在扫描结束后显示结果。例如:

Starting Nmap 7.91 ( https://nmap.org ) at 2023-04-14 16:10 CST
Nmap scan report for target_ip
Host is up (0.054s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE     VERSION
22/tcp  open  ssh         OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp  open  http        nginx 1.14.0 (Ubuntu)
443/tcp open  ssl/http    nginx 1.14.0 (Ubuntu)
|_http-server-header: nginx/1.14.0 (Ubuntu)
|_http-title: Welcome to nginx!
Device type: general purpose
Running: Linux 4.X
OS CPE: cpe:/o:linux:linux_kernel:4
OS details: Linux 4.4 - 4.15
Network Distance: 1 hopOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.03 seconds

如上所示,Nmap识别出目标系统运行的是Linux操作系统(版本范围为4.4-4.15),并提供了一些其他信息,例如开放的端口、服务版本和设备类型等。

实例3:使用Nmap操作系统检测脚本绕过防御机制

在一些情况下,目标系统可能会采取一些措施来隐藏其真实的操作系统类型,以防止被攻击。例如,目标系统可能会使用防火墙或IDS/IPS等安全设备来阻止操作系统指纹识别。在这种情况下,我们可以使用Nmap操作系统检测脚本中的“-Pn”选项来绕过主机存活检测,以避免被安全设备检测到。例如:

nmap -O -Pn target_ip

这将对目标IP地址执行操作系统检测,并使用“-Pn”选项来绕过主机存活检测。这样,在扫描过程中,Nmap不会发送探测数据包来检测目标系统是否存活,从而避免被防御机制检测到。

需要注意的是,使用“-Pn”选项可能会导致Nmap无法检测到目标系统的真实状态。因此,在使用这个选项时需要谨慎,并尽可能使用其他技术来确认目标系统的存在和状态。

四、总结

Nmap操作系统检测脚本是一种非常有用的渗透测试工具,它可以帮助我们了解目标系统的操作系统。除了帮助我们了解目标系统的操作系统,Nmap操作系统检测脚本还可以帮助我们确定目标系统的一些其他信息,比如:

  1. 网络拓扑结构:通过扫描目标主机的端口和服务,可以帮助我们了解目标主机所在的网络拓扑结构,包括其他主机和路由器等设备。

  2. 开放的服务和端口:Nmap操作系统检测脚本可以帮助我们确定目标主机上开放的服务和端口,从而可以更好地了解目标系统的功能和安全风险。

  3. 安全漏洞:通过确定目标主机的操作系统和开放的服务,可以帮助我们确定目标系统是否存在已知的安全漏洞,从而有针对性地进行渗透测试和安全加固。

需要注意的是,Nmap操作系统检测脚本只是渗透测试工具的一部分,渗透测试人员还需要结合其他工具和技术,进行全面的渗透测试和安全评估。同时,渗透测试是一项具有风险的活动,需要遵循法律和道德规范,避免对目标系统造成不必要的损害。

服务识别类脚本
Nmap是一款常用的网络探测和扫描工具,可以在渗透测试和漏洞评估中发挥重要作用。在Nmap中,服务识别是一个重要的功能,可以帮助渗透测试工程师快速识别目标主机上运行的服务及其版本号,从而推断出可能存在的漏洞或攻击路径。本文将从渗透测试工程师的角度出发,详细阐述Nmap服务识别类脚本的使用方法、原理和实战应用,希望能对渗透测试工程师提供一些有用的参考和帮助。

一、Nmap服务识别的原理

在网络上,每个服务都有自己的端口号,例如HTTP服务通常在80端口上运行,SSH服务通常在22端口上运行,SMTP服务通常在25端口上运行等等。Nmap通过扫描目标主机的端口,获取端口上运行的服务,进而识别出目标主机上运行的服务及其版本号。Nmap服务识别的原理可以简单概括为以下几个步骤:

  1. Nmap发送一个特定的探测包到目标主机的某个端口。
  2. 目标主机接收到探测包后,根据不同的服务类型,返回不同的响应包。
  3. Nmap根据响应包的特征,识别出目标主机上运行的服务及其版本号。

Nmap服务识别的核心在于识别响应包的特征,不同的服务类型,响应包的特征也不同。Nmap提供了一系列服务识别类脚本,每个脚本针对不同的服务类型,通过发送不同的探测包和分析不同的响应包,来识别目标主机上运行的服务及其版本号。下面我们将详细介绍Nmap服务识别类脚本的使用方法和实战应用。

二、Nmap服务识别类脚本的使用方法

Nmap服务识别类脚本存放在Nmap安装目录下的“/usr/share/nmap/scripts/”目录下,其中以“*_service.nse”命名的脚本为服务识别类脚本。Nmap服务识别类脚本的使用方法非常简单,只需要在Nmap命令行中添加“-sV”参数即可启用服务识别功能,例如:

nmap -sV 192.168.1.1

上述命令将扫描192.168.1.1主机上所有开放的端口,并尝试识别每个端口上运行的服务及其版本号。Nmap默认使用所有服务识别类脚本进行探测,如果需要指定某些脚本进行探测,可以使用“–script”参数,例如:

nmap -sV --script=http-title,ssl-heartbleed 192.168.1.1

上述命令将只使用“http-title.nse”和“ssl-heartbleed.nse”两个脚本进行服务识别。

Nmap服务识别类脚本可以通过“–script-help”参数查看脚本的帮助信息,例如:

nmap --script-help=http-title

上述命令将显示“http-title.nse”脚本的帮助信息。Nmap服务识别类脚本的帮助信息通常包括脚本的用途、使用方法、参数说明、输出示例等内容。渗透测试工程师可以通过查看脚本的帮助信息,了解脚本的功能和使用方法,从而更有效地利用Nmap进行服务识别。

三、Nmap服务识别类脚本的实战应用

Nmap服务识别类脚本广泛应用于渗透测试和漏洞评估中,可以帮助渗透测试工程师更快速地识别目标主机上运行的服务及其版本号,从而推断出可能存在的漏洞或攻击路径。下面我们将介绍几种常见的Nmap服务识别类脚本的实战应用。

  1. http-title.nse

“http-title.nse”脚本用于识别HTTP服务的标题,即Web页面的标题信息。通过识别Web页面的标题信息,可以推断出Web应用程序的类型、版本等信息,从而查找可能存在的漏洞或攻击路径。例如:

nmap -sV --script=http-title 192.168.1.1

上述命令将扫描192.168.1.1主机上所有开放的端口,并尝试识别每个端口上运行的HTTP服务的标题信息。

  1. ssl-heartbleed.nse

“ssl-heartbleed.nse”脚本用于识别OpenSSL库中存在的心脏滴血漏洞(Heartbleed Vulnerability)。该漏洞可由攻击者远程利用,读取目标服务器上内存中的敏感信息,例如用户凭证、私钥等。通过使用该脚本,可以快速识别目标服务器是否存在心脏滴血漏洞。例如:

nmap -sV --script=ssl-heartbleed 192.168.1.1

上述命令将扫描192.168.1.1主机上所有开放的端口,并尝试识别每个端口上运行的SSL服务是否存在心脏滴血漏洞。

  1. smb-os-discovery.nse

“smb-os-discovery.nse”脚本用于识别SMB服务的操作系统信息。通过识别SMB服务的操作系统信息,可以推断出目标主机的操作系统类型及版本,从而查找可能存在的漏洞或攻击路径。例如:

nmap -sV --script=smb-os-discovery 192.168.1.1

上述命令将扫描192.168.1.1主机上所有开放的端口,并尝试识别每个端口上运行的SMB服务的操作系统信息。

  1. ftp-anon.nse

“ftp-anon.nse”脚本用于检测FTP服务是否允许匿名访问。通过检测FTP服务是否允许匿名访问,可以发现可能存在的敏感信息泄露漏洞。例如:

nmap -sV --script=ftp-anon 192.168.1.1

上述命令将扫描192.168.1.1主机上所有开放的端口,并尝试检测每个端口上运行的FTP服务是否允许匿名访问。

四、Nmap服务识别类脚本的注意事项

在使用Nmap服务识别类脚本时,需要注意以下几点:

  1. 在进行服务识别时,需要获取目标主机的充分授权。未经允许的渗透测试可能会触犯法律法规,造成不必要的法律风险。

  2. Nmap服务识别类脚本的识别结果并不是百分之百准确的,有时会出现误判或漏判的情况。因此,在进行渗透测试时,需要结合其他工具和手段,综合分析目标系统的安全状况。

  3. 在使用Nmap服务识别类脚本时,需要注意以下几点:

  4. Nmap服务识别类脚本只能识别已知的服务,对于未知的服务无法进行识别。因此,在进行渗透测试时,需要结合其他手段,如端口扫描、漏洞扫描等,综合分析目标系统的安全状况。

  5. 在使用Nmap服务识别类脚本时,需要注意脚本的版本和更新情况。由于新的漏洞和服务版本不断出现,旧版的脚本可能无法识别最新的服务和漏洞。因此,需要及时更新脚本以确保识别准确性。

  6. 在进行服务识别时,需要注意Nmap的扫描速度和频率。过于频繁的扫描可能会引起目标系统的警觉,导致扫描被检测到并被阻止。因此,需要适当调整扫描速度和频率,以避免被目标系统检测到。

  7. 在使用Nmap服务识别类脚本时,需要了解目标系统的网络拓扑和架构,以便更准确地识别服务。例如,在进行内部渗透测试时,需要了解内部网络的拓扑结构,以便更准确地识别服务和漏洞。

总之,在使用Nmap服务识别类脚本时,需要谨慎使用,并结合其他手段进行综合分析,以确保渗透测试的准确性和合法性。

相关文章:

常用Nmap脚本

端口扫描类脚本 Nmap是一款非常流行的端口扫描工具,它可以帮助渗透测试工程师识别目标网络上开放的端口,并提供有关这些端口的详细信息。Nmap还提供了一系列基于脚本的功能,这些脚本可以扩展Nmap的功能,使其能够更深入地探测目标网…...

在pom.xml中添加maven依赖,但是类里面import导入的时候报错

问题: Error:(27, 8) java: 类TestKuDo是公共的, 应在名为 TestKuDo.java 的文件中声明 Error:(7, 23) java: 程序包org.apache.kudu不存在 Error:(8, 23) java: 程序包org.apache.kudu不存在 Error:(9, 23) java: 程序包org.apache.kudu不存在 Error:(10, 30) jav…...

【NEON】学习资料汇总

一、资料链接 Guide : http://www.heenes.de/ro/material/arm/DEN0018A_neon_programmers_guide_en.pdf csdn博文1,基础案例: https://blog.csdn.net/kakasxin/article/details/103912832? csdn博文2,内部函数: ht…...

java中ReentrantLock的实现原理是什么?

ReentrantLock 的实现原理主要涉及到两个关键概念:同步器(Sync)和 AQS(AbstractQueuedSynchronizer,抽象队列同步器)。 ReentrantLock 使用 AQS 来实现可重入锁的机制。AQS 是 Java 并发包中的一个抽象基类…...

C语言精选——选择题Day40

第一题 1. int a[10] {2,3,5}, 请问a[3]及a[3]之后的数值是() A:不确定的数据 B:5 C:0 D:0xf f f f f f f f 答案及解析 C 数组的不完全初始化,会自动把没初始化的部分初始化为0; 第…...

大屏适配方案一scale()

背景 在做大屏可视化项目的时候,一般设计稿会设计成1920 * 1080,但是页面写死1920 * 1080在2k、4k等分辨率的屏幕下是不适配的。 方案一:css3的缩放属性transform以及scale() 在做项目之前我们需要搞清楚客户的数据可视化平台需要在什么屏幕…...

WordPress免费插件大全清单【2023最新】

WordPress已经成为全球范围内最受欢迎的网站建设平台之一。要让您的WordPress网站更具功能性、效率性,并提供卓越的用户体验,插件的选择与使用变得至关重要。 WordPress插件的作用 我们先理解一下插件在WordPress生态系统中的作用。插件是一种能够为Wo…...

支付宝小程序接口传参会默认排序

一:问题 描述:最近项目中的接口都加了签名,在同步到支付宝小程序上时,发现有些接口报错,经过排查,导致报错的原因是因为传参顺序被支付宝小程序默认排序了,比如: 设置的原始参数&a…...

Numpy数组的运算(第7讲)

Numpy数组的运算(第7讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…...

node后端接口无法插入数据为emoji的表情的问题

原因 emoji的表情一般是这样的\xF0\x9F\x98\x80或者是\xF0\x9F\x98 ,事实上 一般数据库的utf8的编码类型都是能保存\xF0\x9F\x98 但是不能保存\xF0\x9F\x98\x80这种样的emoji,要将数据库编码格式为utf8mb4 也就是utf8的超集 另外,除了 数据库…...

Conda常用命令总结

使用conda或anaconda的小伙伴们都知道,图形界面时不靠谱的,而在命令行下,所有的操作就会稳定很多,且极少出现问题。因此,熟记conda的命令行就变得十分有用。但对于我这样近50岁依旧奋斗在代码第一线的大龄程序员而已&a…...

Oracle数据库如何实现自增-序列Sequence介绍(适合小白)

Oracle数据库中的Sequence是一种特殊的数据库对象,可以生成一组等间隔的数值,常用于为表中的行自动生成序列号。也常用于主键自增的情况。 下面我将以小白的视角带大家介绍下Oracle数据库序列Sequence: 一、创建简单序列 创建简单序列语法…...

ke14--10章-2JDBC例子

驱动forName,创建连接对象getConnection要三个参数,执行String sql "INSERT INTO等",创建执行SQL语句的PreparedStatement对象进行setString,然后执行preStmt.executeUpdate(); 为什么要preStmt conn.prepareStatement(sql);conn DriverManager.getConnection(url…...

04数据平台Flume

Flume 功能 Flume主要作用,就是实时读取服务器本地磁盘数据,将数据写入到 HDFS。 Flume是 Cloudera提供的高可用,高可靠性,分布式的海量日志采集、聚合和传输的系统工具。 Flume 架构 Flume组成架构如下图所示: A…...

Redis--13--缓存一致性问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 缓存一致性问题1、先更新缓存,再更新DB方案二:先更新DB,再更新缓存方案三:先删缓存,再写数据库推荐1&…...

12.7作业

1. #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//***********窗口相关设置***********//设置窗体大小this->resize(540,410);this->setFixedSize(540,410);//取消菜单栏this->setWindowFlag(Qt::FramelessWindowHint);/…...

ssl什么是公钥和私钥?

公钥(Public Key)与私钥(Private Key)是通过加密算法得到的一个密钥对(即一个公钥和一个私钥,也就是非对称加密方式)。公钥可对会话进行加密、验证数字签名,只有使用对应的私钥才能解…...

github首次将文件合到远端分支,发现名字不是master,而是main

其中,暂存区和本地仓库的信息都存储在.git目录中 在自己的github上实践 1、刚开始,git clone gitgithub.com:lingze8678/my_github.git到本地 2、在克隆后的代码中加入一个pdf文件 3、在git bash中操作(当项目中有文件更改和删除&#xff…...

RTX 40 系彻底摆烂,NVIDIA 让三年老卡焕发第二春

AMD 前段时间发布的 RX 6750GRE 12/10G 两块新卡属实给了市场一波小小震撼。 有同学要说了,这不就是两年前的 RX 6700 系换皮嘛,典型的旧饭重恰它凭啥能火? 无他,性能合格,价格实惠,主打一个高性价比。 别…...

ELK技术栈介绍及简单使用实例

1. ELK技术栈介绍 引言 在当今数据驱动的世界里,有效地管理和分析大量日志数据变得至关重要。这里我们将深入探讨ELK技术栈,这是一种流行的日志管理解决方案,它结合了三个开源项目:Elasticsearch、Logstash和Kibana。ELK技术栈因…...

基于Java健身房课程管理系统

基于Java健身房课程管理系统 功能需求 1、课程信息管理:系统需要能够记录和管理所有课程的详细信息,包括课程名称、教练信息、课程时间、课程地点、课程容量等。管理员和教练可以添加、编辑和删除课程信息。 2、会员信息管理:系统需要能够…...

DAPP开发【02】Remix使用

系列文章目录 系列文章在DAPP开发专栏 文章目录 系列文章目录使用部署测试网上本地项目连接remix本地项目连接remix 使用 创建一个新的工作空间 部署测试网上 利用metaMask连接测试网络 添加成功,添加时需要签名 即可进行编译 即可部署 本地项目连接remix 方…...

大华DSS S2-045 OGNL表达式注入漏洞复现

0x01 产品简介 大华DSS安防监控系统平台是一款集视频、报警、存储、管理于一体的综合安防解决方案。该平台支持多种接入方式,包括网络视频、模拟视频、数字视频、IP电话、对讲机等。此外,该平台还支持多种报警方式,包括移动侦测、区域入侵、越线报警、人员聚集等。 0x02 漏…...

大数据之HBase(二)

Master详细架构 位置:namenode实现类:HMaster组成 负载均衡器:通过meta了解region的分配,通过zk了解rs的启动情况,5分钟调控一次分配平衡元数据表管理器:管理自己的预写日志,如果宕机&#xff…...

前后端数据传输格式(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 上篇主要复习了HTTP以及…...

mysql pxc高可用离线部署(三)

pxc学习流程 mysql pxc高可用 单主机 多主机部署(一) mysql pxc 高可用多主机离线部署(二) mysql pxc高可用离线部署(三) mysql pxc高可用 跨主机部署pxc 本文使用docker进行安装,主机间通过…...

XXL-JOB 日志表和日志文件自动清理

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…...

常用sql记录

备份一张表 PostgreSQL CREATE TABLE new_table AS SELECT * FROM old_table;-- 下面这个比上面好,这个复制表结构时,会把默认值、约束、注释都复制 CREATE TABLE new_table (LIKE old_table INCLUDING ALL) WITHOUT OIDS; INSERT INTO new_table SELE…...

设备温度和振动综合监测:温振一体式传感器的优点和应用

随着工业设备的复杂性和自动化程度的提高,对设备状态监测的需求也日益增加。温振一体式传感器作为一种集振动和温度监测于一体的传感器,具备多项优势,因此在工业设备状态监测领域得到广泛应用。 温振一体式传感器基于振动传感器和温度传感器的…...

彻底解决ModuleNotFoundError: No module named ‘exceptions‘【Bug完美解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结心得项目场景: 根据本文可找到bug原因并彻底解决**ModuleNotFoundError: No module named ‘exceptions‘**Bug 报错: E:\Anconda\python.exe c:\Users\24190\PycharmProjects\pythonProject4py尝试 gong…...

yarn和npm的区别

2023-12-8 yarn和npm的区别 是常用的包管理工具,用于node.js项目中安装、管理、和更新依赖项 有以下几个区别: 性能和速度:在包的安装和下载方面,yarn比npm更快速,yarn通过并行下载和缓存等优化策略,可以…...

设计图中时序图

设计图中的时序图通常用于展示两个或多个对象之间的交互和消息传递的顺序。它是一种用于描述软件或系统中的并发性和时序行为的工具。 以下是一个简单的时序图的示例: 首先,在时序图中创建两个对象,例如"对象A"和"对象B&quo…...

反射实现tomcat

获取类信息的方法 1.通过类对象 x.getClass() 2.通过class.forname方法 Class.forname(className);这里className是存储类名的字符串 3.通过类名.class 类名.class 通过类名创建对象 类名.newInstance(); 反射可以看到类的一切信息&#xff1…...

Ubuntu 安装 CUDA 和 cuDNN 详细步骤

我的Linux系统背景: 系统和驱动都已安装。 系统是centos 8。查看自己操作系统的版本信息:cat /etc/issue或者是 cat /etc/lsb-release 用nvidia-smi可以看到显卡驱动和可支持的最高cuda版本,我的是12.2。驱动版本是535.129.03 首先&#…...

ArkTS快速入门

一、概述 ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以…...

HTTP不同场景下的通信过程和用户上网认证过程分析

目录 HTTP不同场景的通信过程 HTTP正常交互过程 HTTP透明加速传输过程 HTTP代理服务器场景下交互过程 通过AC对上网用户不同场景的认证过程 AC上网认证正常交互过程 通过Cookie实现免认证交互过程 代理服务器场景下HTTP密码认证交互过程 HTTP不同场景的通信过程 HTTP、…...

VR 实现 Splash Screen 效果

文章目录 背景官方实现逆向分析 背景 手机 App 在实现 Splash Screen 的时候,目前都有成熟的方案可以参考,但是在做 VR 开发时,要如何实现一个 App 自己的 Splash Screen ,下面是我们基于 PICO & OCULUS 进行业务开发时经过探…...

HarmonyOS学习--TypeScript语言学习(一)

注意:这只是我学习的笔记!!! 注意:这只是我学习的笔记!!! 注意:这只是我学习的笔记!!! 本章目录如下: 一、TypeScript语言…...

【C语言】函数递归详解(一)

目录 1.什么是递归: 1.1递归的思想: 1.2递归的限制条件: 2.递归举例: 2.1举例1:求n的阶乘: 2.1.1 分析和代码实现: 2.1.2图示递归过程: 2.2举例2:顺序打印一个整数的…...

WT588F02B-8S语音芯片助力破壁机:智能声音播放提示IC引领健康生活新潮流

在追求健康饮食的时代潮流中,破壁机作为榨汁、搅拌的重要厨房电器,融入智能技术的趋势不断加强。唯创知音的WT588F02B-8S语音芯片作为声音播放提示IC,为破壁机注入了更智能、便捷的声音提示功能,引领用户迈入健康生活的新潮流。 …...

NXP iMX8M Plus Qt5 双屏显示

By Toradex胡珊逢 简介 双屏显示在显示设备中有着广泛的应用,可以面向不同群体展示特定内容。文章接下来将使用 Verdin iMX8M Plus 的 Arm 计算机模块演示如何方便地在 Toradex 的 Linux BSP 上实现在两个屏幕上显示独立的 Qt 应用。 硬件介绍 Verdin iMX8M Plu…...

RepidJson中Writer类、FilewriteStream类、 PrettyWriter类的区别

rapidjson是一个C的JSON解析库,可以用于解析和序列化JSON数据。 Writer是rapidjson中一种基本的输出流,用于将JSON数据输出到字符串或文件中。 FileWriteStream是一个Writer的子类,它专门用于将JSON数据输出到文件中。相比于普通的Writer&a…...

IntelliJ idea卡顿解决,我遇到的比较管用的方案

Setttings> Build, Execution,Deployment>Debugger> Data Views> Java 取消 Enable "toString()" object view; Speed up debugging in IntelliJ Yesterday, I observed painfully slow debugging in IntelliJ. Every step over or step in took almost…...

Fabric.js 实战开发使用介绍

原生canvas用的多的有哪些槽点就不用我多说了;fabric 作为一个canvas库,提供了非常高效、直观的API操作,使我们对涉及canvas相关的功能开发效率大幅提升~~~~ 简单记录下自己的心得;以下是对比canvas来说的优势: 1.简…...

Vue.directive

Vue.directive( id, [definition] ) 参数: {string} id {Function | Object} [definition] // 注册一个全局自定义指令 v-focus Vue.directive(focus, {// 当被绑定的元素插入到 DOM 中时……inserted: function (el) {// 聚焦元素el.focus()} }) Vue.directive(my…...

webpack优化打包速度

webpack打包速度太慢 优化 1.多线程打包 js压缩和loader 2.优化启动速度 hard-source-webpack-plugin 3.删除无用的 分析类插件 4.DllPlugin通道打包 1.webpack多线程打包 loader loader 使用 thread-loader 将他放置你要使用的loader前面就行,不过这个lorder例如s…...

ALTERNET STUDIO 9.1 Crack

ALTERNET STUDIO 9.1 发布 宣布 AlterNET Studio 9.1 版本今天上线。AlterNET Studio 9.0 是一个中期更新,重点是改进我们所有的组件库。 以下是 AlterNET Studio 9.1 的发布亮点: Roslyn C# 和 Visual Basic 解析器现在支持代码修复/代码重构。 代码修复…...

基于Java技术的选课管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

在UBUNTU上使用Qemu和systemd-nspawn搭建RISC-V轻量级用户模式开发环境

参考链接 使用Qemu和systemd-nspawn搭建RISC-V轻量级用户模式开发环境 - 知乎 安装Qemu sudo apt updatesudo apt -y install qemu-user-binfmt qemu-user-static systemd-container sudo apt -y install zstd 配置环境 RISCV_FILEarchriscv-2023-10-09.tar.zstwget -c ht…...

JAVA使用POI向doc加入图片

JAVA使用POI向doc加入图片 前言 刚来一个需求需要导出一个word文档,文档内是系统某个界面的各种数据图表,以图片的方式插入后导出。一番查阅资料于是乎着手开始编写简化demo,有关参考poi的文档查阅 Apache POI Word(docx) 入门示例教程 网上大多数是XXX…...