泷羽sec学习打卡-brupsuite7搭建IP炮台
声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都
与本人无关,切莫逾越法律红线,否则后果自负
关于brupsuite的那些事儿-Brup-IP炮台搭建
- 搭建炮台
- 服务端安装zmap
- 1、更新系统和安装基础依赖:使⽤包管理⼯具(如apt-get)更新系统并安装必要的基础依赖。例如,在Ubuntu上
- 2、安装了一系列用于开发和构建软件的工具和库
- 3、克隆zmap项目仓库,从GitHub克隆ZMap项目的源代码到本地。
- 4、编译和安装ZMap,进⼊ZMap⽬录后,执⾏以下命令来编译和安装Zmap。
- 5、验证zamp安装是否成功
- 6、使用zamp全网爬取ip地址
- 7、对zmap下来的代理ip进行初次筛选
- 初次筛选ip的脚本
- 8、子弹有效化
- 安装Brup插件
- 1、在burp中载入jython包
- 2、添加自动化处理插件程序
- 3、接下来就是和验证码爆破时同样的操作了,也就没啥好说的了
- 4、同理,可以在攻击列表中查看是否存在sql输入,这个取决了字典的强大了
- 5、本次的目的主要时代理ip池子,那么我们看看是不是每一个段都的请求都是用不同的ip地址发送的请求即可
- 实践是检验真理的唯一标准
搭建炮台
首先这个有两种方式可以进行实现Brip炮台
这里我就用自己的云服务器进行实战,没有云服务器的哥们可以用kail安装进行实验,本质是一样的
服务端安装zmap
kail安装
sudo apt update
然后下载zamp
sudo apt install zmap
我用的自己的云服务器,学习还是用kail好一些哈
1、更新系统和安装基础依赖:使⽤包管理⼯具(如apt-get)更新系统并安装必要的基础依赖。例如,在Ubuntu上
sudo apt-get update
2、安装了一系列用于开发和构建软件的工具和库
sudo apt-get install -y build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc
libjson-c-dev pkg-config libunistring-dev
3、克隆zmap项目仓库,从GitHub克隆ZMap项目的源代码到本地。
git clone https://github.com/zmap/zmap.git
4、编译和安装ZMap,进⼊ZMap⽬录后,执⾏以下命令来编译和安装Zmap。
cd zmap
mkdir build
cd build
cmake ..这个命令用于生成构建系统。cmake 是一个工具,它根据项目中的 CMakeLists.txt 文件生成适合当前系统的构建配置文件(如 Makefile)。.. 表示在当前目录的上一级目录中查找CMakeLists.txt 文件。
make这个命令用于编译项目。make 是一个工具,它根据上一步生成的 Makefile 文件来编译源代码,生成可执行文件或库文件。sudo make install这个命令用于安装编译好的软件。make install 是 make 的一个目标,它将编译好的程序安装到系统的标准目录中,如 /usr/local/bin。sudo 是因为安装软件通常需要管理员权限,所以使用 sudo 来执行这个命令。
5、验证zamp安装是否成功
zmap --version
云服务的安装就这里,这里我先声明,本次学习用于实验,出现问题,与本人无关。这里我还是建议大家用kail,虚拟环境练练手即可
6、使用zamp全网爬取ip地址
这里可以扫描几十万条数据
如果你想要扫描多个不连续的端口,你需要为每个端口或每个端口范围分别指定 -p 参数。
zmap -p 80 -o raw_ips.txt
如果你想要扫描一系列连续的端口,比如从80到443
这里注意哈,不能使用逗号,zmap没有这个格式哈,-短横线也没有这个格式化,zmap只支持
7、对zmap下来的代理ip进行初次筛选
使⽤多线程优化了验证效率,使⽤多个验证URL提⾼可⽤性,两种脚本进行筛选,首先是80端口进行添加端口,其次是存在80和443端口的进行添加,然后我们需要替换为:冒号
1、·一种就是只扫了80端口的,需要用add_port_to_ips
函数添加端口
2、还有一种就是扫了80,443端口的有端口号但是中间是 , (逗号)需要用到replace_comma_with_colon
函数进行替
换。
这里想必不用我多说了吧,都懂的,用kail哈
初次筛选ip的脚本
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
import threading
# 指定输入和输出文件路径
raw_input_file = 'raw_ips.txt' # 原始包含逗号的IP文件
processed_output_file = 'ip.txt' # 字符处理后的IP文件
available_proxy_file_path = 'InProxyPool.txt' # 可用代理输出文件
# 多个验证URL,包含国内和国外常见网站,用于更严格地验证代理IP是否可用
test_urls = [
'http://www.baidu.com',
'http://www.jd.com/',
'http://www.taobao.com/'
]
# 线程锁
lock = threading.Lock()
# 标记是否是第一次写入可用代理文件,初始化为True表示第一次
first_write = True
def replace_comma_with_colon(raw_input_file, output_file):
"""
替换文件中逗号为冒号,并保存到新文件。
"""
with open(raw_input_file, 'r') as file:
lines = file.readlines()
# 替换逗号为冒号
modified_lines = [line.replace(',', ':').strip() for line in lines]
# 写入新的文件,'w'模式会自动清空原有内容再写入
with open(output_file, 'w') as file:
for line in modified_lines:
file.write(line + '\n')
print(f"IP格式处理完成,结果已保存到 {output_file}")
# IP添加:端口号
def add_port_to_ips(input_file_path, output_file_path, port=80):
try:
with open(input_file_path, 'r') as infile, open(output_file_path, 'w') as outfile:
for line in infile:
ip = line.strip() # 去除每行的空白字符(如换行符等)
new_ip = f"{ip}:{port}"
outfile.write(new_ip + "\n")
except FileNotFoundError:
print(f"输入文件 {input_file_path} 不存在,请检查文件路径。")
验证之后形成第⼀代理池,但是⽤到⽬标⽹站还是会有许多其他的状态码,不能访问的错误,所以我们针对
⽬标指定⽹站再进⾏筛选
def test_proxy(proxy):
"""
测试单个代理IP是否可用,通过多个URL验证,只有全部验证通过才认定可用,并实时写入文件。
"""
global first_write
proxy = proxy.strip() # 移除行尾的换行符
if not proxy: # 跳过空行
return None
# 设置代理
proxies_dict = {
'http': f'http://{proxy}',
'https': f'https://{proxy}'
}
is_available = True
for url in test_urls:
try:
# 发送请求,设置超时时间为5秒
response = requests.get(url, proxies=proxies_dict, timeout=5)
if response.status_code!= 200:
is_available = False
break
except requests.RequestException as e:
is_available = False
break
if is_available:
print(f'代理IP {proxy} 可用')
with lock:
# 根据是否第一次写入来决定文件打开模式
mode = 'w' if first_write else 'a'
with open(available_proxy_file_path, mode) as file:
file.write(f'{proxy}\n')
if first_write:
first_write = False # 第一次写入后标记设为False
return proxy
else:
print(f'代理IP {proxy} 不可用')
return None
def main():
# 第一步:处理IP文件
# replace_comma_with_colon(raw_input_file, processed_output_file)
add_port_to_ips(raw_input_file,processed_output_file)
# 第二步:读取替换后的IP文件,验证代理IP
with open(processed_output_file, 'r') as file:
proxies = file.readlines()
# 使用ThreadPoolExecutor并发执行
with ThreadPoolExecutor(max_workers=20) as executor:
future_to_proxy = {executor.submit(test_proxy, proxy): proxy for proxy in proxies}
for future in as_completed(future_to_proxy):
proxy = future_to_proxy[future]
try:
future.result() # 触发验证逻辑
except Exception as e:
print(f'代理IP {proxy} 验证过程中出现错误: {e}')
print(f"\n代理验证完成,可用代理IP已写入文件: {available_proxy_file_path}")
if __name__ == "__main__":
main()
验证之后形成第⼀代理池,但是⽤到⽬标⽹站还是会有许多其他的状态码,不能访问的错误,所以我们针对⽬标指定⽹站再进⾏筛选
8、子弹有效化
使⽤这个脚本指定⽬标⽹站为验证⽹站,还可以指定Response数据包的⻓度,来决定确实是正常访问。筛选有效和无效的ip
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
import threading
# 最小响应包长度
MIN_LENGTH = 100
# 最大线程数
MAX_WORKERS = 100
# 输出文件路径
OUTPUT_FILE_PATH = 'FProxies.txt'
# 输入文件路径
input_file_path = 'InProxyPool.txt'
def check_proxy(proxy):
"""验证代理网址"""
test_url = "http://www.google.com"
proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"}
try:
response = requests.get(test_url, proxies=proxies, timeout=2)
if response.status_code == 200 and len(response.content) >= MIN_LENGTH:
return proxy # 返回可用代理
except Exception:
pass
return None # 无效代理
def validate_proxy(proxy, lock):
"""验证单个代理并写入文件"""
valid_proxy = check_proxy(proxy)
if valid_proxy:
with lock:
with open(OUTPUT_FILE_PATH, 'a') as outfile:
outfile.write(f"{valid_proxy}\n")
print(f"有效代理: {valid_proxy}")
else:
print(f"无效代理: {proxy}")
def validate_proxies_from_file(input_file_path):
"""从文件中读取代理并验证其有效性,同时将有效代理输出到另一个文件"""
lock = threading.Lock()
with open(input_file_path, 'r') as infile:
proxies = [line.strip() for line in infile]
with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
futures = [executor.submit(validate_proxy, proxy, lock) for proxy in proxies]
for future in as_completed(futures):
future.result() # 等待所有任务完成
validate_proxies_from_file(input_file_path)
这里咱们的字典文件就筛选准备好了,下面开始bripsuite使用
咱就是说这种脚本都让gpt写好吧
主打一个不动手。
安装Brup插件
1、在burp中载入jython包
2、添加自动化处理插件程序
之后会出现一个 Proxy Switcher 选项,那就是插件了
注意点:这里指定路径记得时字典的txt的url路径哈
先输入路径(主要文件中的数据需要是每行ip:port
的形式否则解释失败),然后加载,最后启用,在后面有每
次请求代理 1 就是请求一次换一个,后面还有HTTP、SOCKS5 协议
3、接下来就是和验证码爆破时同样的操作了,也就没啥好说的了
设置一个payloads,用来加载一些基本的sql注入测试字典即可
4、同理,可以在攻击列表中查看是否存在sql输入,这个取决了字典的强大了
5、本次的目的主要时代理ip池子,那么我们看看是不是每一个段都的请求都是用不同的ip地址发送的请求即可
这里因为用的zmap扫描的ip,其实很多zmap扫描的地址都是不能访问国内的网站的哈,都懂,除非指定地区,那么扫描的ip就大部分应该可以通过py脚本检测。总之,思路就是zmap获取一些ip,使用两次py或者多个脚本进行多次筛选,最终获得可以用的ip字典(也就是IP代理池了),但是这个有局限性,真正的代理池是不端发生ip代理变化且全自动化获取的哈
下期分析伪造ip,也就是假ip,但是呢,还是真实ip有用且必须自动变化
实践是检验真理的唯一标准
相关文章:
泷羽sec学习打卡-brupsuite7搭建IP炮台
声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-Brup-IP炮台搭建 搭建炮台服务端安装zmap1、更新系统和安装基础依赖ÿ…...
WPF系列一:窗口设置无边框
WindowStyle 设置:WindowStyle"None",窗口无法拖拽,但可纵向和横向拉伸 <Window x:Class"WPFDemo.MainWindow.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x&quo…...
《C++与 Armadillo:线性代数助力人工智能算法简化之路》
在人工智能领域,线性代数运算可谓是构建各类模型与算法的基石。从神经网络中的矩阵乘法、向量运算,到数据处理中的特征分解、奇异值分解等,无一不依赖高效且精准的线性代数计算。而 C作为一种强大且高效的编程语言,在人工智能开发…...
【新界面】基于卷积神经网络的垃圾分类(Matlab)
基于CNN的垃圾识别与分类GUI【新界面】 有需要可直接联系我,基本都在在线,能秒回!可加我看演示视频,不懂可以远程教学 1.此项目设计包括两份完整的源代码,有GUI界面的代码和无GUI界面系统的代码。 (以下部…...
阿尔茨海默症数据集,使用yolo,voc,coco格式对2013张原始图片进行标注,可识别轻微,中等和正常的症状
阿尔茨海默症数据集,使用yolo,voc,coco格式对2013张原始图片进行标注,可识别轻微,中等,严重和正常的症状 数据集分割 训练组100% 2013图片 有效集% 0图片 测试集…...
评估二分类模型性能之AUC-ROC 曲线
AUC-ROC 曲线 是评估二分类模型性能的重要工具。它结合了 受试者工作特性曲线 (Receiver Operating Characteristic, ROC) 和 曲线下面积 (Area Under the Curve, AUC),全面衡量分类器在不同阈值下的表现。 概念解释 1. ROC 曲线 ROC 曲线展示了分类器在不同阈值下…...
睡岗和玩手机数据集,4653张原始图,支持YOLO,VOC XML,COCO JSON格式的标注
睡岗和玩手机数据集,4653张原始图,支持YOLO,VOC XML,COCO JSON格式的标注 数据集分割 训练组70% 3257图片 有效集20% 931图片 测试集10% 465图片 预处理 没有采用任何预处…...
景联文科技:精准语音标注,驱动语音技术新发展
在人工智能迅速发展的今天,语音技术的应用已经渗透到我们生活的方方面面。从智能音箱、语音助手到自动语音识别系统,高质量的语音数据是这些应用成功的关键。景联文科技作为领先的AI数据服务提供商,专注于为客户提供高精度、高效的语音标注服…...
Linux 查看目录命令 ls 详细介绍
Linux 和 Unix 系统中 ls 命令是用于列出目录内容。用户可以查看指定目录下的文件和子目录,还可以获取有关这些文件和子目录的详细信息。 基本语法: ls [选项] [目录]如果不指定目录,ls 将列出当前工作目录下的内容。 01、-a 或 --all ls…...
Flux Tools 结构简析
Flux Tools 结构简析 BFL 这次一共发布了 Canny、Depth、Redux、Fill 四个 Tools 模型系列,分别对应我们熟悉的 ControlNets、Image Variation(IP Adapter)和 Inpainting 三种图片条件控制方法。虽然实现功能是相同的,但是其具体…...
从零开始:PHP基础教程系列-第13篇:构建简单的Web应用
从零开始:PHP基础教程系列 第13篇:构建简单的Web应用 在本篇文章中,我们将学习如何使用PHP构建一个简单的Web应用。这个应用将实现用户注册和登录功能,并使用PDO与MySQL数据库进行交互。我们将逐步实现这个应用的基本功能。 一…...
文件夹属性变0字节:全面解析与恢复指南
一、文件夹属性变0字节现象概述 在日常使用电脑的过程中,我们可能会遇到文件夹属性突然变为0字节的情况。这意味着文件夹中的文件列表或元数据被某种方式清空或损坏,导致系统无法正确读取文件夹的内容。当您尝试打开此类文件夹时,通常会收到…...
PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具
PDFMathTranslate 是一个设想中的工具,旨在翻译PDF文档中的数学内容。以下是这个工具的主要特点和使用方法: 功能特点 数学公式识别:利用先进的OCR(光学字符识别)技术,精准识别PDF文档中的数学公式和文本…...
35. Three.js案例-创建带阴影的球体与平面
35. Three.js案例-创建带阴影的球体与平面 实现效果 知识点 WebGLRenderer WebGLRenderer 是Three.js中用于渲染场景的主要类之一,它负责将场景中的对象渲染到画布上。 构造器 new THREE.WebGLRenderer(parameters : Object) 参数类型描述parametersObject可选…...
【Linux】深入理解进程信号机制:信号的产生、捕获与阻塞
🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 时间不语,却回答了所有问题 目录 📚前言 📚一、信号的本质 📖1.异步通信 📖2.信…...
Vue3.0使用JavaScript脚本实现Vue Router路由:页面跳转、获取URL参数
Vue 使用 Vue Router 路由系列文章: 《Vue使用Vue Router路由:开发单页应用》 《Vue使用Vue Router路由:通过URL传递与获取参数》 《Vue3.0使用JavaScript脚本实现Vue Router路由:页面跳转、获取URL参数》 1、路由基础 在单页 Web 应用中,整个项目只有一个 HTML 文件,不…...
2025山东科技大学考研专业课复习资料一览
[冲刺]2025年山东科技大学020200应用经济学《814经济学之西方经济学[宏观部分]》考研学霸狂刷870题[简答论述计算题]1小时前[强化]2025年山东科技大学085600材料与化工《817物理化学》考研强化检测5套卷22小时前[冲刺]2025年山东科技大学030100法学《704综合一[法理学、国际法学…...
lambda 表达式 闭包写法
lambda 表达式 1.用于 匿名委托函数表达 2.用于linq 查询表达 匿名方法表达 (参数)》{ 逻辑} 比如 (x,y)>{return xy;} 如果一个参数可不带(),如果逻辑简单可以不{} 比如 x>x 如果没有参…...
什么是正则化?Regularization: The Stabilizer of Machine Learning Models(中英双语)
正则化:机器学习模型的稳定器 1. 什么是正则化? 正则化(Regularization)是一种在机器学习模型训练中,通过约束模型复杂性以防止过拟合的技术。 它的核心目标是让模型不仅在训练集上表现良好,还能在测试集上…...
【西门子PLC.博途】——面向对象编程及输入输出映射FC块
当我们做面向对象编程的时候,需要用到输入输出的映射。这样建立的变量就能够被复用,从而最大化利用了我们建立的udt对象。 下面就来讲讲映射是什么。 从本质上来说,映射就是拿实际物理对象对应程序虚拟对象,假设程序对象是I0.0&…...
CS61a.1 textbook1.2 编程要素
1.structure and interpretation of computer programs Python 内置了对各种常见编程活动的支持, 例如,操作文本、显示图形以及通过 互联网。Python 代码行 >>> from urllib.request import urlopen是一个 import 语句,用于加载用…...
计算机毕业设计Django+Tensorflow音乐推荐系统 音乐可视化 卷积神经网络CNN LSTM音乐情感分析 机器学习 深度学习 Flask
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
使用国内镜像网站在线下载安装Qt(解决官网慢的问题)——Qt
国内镜像网站 中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/北京理工大学:http://mirror.bit.edu.cn/qtproject/ 南京大学:https://mirror.nju.edu.cn/qt腾讯镜像&…...
乳腺癌多模态诊断解释框架:CNN + 可解释 AI 可视化
乳腺癌多模态诊断解释框架:CNN 可解释 AI 可视化 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)3. 实现步骤4. 效果展示 结构分析1. 层级结构分析叠加形态(从基础到高级)构成形态(部分到整体&#x…...
MySQL篇之对MySQL进行参数优化,提高MySQL性能
1. MySQL参数优化说明 MySQL 参数调优是提高数据库性能的重要手段之一。通过调整 MySQL 的配置参数,可以优化查询速度、提升并发处理能力、减少资源消耗等。 MySQL 的性能优化涉及到多个方面,包括内存管理、磁盘 I/O、查询优化、连接管理、复制配置等。…...
Scratch节日 | 快乐圣诞节——用编程传递节日祝福! ✨
今天为大家推荐一款充满节日气氛的Scratch项目——《快乐圣诞节》!这款圣诞主题动画贺卡项目不仅让小朋友们学习编程知识,还提供了一种用创意传递祝福的方式。通过编程打造星星闪烁的圣诞树,播放经典圣诞音乐,制作一张属于自己的节…...
android studio更改应用图片,和应用名字。
更改应用图标,和名字 先打开AndroidManifest.xml文件。 更改图片文件名字( 右键-->构建-->重命名(R))...
PHP8.4下webman直接使用topthink/think-orm
环境信息 操作系统win11php 8.4.1webman-framework ^1.6.8MySQL 8.4.3topthink/think-orm ^3.0 说明 PHP8.3以下版本 直接使用webman提供的webman/think-orm更方便。 PHP 环境换为 8.4 使用webman/think-orm 报了个错;所以换topthink/think-orm,根据文…...
uniapp 微信小程序 功能入口
单行单独展示 效果图 html <view class"shopchoose flex jsb ac" click"routerTo(要跳转的页面)"><view class"flex ac"><image src"/static/dyd.png" mode"aspectFit" class"shopchooseimg"&g…...
Halcon 机器视觉案例 之 连接件测量
第一篇 机器视觉案例 之 连接件测量 文章目录 第一篇 机器视觉案例 之 连接件测量1.案例要求2.实现思路2.1 读取单张图片并创建图像模板2.2 画出圆和直线2.3 创建测量模型2.4 循环读取多张图片并查找图像中连接件位置2.5 根据偏移量补偿使得测量模型移动至指定位置 3.实现效果4…...
druid与pgsql结合踩坑记
最近项目里面突然出现一个怪问题,数据库是pgsql,jdbc连接池是alibaba开源的druid,idea里面直接启动没问题,打完包放在centos上和windows上cmd窗口都能直接用java -jar命令启动,但是放到国产信创系统上就是报错…...
Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ,java代码样例
一、环境 Windows11 WSL(Ubuntu 24.04.1) 二、思路 1 用Windows中的Ubuntu安装RabbitMQ,贴近Linux的线上环境; 2 RabbitMQ用erlang语言编写的,先安装erlang的运行环境; 2 用Linux的apt-get命令安装,解决软件依赖…...
RabbitMQ的核心组件有哪些?
大家好,我是锋哥。今天分享关于【RabbitMQ的核心组件有哪些?】面试题。希望对大家有帮助; RabbitMQ的核心组件有哪些? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RabbitMQ是一个开源的消息代理(Messag…...
mysql免安装版配置教程
一、将压缩包解压至你想要放置的文件夹中,注意:绝对路径中要避免出现中文 二、在解压目录下新建my.ini文件,已经有的就直接覆盖 my.ini文件内容 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirD:\\tools\\mysql-8.1.0-win…...
ubuntu+ros新手笔记(三):21讲没讲到的MoveIt2
1 安装MoveIt2 安装参照在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手 安装 MoveIt2可以选择自己编译源码安装,或者直接从二进制安装。 个人建议直接二进制安装,可以省很多事。 sudo apt install ros-humble-moveitmoveit-setup-assistan…...
Charles简单压力测试
01、接口请求次数,并发量,请求延迟时间均可配置 选中需要进行测试的接口,鼠标右键选中【repeat advance】 02、设置并发参数 下面的图中,选择了1个接口,每次迭代中1个接口同时请求,迭代1000次(…...
决策树的生成与剪枝
决策树的生成与剪枝 决策树的生成生成决策树的过程决策树的生成算法 决策树的剪枝决策树的损失函数决策树的剪枝算法 代码 决策树的生成 生成决策树的过程 为了方便分析描述,我们对上节课中的训练样本进行编号,每个样本加一个ID值,如图所示…...
对象克隆与单例模式的实现
一、引言 在 C 编程中,对象克隆和单例模式是两个非常重要的概念。对象克隆可以帮助我们快速创建具有相同状态的对象副本,而单例模式则可以确保一个类只有一个实例,并提供全局访问点。本文将详细介绍 C 中如何实现对象的克隆以及单例模式。 …...
在 Linux 系统中,让 apt 使用 HTTP 代理
在 Linux 系统中,要让 apt 使用 HTTP 代理,有几种方法可以实现: ### 1. 临时设置代理 你可以通过设置环境变量来临时为 apt 命令设置代理。这种方法不需要修改任何配置文件,只需在命令行中设置环境变量即可。例如: …...
中国气象局:2024年第二批“气象数据要素×”典型案例(附下载)
11月25日,中国气象局通报2024年第二批“气象数据要素”典型案例。此次遴选充分结合首届“数据要素”大赛获奖案例,旨在进一步号召各级气象部门充分学习借鉴先进经验和做法,持续推动高价值气象数据产品开发利用,挖掘气象数据要素应…...
Android绘图Path基于LinearGradient线性渐变,Kotlin(1)
Android绘图Path基于LinearGradient线性渐变,Kotlin(1) import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.LinearGradient import android.graphics.Paint import and…...
基础入门-APP应用微信小程序原生态开发H5+Vue技术WEB封装打包反编译抓包点
知识点: 1、基础入门-APP应用-开发架构安全问题 2、基础入门-小程序应用-开发架构安全问题 通用: 1、反编译-得到源码-源码提取资产(泄漏的配置信息)-安全测试 2、抓包-资产-安全测试 一、演示案例-移动App-开发架构-原生&H…...
vue+ts提交数据时不提交(剔除)某项数据
关键代码 // 假设这是原始要提交的数据数组 const dataArray [{areaConfId: ,areaName: ,cityInfo: [],provinceList: [],cityList: []} ];// 使用map方法遍历数组中的每个对象,通过解构赋值和对象展开运算符去除cityInfo字段 const newDataArray dataArray.map…...
乐凡信息智能安全管控方案:助力油气田行业安全管控多方位升级
我国油田地域广阔,分布着大量各种油井,油井开采设备的连续稳定运行是保证石油开采的首要条件。然而,由于油田多位于特殊地理环境中,因而实现油井之间的通信首要问题就是要克服地理环境所带来的限制,传统通信系统的建设…...
Jenkins搭建并与Harbor集成上传镜像
Jenkins介绍 Jenkins 是一个开源的自动化服务器,广泛用于持续集成(CI)和持续交付(CD)的实践中。它帮助开发人员自动化构建、测试和部署过程,从而提高开发效率、代码质量和项目交付速度。通过丰富的插件支持…...
FutureCompletableFuture实战
1. Callable&Future&FutureTask介绍 直接继承Thread或者实现Runnable接口都可以创建线程,但是这两种方法都有一个问题就是:没有返回值,也就是不能获取执行完的结果。因此java1.5就提供了Callable接口来实现这一场景,而Fu…...
Amazon与Shopee平台对比:跨境卖家如何选对平台打开市场?
在跨境电商领域,选择合适的平台对卖家能否成功打开市场至关重要。如今,Amazon和Shopee成为了众多卖家的热门选择。一个以全球化布局和高端市场著称,一个则专注东南亚新兴市场的潜力。两者各有优势,但也需要根据卖家的业务模式、目…...
【项目实战】redis实现websocket分布式消息推送服务
由于redis并非专业的MQ中间件,消息的防丢失策略并不完整,存在丢失消息的可能。该方案为在再pc web管理平台的右下角弹出,显示新接收到的消息数,哪怕没有收到这个通知,也可以自己在消息中心看看。所以对可靠性要求不高。…...
(自用)配置文件优先级、SpringBoot原理、Maven私服
配置优先级 之前介绍过SpringBoot中支持三类配置文件.properties、.yml和.yaml,他们三者之间也是有着优先级顺序的,为.properties➡.yml➡.yaml。 同时SpringBoot为了增强程序的拓展性,除了支持配置文件属性配置,还支持Java系统属…...
在windows系统中使用labelimg对图片进行标注之工具安装及简单使用
一.背景 还是之前的主题,使用开源软件为公司搭建安全管理平台,从视觉模型识别安全帽开始。我是从运行、训练、标注倒过来学习的。本次主要是学习标注工具labelimg的安装及简单使用。 二.下载 LabelImg是一款广受欢迎的开源图像标注工具,为计…...