自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

servepeople的博客

分享点点滴滴,希望帮助更多的人!!!

  • 博客(443)
  • 资源 (14)
  • 收藏
  • 关注

原创 在 CentOS 7 安装中文字体

本文介绍了在Linux系统上安装Noto Sans CJK SC简体中文字体的完整步骤。首先通过yum安装字体配置工具,然后创建字体目录并从Google存储库下载字体包。解压后删除原压缩包并执行fc-cache命令更新字体缓存。文章提供了验证安装成功的命令,并特别提醒如果遇到显示问题,可通过查看系统识别到的中文字体列表来排查。最后强调必须执行字体缓存刷新命令,否则Chromium等浏览器无法识别新安装的字体,这是确保字体正常显示的关键步骤。

2025-07-31 17:12:55 190

原创 获取 JA3 指纹的一般办法

摘要: JA3指纹用于TLS客户端识别,可通过多种方式获取: 被动抓包:使用Scapy或Wireshark解析流量中的Client Hello消息,提取字段并哈希计算; 主动探测:通过OpenSSL或Python脚本连接目标服务器,获取TLS握手信息; 浏览器环境:借助JavaScript获取部分指纹(受限); 工具集成:商业安全产品(如CrowdStrike)或开源工具(Suricata)支持JA3分析; 存储比对:可自建数据库存储指纹供后续分析。被动抓包最常用,适用于网络安全监测,而浏览器指纹多用于反欺

2025-07-16 14:33:22 590

原创 怎样利用JA3指纹进行网络安全防护

JA3指纹在网络安全防护中可用于识别、监控和拦截异常或恶意流量。

2025-07-16 14:29:37 252

原创 Python 与JA3 库的应用

Python JA3 库通过分析TLS握手特征生成客户端指纹,广泛应用于网络安全和爬虫开发。主要场景包括:1) 识别设备类型,通过指纹匹配浏览器/操作系统;2) 检测恶意流量,比对已知恶意软件指纹;3) 反爬虫,识别自动化工具;4) 模拟浏览器行为,自定义SSL上下文;5) 实时流量监控,结合抓包工具分析;6) 构建指纹数据库存储管理。JA3技术为网络通信提供了可靠的身份标识手段,在安全防护、流量分析和爬虫对抗中具有重要价值。

2025-07-16 14:26:11 306

原创 JA3指纹

JA3指纹是通过分析TLS握手Client Hello消息生成的客户端唯一标识,包含协议版本、密码套件、TLS扩展等关键字段。其生成过程包括字段提取、规范化排序和MD5哈希处理,最终形成32位十六进制指纹。该技术广泛应用于网络安全领域,可检测恶意流量、识别客户端类型,并区分正常用户与自动化工具,通过指纹比对有效发现潜在威胁。

2025-07-16 14:25:05 277

原创 python原生处理properties文件

本文介绍了一个基于Python configparser模块的.properties文件操作工具类。该工具通过将.properties格式适配为.ini格式来实现配置文件的读写操作。核心功能包括:1) 初始化配置解析器并保留键名大小写;2) 自动添加[DEFAULT]部分以兼容.properties格式;3) 支持读取、写入、获取/设置键值、批量操作等基本功能;4) 新增遍历键值对和清空文件内容的功能。该工具类通过特殊处理配置文件格式转换,实现了对.properties文件的完整操作支持。

2025-07-15 16:48:32 719

原创 在Python项目中统一处理日志

本文介绍了在Python项目中统一配置日志管理的最佳实践。通过使用Python内置的logging模块和配置文件,可以实现灵活的日志级别控制、输出格式定制和存储管理。文章详细讲解了如何创建日志配置文件,设置不同级别的日志处理器(控制台和文件),以及如何在项目各模块中正确使用日志记录。还介绍了通过环境变量动态调整日志级别的方法,并推荐了使用模块名作为日志名称、合理选择日志级别等最佳实践。最后提及了结构化日志的扩展方案,为项目提供了统一的日志管理框架,便于调试和监控。

2025-07-11 17:35:00 423

原创 python中如何在异步代码中捕获所有未知异常(内部嵌套了大量的异步调用)

摘要:异步代码异常处理需多层次覆盖,从基础协程内部try-except捕获,到中级asyncio.gather()的return_exceptions参数避免连锁失败,再到高级全局事件循环异常处理器。终极方案结合局部捕获、安全并发、全局兜底和日志监控,确保异常全链路处理。关键点包括优先局部捕获、安全并发模式、全局异常记录以及资源清理,注意区分BaseException和CancelledError处理。开发时可启用PYTHONASYNCIODEBUG模式辅助调试。(149字)

2025-07-09 16:51:54 361

原创 python非阻塞用async 和 await来替换gather函数

摘要:通过手动创建任务(asyncio.create_task())并串行等待的方式,可以在不使用gather的情况下实现协程并发执行。核心原理是:1)先创建所有任务让它们进入事件循环;2)通过await等待时,事件循环会自动调度其他就绪任务。虽然等待是串行的,但任务实际在后台并发执行,总耗时取决于最慢任务而非累加时间。这种方式比gather更灵活,但需要手动管理任务状态,适用于需要中间插入逻辑的场景。

2025-07-09 16:21:22 400

原创 python 异步编程事件循环的共享问题

摘要:Python的asyncio.run()每次调用都会创建独立的事件循环,彼此无共享状态。该方法作为顶层异步入口,不允许嵌套调用,否则会抛出RuntimeError。所有通过asyncio.create_task()或asyncio.gather()创建的任务都共享同一事件循环,在该循环中交替执行实现并发。正确做法是在main协程内管理多个任务,而非多次调用asyncio.run()。这种设计确保了高效的"单线程并发"模型,避免多线程锁竞争,充分利用IO等待时间。

2025-07-09 16:18:45 532

原创 pyhtho 异步中await的理解

摘要:async函数遇到await会立即暂停,前提是await后接可等待对象(如协程、Future等)。await的核心作用是让出控制权给事件循环,实现异步调度。验证实验显示,协程在await处暂停后,事件循环会执行其他任务,直到被等待的操作完成。需注意:await不关心操作复杂度,但必须接可等待对象,且协程暂停不同于线程阻塞。正确使用await是实现高效异步编程的关键。(150字)

2025-07-09 16:14:29 414

原创 asyncio.to_thread() Python同步代码异步化工具

Python 3.9引入的asyncio.to_thread()提供了一种在异步环境中执行同步代码的解决方案。它通过线程池将同步操作转为非阻塞执行,避免了阻塞事件循环,尤其适用于无法改造的同步库或CPU密集型任务。与原生async/await机制相比,to_thread()采用多线程执行,虽然性能开销较大,但能有效处理同步代码。开发者应优先使用原生异步库,仅在必要时采用to_thread()作为补充工具,二者可协同使用以实现最佳性能。该特性为混合编程场景提供了灵活选择。

2025-07-09 15:58:02 292

原创 Python 的多线程机制

Python 通过 threading 模块支持多线程,但由于 GIL 限制,其多线程在 CPU 密集型任务中无法利用多核优势,但在 IO 密集型任务中仍能提升效率。核心机制包括 threading 模块的基础线程操作和线程同步工具,以及 ThreadPoolExecutor 线程池管理。asyncio.to_thread() 是异步框架中对多线程的封装,并非替代多线程机制。对于 CPU 密集型任务,建议使用多进程或异步框架。本文还介绍了多线程的典型应用场景和高级用法。

2025-07-09 15:55:53 250

原创 python 多进程

Python 多进程机制通过 multiprocessing 模块实现,可突破 GIL 限制,利用多核 CPU 并行执行计算密集型任务。基础用法包括 Process 类创建独立进程和 Pool 进程池管理;进程间通信可通过 Queue 队列或 Manager 共享数据。相比多线程和异步,多进程适合 CPU 密集型任务,但资源开销较大。性能测试表明,对于计算任务多进程比多线程快约 1 倍,而在 IO 密集型场景中多线程和异步更具优势。使用时需注意进程隔离特性和 if __name__ == "__m

2025-07-09 15:45:34 686

原创 同步(Sync)与异步(Async)及await的核心原理详解

本文深入解析了同步(Sync)与异步(Async)编程的核心区别及await的实现原理。同步编程顺序执行,IO操作会阻塞线程;异步编程通过事件循环实现非阻塞并发,显著提升IO密集型任务效率。await机制本质上是一种协程的暂停与恢复机制,当遇到IO操作时,协程主动让出控制权,事件循环调度其他任务执行,IO完成后恢复协程继续执行。文章通过代码示例和流程图示详细展示了await与事件循环的协作关系,并指出同步函数在异步环境中会阻塞事件循环,强调必须使用异步库(如aiohttp)替代同步操作(如requests)

2025-07-07 17:34:11 1100

原创 Python 异步编程从基础到高级全面指南

本文全面介绍了Python异步编程的核心概念与实践方法。主要内容包括:1) 异步编程基础(同步与异步对比、协程、事件循环);2) asyncio库的基础使用(async/await语法、并发执行);3) 核心组件详解(Future、异步迭代器);4) 实战应用(网络请求aiohttp、异步文件与数据库操作);5) 高级主题(任务管理、性能优化)。适用于高IO密集型场景,通过事件循环和协程提升并发效率,提供从入门到实战的完整指南。

2025-07-07 16:56:27 620

原创 pppoe宽带连接-系列命令调用

摘要:本文介绍了PPPoE相关命令的功能及用法,包括pppoe-connect(建立连接)、pppoe-discovery(搜索服务器)、pppoe-relay(中继代理)、pppoe-server(搭建服务器)、pppoe-setup(交互配置)、pppoe-sniff(流量监听)、pppoe-start/stop/status(连接管理)等。提供了常见组合用法(首次配置、日常管理、网络调试)及注意事项(权限要求、配置文件路径)。通过示例说明各命令的典型应用场景和输出格式,适用于Linux环境下PPPoE

2025-07-02 14:20:18 298

原创 pppoe宽带连接-更换连接

摘要:在Linux中更换PPPoE连接主要有两种方式:断开重连(使用pppoe-stop/start命令)或切换配置文件(通过pon/poff指定不同配置文件)。如需修改账号密码,可运行pppoeconf重新配置。操作需root权限,配置文件通常位于/etc/ppp/peers/目录。部分系统还可通过systemctl管理PPPoE服务。更换宽带账号时建议先备份原配置文件。 (字数:149字)

2025-07-02 14:18:50 254

原创 pppoe宽带连接-安装

在 Linux 系统中配置 PPPoE 宽带连接,需安装 pppoe 和 rp-pppoe 软件包(使用 yum 或 apt 命令)。安装后通过 pppoe-setup 配置连接信息,使用 pppoe-start/pppoe-stop 启动/停止连接,并用 pppoe-status 查看状态。适用于 CentOS/RHEL(yum)和 Debian/Ubuntu(apt)系统。

2025-07-02 14:16:49 158

原创 Dos命令对文件和文件夹进行增删改查

摘要:本文详细介绍了在DOS/CMD中管理文件和文件夹的基本命令操作,包括创建文件夹(MD命令)、复制文件(COPY命令)和移动文件(MOVE命令)。各命令均配有具体语法示例,如创建多级目录、通配符复制、文件重命名移动等操作。此外,还补充了删除文件/夹(DEL/RD)、目录结构查看(TREE)等扩展命令,以及批处理脚本编写技巧。文末对比了传统DOS命令与PowerShell的对应操作方式,为不同场景下的文件管理提供实用参考。这些命令适用于Windows系统维护和自动化任务处理。

2025-06-19 10:46:06 946

原创 在Windows server 2008 R2上安装OpenSSH(shell 操作版)

openssh

2025-06-18 15:03:45 225

原创 在mac上安装sh脚本文件

摘要:将 jd-gui.sh 脚本转换为 macOS ARM 上的可点击程序,需创建 .app 包。步骤包括:构建应用程序目录,复制脚本并赋权;创建 Info.plist 配置文件;准备 .icns 格式图标并放入资源目录;最后将程序包移至 /Applications。完成后即可通过程序坞点击运行,并显示自定义图标。

2025-06-13 17:29:44 688

原创 xpath表达式的常用知识点

XPath是用于定位XML/HTML元素的查询语言,广泛应用于爬虫和自动化测试。摘要涵盖核心知识点:1)基础选择器(如//tagname、属性定位);2)路径定位(/和//的区别);3)索引与位置(从1计数);4)逻辑条件(and/or/contains);5)轴选择(父子/兄弟节点);6)常用函数(text()/count());7)开发者工具调试方法;8)与CSS选择器的对比。通过典型示例说明如何定位网页元素,帮助快速掌握XPath的核心用法。

2025-06-06 14:24:05 495

原创 grep 命令过滤多个关键字

grep命令实现多关键字筛选(逻辑"或"关系)的常用方法:1. -e选项指定多个模式(如grep -e "key1" -e "key2" file);2. 扩展正则表达式-E配合|符号(如grep -E "key1|key2" file);3. 通过-f选项从文件读取大量关键字。附加技巧包括忽略大小写(-i)、仅输出匹配内容(-o)和递归搜索(-r)。根据关键词数量选择对应方案:少量用-e/-E,大量用-f。

2025-06-05 14:57:53 855

原创 在Windows server 2008 R2上安装OpenSSH

openssh

2025-06-04 11:16:42 1143

原创 subprocess用法

Python 的 subprocess 模块提供了创建和管理子进程的功能,用于执行外部命令并交互。主要功能包括执行命令、控制输入输出、获取返回码和并行处理。常用方法有 run() 和 Popen(),前者适用于简单任务,后者支持更精细的控制。使用时需注意安全风险,避免 shell=True 带来的命令注入问题,并正确处理命令输出。相比 os.system() 等旧方法,subprocess 更推荐使用。该模块适用于系统管理、自动化脚本等场景。

2025-05-30 09:45:26 540

原创 jdk 国内下载镜像站

本文介绍了国内常用的JDK下载镜像站点,包括华为云、清华大学TUNA、阿里云、网易、腾讯云等开源镜像站,以及INJDK和嗖嗖下载等专业JDK站点。这些镜像提供多种版本的JDK下载(如Oracle JDK、OpenJDK等),具有下载速度快、稳定性好等特点,能满足不同用户的需求,方便开发者快速获取JDK安装包。各镜像站点依托企业或高校基础设施,为国内用户提供了更便捷的JDK下载渠道。

2025-05-29 15:31:12 4638 1

原创 python 判断字符串不等于的两种方式

摘要:Python中比较字符串不相等有两种方式:!=用于比较内容差异,is not用于判断对象身份。绝大多数场景应使用!=检查字符串内容,如验证密码等。is not仅适用于特殊对象(如None)比对,因Python会缓存短字符串导致结果意外。注意事项包括大小写敏感、空格影响及编码一致性,忽略大小写需先转换大小写再比较。核心建议:内容比较用!=,身份判断用is not(慎用于字符串)。

2025-05-29 11:15:39 338

原创 #!/usr/bin/env python

是 Python 脚本的标准 Shebang,用于指定解释器路径,确保脚本在不同环境中能正确执行。Windows 默认不支持 Shebang,但 Python 解释器会自动处理。保存,避免 Windows 换行符(CRLF)导致 Shebang 失效。行,用于告诉操作系统执行该脚本时应该使用哪个解释器。在虚拟环境或多 Python 版本共存的系统中,会自动使用当前激活的 Python 环境。若系统同时安装 Python 2 和 3,可能指向 Python 2,建议使用。文件,需关联 Python 解释器。

2025-05-28 17:15:07 558

原创 OpenCV入门

OpenCV 是计算机视觉的瑞士军刀,适合从简单图像处理到复杂深度学习的各种任务。通过上述安装方法和示例,你可以快速开始开发视觉应用。如果遇到特定错误(如。的 Python 接口,用于计算机视觉任务,如图像处理、视频分析、目标检测、机器学习等。:OpenCV 与 NumPy 无缝集成,避免 Python 循环。),请提供具体错误信息以便进一步排查。

2025-05-23 17:09:41 1083

原创 python3.7版本,如何安装pyppeteer

在 Python 3.7 中安装 pyppeteer 时,由于 pyppeteer 2.x 要求 Python 3.8+,可以通过安装 pyppeteer 1.x 版本来解决兼容性问题。具体步骤包括使用 pip install pyppeteer==1.0.2 安装指定版本,并验证安装。如果遇到依赖库缺失或 Chromium 下载失败的问题,可以手动安装依赖或指定 Chromium 路径。此外,playwright-python 是一个替代方案,支持 Python 3.7+ 且无需手动管理浏览器。总结来说,

2025-05-23 15:21:59 245

原创 Puppeteer 浏览器自动化操作工具

pyppeteer是 Python 版本的,而 Puppeteer 是由 Google 开发的一个 Node.js 库,用于控制 Chrome 或 Chromium 浏览器。pyppeteer允许你通过 Python 代码自动化操作浏览器,实现网页爬取、自动化测试、生成截图或 PDF 等功能。

2025-05-23 14:50:45 849

原创 flake8 和 mypy Python 中两种不同类型的代码检查工具

是 Python 中两种不同类型的代码检查工具,它们的功能和用途有所不同,但通常会结合使用以提高代码质量。:两者结合使用,全面提升代码质量。

2025-05-23 10:55:14 889

原创 PyInstaller 如何在mac电脑上生成在window上可执行的exe文件

PyInstaller无法直接在macOS上生成Windows可执行文件,因为需要目标平台的系统库和Python环境。在macOS上为Windows打包Python应用,可以通过以下方法实现:1. 使用虚拟机或Docker容器,在Windows虚拟机内安装Python和PyInstaller进行打包;2. 使用交叉编译工具,通过Wine和MinGW-w64在macOS上模拟Windows环境;3. 使用远程Windows服务器,通过SSH或远程桌面连接进行打包。跨平台打包时需注意路径分隔符、依赖库兼容性和文

2025-05-22 17:41:52 906

原创 Pyinstaller对动态导入模块的详细描述

Python 中的动态导入模块是指在程序运行时通过变量或表达式导入模块或对象,而非在代码编写或编译阶段显式导入。这种方式使得 PyInstaller 无法自动检测依赖,可能导致打包后的可执行文件运行时出现 ModuleNotFoundError。常见的动态导入场景包括使用 importlib 模块、字符串拼接导入子模块、加载插件或扩展模块,以及通过反射机制获取类或函数。由于 PyInstaller 依赖静态分析,无法识别动态导入的模块,因此需要通过 --hidden-import 选项或在 .spec 文件

2025-05-22 17:35:00 484

原创 PyInstaller将多个Python脚本打包成一个可执行文件

使用 PyInstaller 将多个 Python 脚本打包成一个可执行文件时,首先需要指定主脚本作为程序入口点。PyInstaller 会自动分析并打包所有依赖的脚本和模块。对于复杂项目,可能需要手动处理动态导入的模块或添加非 Python 文件,可以通过 --hidden-import 和 --add-data 参数实现。此外,使用 .spec 文件可以更精细地控制打包过程。常见问题如模块未找到错误,可以通过手动添加依赖解决。优化打包结果的方法包括使用 UPX 压缩和创建干净的虚拟环境。通过这些步骤,可

2025-05-22 17:25:22 614

原创 PyInstaller入门

是一个常用的 Python 打包工具,可以将 Python 脚本打包成独立的可执行文件(如.exe),无需在目标机器上安装 Python 环境。

2025-05-22 17:11:06 1216

原创 解决osx-arm64平台上conda默认源没有提供 python=3.7 的官方编译版本的问题

是一个用于创建特定架构环境的命令,主要针对 macOS 系统。

2025-05-09 10:26:37 679

原创 python 中的单例

在 Python 里,单例模式指的是一个类仅有一个实例,并且提供一个全局访问点来获取该实例。下面为你介绍几种实现单例模式的常见方法。

2025-05-08 13:52:12 207

原创 Anaconda在mac上开发多版本的python代码

激活相应的环境后,就可以使用该环境中的 Python 解释器和安装的包进行代码开发了。你可以在终端中直接运行 Python 脚本,也可以在集成开发环境(IDE)中配置使用该环境。Anaconda 通过创建不同的虚拟环境来支持多版本 Python 开发,每个环境可以有独立的 Python 版本和包。下载完成后,双击安装包,按照安装向导的提示完成安装。通过以上步骤,你就能使用 Anaconda 在 macOS 上开发多版本的 Python 代码了。激活后,终端的命令行提示符前会显示当前环境的名称。

2025-05-08 09:51:44 338

Java加密技术

Java加密技术

2015-09-22

Apache_Mina_Server_2.0中文参考手册V1.0

Apache_Mina_Server_2.0中文参考手册V1.0

2015-09-22

金仓SQL语法详解

本资源为金仓数据SQL语法详解文档,kingbase SQL 欢迎大家下载

2019-04-12

chrome插件,修改对应URL的http请求的header头,包括ajax请求

chrome插件 1. 根据正则表达式指定URL 2. 对自定义header头的修改对url正则表达式有效 3. 自定义header对页面中的ajax代码依然有效 4. 自定义header对页面中的css、js文件依然有效 5. 自定义header可对浏览器中所有请求有效

2024-06-25

docker系统学习文档

本资源为docker系统学习的经典著作,并且为中文版本。欢迎大家学习

2019-01-22

大数据知识结构梳理

本资源全面的梳理了大数据的知识脉络体系,帮您找到学习大数据的边界

2019-01-22

starTeam使用

StarTeam 使用方法。以及培训PPT

2013-05-20

Elasticsearch示例数据 accounts.json

Elasticsearch 学习样例数据 accounts.json,欢迎大家下载

2019-02-28

GeoIP_1.4.8.tar.gz 地理信息系统,资源包含geoIP_1.4.8的所有资源。

GeoIP_1.4.8.tar.gz 地理信息系统,资源包含geoIP_1.4.8的所有资源。感谢下载。

2021-01-26

天眼查爬虫学习demo

天眼查爬虫,用到了Python的各种解析及IP池技术,仅供学习使用

2019-01-22

apache-tomcat-8.5.23

tomcat Mac linux 版本,欢迎大家下载,这个是我从官网下的

2018-02-06

微服务脑图

本资源为微服务的脑图,全面总结了微服务技术里的若知识

2018-02-05

zookeeper eclipse plugin

上传资源为zookeeper eclipse plugin 插件,zookeeper版本为3.2.2

2019-01-29

KingbaseESHelp.rar

此文档为金仓数据库详细文档,相信对大家有帮助!包括安装、入门、系统管理、高级管理、安全管理、SQL语法、开发指导等

2019-11-22

hadoop学习假数据

hadoop学习的假数据,movies.dat、ratings.dat、users.dat

2019-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除