自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 Python Request源码解读之cert.py

这个源码没啥说的,引用第三方库,告知当前的证书位置。

2024-01-02 09:58:07 397 1

原创 Python Request源码解读之auth.py

Digest认证是一种基于摘要算法的认证方式,使用时需要先发送一个请求,服务端返回一段Token,客户端需要使用这个Token进行加密后再发送请求。Python中的Request库同样可以通过设置auth参数实现Digest认证。

2024-01-02 09:53:47 613

原创 Python中的__repr__()

在Python中,__repr__() 是一个特殊的方法,用于返回对象的“官方”字符串表示。当你尝试打印一个对象或者将一个对象转换为字符串时,如果没有重写 __repr__() 方法,Python会调用 __str__() 方法。

2023-12-29 17:52:17 507

原创 Python Request源码解读之api.py

api.py这个模块定义了一个名为request的函数,该函数接收一个HTTP方法(如GET、POST等)、一个URL和一些可选的关键字参数(kwargs),然后构建并发送一个HTTP请求。

2023-12-29 17:32:56 390

原创 Python Request源码解读之 adapters.py

requests.adapters 是 requests 库中的一个子模块,它包含了一些用于处理 HTTP 请求的适配器类。这些适配器类主要用于处理与 HTTP 请求相关的各种细节,例如超时、重试、连接池管理等。

2023-12-29 16:59:07 722

原创 Pthon Request库源码解读之__version__.py _internal_utils.py

Pthon Request库源码解读之__version__.py _internal_utils.py

2023-12-28 13:46:57 331

原创 Pthon Request库源码解读之__init__.py

Pthon Request库源码解读之__init__.py

2023-12-28 09:59:21 442

原创 Python requests库 概述

Python的requests库是一个非常流行的HTTP客户端库,用于发送HTTP请求。它提供了一个简单易用的API,使发送各种HTTP请求变得非常简单

2023-12-28 09:33:14 1303

原创 Jinja2是一种基于Python的模板引擎

Jinja2是一种基于Python的模板引擎,用于生成HTML或其他文本文件。它具有简洁的语法和强大的功能,使得模板的编写和维护变得简单而高效。

2023-12-27 11:28:48 1391

原创 Pyeapi是一个Python API框架,它提供了一种简单的方式来构建、部署和管理API

Pyeapi是一个Python API框架,它提供了一种简单的方式来构建、部署和管理API。Pyeapi基于Python语言,可以帮助开发人员快速构建、测试和部署API。它提供了一组易于使用的工具和库,使开发人员能够轻松地创建、调试和优化API。Pyeapi还支持多种API风格,包括RESTful、SOAP和gRPC等2。

2023-12-27 10:44:39 359

原创 Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。

Paramiko是一个Python实现的SSH2远程安全连接模块,它支持认证及密钥方式。具体来说,Paramiko是一个用于实现SSHv2协议的模块,它可以用于创建SSH客户端或服务器端。通过使用Paramiko,你可以连接到远程服务器、执行命令、传输文件等操作。Paramiko还支持多种认证方式,包括口令认证和公钥认证,以及多种密钥交换算法和压缩方法。使用Paramiko模块可以编写Python代码,实现SSH相关功能,例如文件传输、远程执行命令等

2023-12-25 16:51:38 1187

原创 Pexpect 是一个 Python 库,用于自动化与终端交互的任务

Pexpect 是一个 Python 库,用于自动化与终端交互的任务。它提供了一种简单的方式来编写脚本,以便与终端程序进行交互。以下是 Pexpect 的一些常用参数和方法的更详细说明:

2023-12-25 16:01:44 1316

原创 U-Boot(Universal Boot Loader

U-Boot(Universal Boot Loader)是一个开源的、通用的引导加载程序,主要用于嵌入式系统的启动和初始化。以下是U-Boot的一些具体作用和参数的详细解释:

2023-12-22 18:01:52 1039

原创 C语言 空指针导致内存溢出

当程序中的指针为空时,它指向的是一个无效的内存地址。如果程序尝试通过这个空指针来访问或写入内存,就会导致所谓的"空指针解引用"错误。

2023-12-22 16:55:16 993

原创 fdisk工具详解

fdisk 是一个在Unix和类Unix系统中用于管理磁盘分区的强大工具。以下是对你列出的每个参数的解释和示例

2023-12-21 11:09:48 1055

原创 ping 命令详解

ping 命令是用于测试网络连接性的常用工具。以下是每个参数的详细说明和举例:

2023-12-20 16:55:28 866

原创 Grep工具详解

示例:grep -I ‘hello’ file1.txt file2.bin 会搜索文本文件 file1.txt 中包含 “hello” 的行,但忽略二进制文件 file2.bin。示例:grep -D ‘hello’ file1.txt file2.txt 会搜索整个文件内容中包含 “hello” 的行,并显示所在文件的名称。示例:grep -i ‘hello’ file.txt 会匹配 “Hello”, “HELLO”, “hElLo” 等。

2023-12-20 13:54:30 859

原创 .bash_history|.bashrc|.bash_logout|.profile的作用分别是啥

需要注意的是,对于 bash,.profile 和 .bash_profile 都可以用于此目的,但它们的行为可能略有不同。当用户启动一个新的非登录 shell 时,.bashrc 文件会被执行。这通常用于设置环境变量、别名、函数等。这些文件通常位于用户的家目录中(例如 /home/username/.bashrc),并且通常以点(.)开头,这意味着它们是隐藏文件。当用户退出登录 shell 时,.bash_logout 文件会被执行。每当用户退出 shell 时,新的命令历史会被追加到这个文件中。

2023-12-18 15:19:19 719

原创 Rsyslog 8.1901.0 配置Tls模式加密传输log

Rsyslog 8.1901.0 配置Tls模式

2023-12-18 11:32:43 843

原创 certtool 生成自有证书

certtool 是一个用于处理X.509证书的工具,它是由GNU的libksba库提供的。首先,您需要一个CA的公钥和私钥。这将使用您的CA公钥和私钥以及证书请求来创建一个PKCS10格式的证书,并将其保存为 mycert.pem。这将使用先前生成的私钥创建一个PKCS10格式的证书请求,并将其保存为 myreq.csr。这将验证证书链是否有效。如果证书链无效或缺少任何中间证书或根证书,该命令将显示错误消息。这将生成一个2048位的RSA私钥,并将其保存为 mykey.pem。这将显示关于证书的信息。

2023-12-15 14:39:14 525

原创 Python Click 简单使用说明

Click是一个Python的命令行接口库,它由Alexandru Dutra和Ignacio Vergara于2010年创建。Click的目标是提供一种简单而灵活的方式来创建命令行应用程序。

2023-12-14 15:12:17 669

原创 Netlink是Linux内核提供的一种用于内核与用户空间进程之间通信的机制。

Netlink是Linux内核提供的一种用于内核与用户空间进程之间通信的机制。它允许内核向用户空间发送消息,同时也可以接收用户空间的请求并做出相应的响应。

2023-12-14 10:05:21 732

原创 socket是如何进行通信的

Socket通信的基本原理是基于TCP/IP协议栈的。简单来说,Socket是网络中的一种端点,客户端通过Socket与服务器进行连接和通信。

2023-12-13 19:40:56 430

原创 C代码从编译到运行都经历了什么

代码从编译到运行经历了一系列的过程,下面我将详细说明这个过程,并配以代码说明。

2023-12-13 15:43:24 388

原创 C语言内存池的使用场景和代码示例

C语言 内存池的使用场景和代码示例

2023-12-13 10:35:02 729

原创 C语言 内存池代码解析

这个内存池用于存储 demo_test_t 类型的对象。demo_test_main_init 函数是主初始化函数,它调用了 demo_pool_init 来初始化内存池。VLIB_NODE_FN(demo_test_input_node) 定义了一个名为 demo_test_input_node 的输入节点函数。VLIB_INIT_FUNCTION(demo_test_main_init) 是一个宏,用于将 demo_test_main_init 函数注册为需要执行的初始化函数。

2023-12-13 10:30:19 407

原创 C memmove的使用

memmove是一个C语言标准库函数,用于将一定数量的字节从一个内存位置移动到另一个内存位置。packet - 4:目标内存区域的起始地址(也就是memmove的dest参数)。packet - 8:源内存区域的起始地址(也就是memmove的src参数)。总结一下,这行代码的意思是:将从packet开始,向前偏移8个字节的内存区域中的数据,移动到从packet开始,向前偏移4个字节的内存区域中。移动的字节数是固定的,由8加上一个计算值。这行代码的意图是将一块内存区域的内容移动到另一块内存区域。

2023-12-12 19:54:00 371

原创 C语言中的柔性数组

在这个例子中,我们创建了一个名为FlexArray的结构体,它包含一个整数size和一个柔性数组data。假设有一个结构体structS,其中最后一个元素是一个大小未知的字符数组a,即柔性数组。C语言中的柔性数组(Flexible Array Member)是一种特殊的数组,它被定义在结构体的最后一个元素中,其大小未知,也就是所谓的0长度。通过使用柔性数组,我们可以在结构体中创建可变长的数组,以适应程序运行时的需要。需要创建一个可调整大小的数组的情况。例如,需要一个可以动态扩展和缩小的数组。

2023-12-12 19:49:34 549

原创 C语言预读取技术 __builtin_prefetch

__builtin_prefetch 是一个编译器内置函数,用于在编译时向编译器发出指令,要求在执行期间预取内存数据。它通常用于提高程序的性能,特别是对于那些需要频繁访问内存的情况。

2023-12-11 14:05:42 1058

原创 C语言为啥要使用宏定义和宏展开

例如,当预处理器在处理某个包含__include_action_path_tools.h__的文件时,如果__include_action_path_tools.h__已经被包含过一次,那么__include_action_path_tools.h__后面的代码就不会再被编译,从而避免了重复包含的问题。:#ifndef是"if not defined"的缩写,意思是如果__include_a_path_tools_h__这个宏没有定义,那么以下的代码将会被包含在编译中。#ifndef的作用。

2023-12-11 09:21:56 391

原创 Python logging 日志模块及代码示例

Python 的 logging 模块提供的一个处理器,它用于将日志记录消息放入一个队列中,而不是直接写入日志文件或发送到控制台。:将日志记录写入到指定的文件中,并在文件大小达到指定大小时,将当前文件备份并创建一个新的日志文件。:将日志记录写入到指定的文件中,并在指定的时间间隔到达时,将当前文件备份并创建一个新的日志文件。这种Handler通常用于远程日志记录,可以将日志记录发送到远程服务器进行处理。将日志记录存入内存中的指定缓存,当缓存达到指定大小后,将缓存中的日志记录写入到指定的文件中。

2023-12-11 09:10:47 819 2

原创 C语言编译时有哪些优化项及参考示例

C语言编译时有哪些优化项及参考示例

2023-12-08 15:26:34 1408

原创 Python Tacacs故障诊断记录

如果用户没有提供用户名,那么服务器可以发送另一个TAC_PLUS_AUTHEN_STATUS_GETUSER请求,但是服务器必须限制允许的重试次数,建议限制为三次。该会话由一个单独的START,接着是零个或更多对REPLYs,然后CONTINUEs,最后是一个是表示PASS、FAIL或ERROR的回复。第三步,对比差异,家里用的Cisco的3A进行验证的,客户使用的是一家国内品牌做的3A鉴权服务,那问题可能出现在这里。解读代码,因为我们的代码是直接调用插件的,所以没有设置的值使用的是默认值。

2023-12-08 14:27:16 941

原创 Python TACACSClient unpacked代码解析

在Python中,@classmethod是一个装饰器,用于将一个方法变为类方法。这样的方法可以访问类,但不能访问实例。这是与实例方法(即没有装饰的方法)的主要区别。一个类方法可以这样定义:在这个例子中,@classmethod告诉Python解释器my_class_method应该被视为类方法。cls参数是类本身,而不是类的实例。你可以使用这个参数来调用其他类方法,访问类属性,或者调用在其他类中定义的方法。注意,虽然类方法可以访问类,但它们不能访问实例。如果你需要访问实例,你需要使用实例方法。同时,注意

2023-12-07 14:08:33 439

原创 在C语言中,单引号和双引号的区别

在这个例子中,编译器会因为试图将一个包含多个字符的字符串赋值给一个单个字符的数组而报错。在C语言中,单个字符应该用单引号包围,而字符串应该用双引号包围。在这个例子中,"test"是一个字符串,它由双引号包围。a是一个字符数组,它被初始化为这个字符串。每个字符(t, e, s, t)都存储在a数组中。在C语言中,单引号和双引号用于表示不同类型的字符和字符串。

2023-12-07 10:10:49 1260

原创 SQL注入攻击

什么是SQL注入攻击?SQL注入攻击是指利用应用程序对用户输入的数据合法性没有判断的漏洞,攻击者在Web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

2023-12-06 17:46:01 566

原创 Linux bin包生成

在实际项目时我们很少把源码用个tar给到客户,这样显得很不专业,且有的时候我们提供补丁,那么这个时候我们提供一个补丁的bin包可以直接安装运行就显得很高大上了。

2023-12-06 15:36:23 675

原创 Dpkg常用命令详解及使用手册

dpkg是Debian系列Linux发行版中的重要命令,用于管理安装的软件包。dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包、配置,以及维护已安装的软件包,也是Debian系统中众多软件包管理工具的后端。有关dpkg的更多介绍参阅:dpkg -i package_file:安装指定的软件包。dpkg -r package:删除已安装的软件包,但保留配置文件。dpkg -P package:完全清除已安装的软件包,包括删除配置文件。

2023-12-06 10:29:48 2533

原创 Klish 安装及使用说明

一、Klish框架简介:命令行界面(CLI)应用程序被广泛使用。无论是网络设备管理、系统配置还是软件调试,命令行界面提供了一种高效和灵活的交互方式。同时为了简化命令行界面的开发过程,Klish框架应运而生。Klish 是一个基于 C 语言开发的交互式命令行接口(CLI)工具,它提供了一种简单而灵活的方式来创建和管理命令行界面。Klish 允许开发者定义命令、选项和参数,以及相应的操作和输出。使用 Klish我们可以自由构建自定义的命令行界面,以满足特定的需求。二、下载源码三、安装依赖。

2023-12-05 19:38:47 698

原创 SNMP 自定义节点开发

对象标识符:对象标识是一个整数序列,以点(“.”)分隔。这些整数构成一个树型结构MIB管理信息库:在RFC1213中详细描述,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。当对MIB变量进行操作,如查询和设置变量的值时,必须对MIB的每个变量进行标识。只有叶子结点是可操作的。SNMP没法处理表格的一整行或一整列,在MIB中所有实例标识都是按照字典序进行排序的。在编写私有MIB文件时,要遵循ASN.1语法规则。

2023-12-05 18:36:01 924

Arista Networks has become a key player when it comes to softwar

Table of contents : Cover Copyright Table of Contents Preface Who Should Read This Book Conventions Used in This Book Using Code Examples O’Reilly Online Learning How to Contact Us What’s Changed A Quick Note About Versions A Quick Note About Hardware A Quick Note About Code Examples Acknowledgments Content Disclaimer Chapter 1. Why Arista? A Brief History of Arista Key Players The Needs of a Data Center Data Center Networking The Case for Low Latency What About the Enterprise? Network-Based Sto

2023-12-25

In computer science, a red–black tree is a specialised binary

In computer science, a red–black tree is a specialised binary search tree data structure noted for fast storage and retrieval of ordered information, and a guarantee that operations will complete within a known time. Compared to other self-balancing binary search trees, the nodes in a red-black tree hold an extra bit called "color" representing "red" and "black" which is used when reorganising the tree to ensure that it is always approximately balanced.

2023-12-15

红⿊树(英y¥Red–black tree)是⼀种⾃平⼆查找树,是在计算机科-中⽤的⼀种据结构

红⿊树(英y¥Red–black tree)是⼀种⾃平⼆‚查找树,是在计算机科_中⽤è的⼀种f据结 é,典型⽤ë是实现Ó联f组。–在1972年由鲁˜夫·⻉尔发明,˜T为「对T⼆‚B树」,–现 代的áAì于利奧尼›Ù·J·吉巴Ù和罗伯v·×奇克于1978年 的⼀论’。红⿊树的结éú 杂,但–的操作有ÁÅÈ的坏情况>⾏时间,且在实中‡,¥–可z在 时间内ª 成查找、o·和删F,这⾥的 是树中元的f⽬

2023-12-15

Christmas.marry.zip

提供一个可执行的Python程序,两句简单的交互,生成贺卡语言, 这个可执行程序主要想恋爱的对象开放

2023-12-08

Python 这是一个生成圣诞树和祝福语的小程序,你可以输入两句祝福语分别表示男方和女方的祝福

Python 这是一个生成圣诞树和祝福语的小程序,你可以输入两句祝福语分别表示男方和女方的祝福。 适合的人群男女双方在圣诞节进行祝福时使用

2023-12-08

一个简单的 C 语言烟花代码示例,可以在控制台上显示烟花效果

c语言烟花代码,一个简单的 C 语言烟花代码示例,可以在控制台上显示烟花效果

2023-12-06

klish-2.2.2.tar.xz

The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files.

2023-12-06

Linux一键生成bin包资源下载

Linux一键生成bin包资源下载,在实际项目时我们很少把源码用个tar给到客户,这样显得很不专业,且有的时候我们提供补丁,那么这个时候我们提供一个补丁的bin包可

2023-12-06

klish-3.0.0.tar.xz

The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files.

2023-12-06

空空如也

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

TA关注的人

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