自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

原创 SCL升级与管理gcc版本

转载 https://www.eet-china.com/mp/a249420.html。

2023-12-14 09:41:15 691

原创 smb 服务器搭建

share]666666。

2023-12-06 10:38:45 122

原创 coredump

一、设置通过查看core_pattern文件,发现其确实指定了一个路径,于是我前往那个路径,发现竟然是脚本程序,后来查看说明文件,才知道core_pattern中如果首先指定了一个 ‘|’ 管道符,则会将生成的core文件传递给后面所跟的脚本去处理。至此,也就确定了问题的原因,| 管道符后面的脚本将我们的core文件给吞了,解决方法自然就是去掉这个脚本,换成自己指定的目录,要保证存放Coredump的目录存在且进程对该目 录有写权限。

2023-12-06 10:14:22 301

原创 stl 容器内存

【代码】stl 容器内存。

2023-11-22 14:06:57 166

原创 使用io_uring

包括一个完整的管道屏障,但IO_uring还支持更细粒度的sqe序列控制, 其中每个sqe的执行取决于前一个sqe的成功完成, 要使用此功能,如果前一个sqe没有完全完成,则链将断开,链接的sqe将被取消应用程序必须在sqe标志字段中设置。注册io_uring实例,或者将其传递给io_uring_queue_init(3)。要使用IO轮询,必须在传递给io_uring_setup(2)系统调用或传递给io_uring_queue_init(3)库帮助程序的标志中设置。当这种情况发生时,线程将在。

2023-11-09 18:04:31 186

原创 提升服务器性能相关

影响服务器性能的维度

2023-11-09 17:37:47 88

原创 dmesg 崩溃分析

是由三个字位组成的,从高到底分别为bit2 bit1和bit0,所以它的取值范围是0~7. 此例为6 -> 110。bit0: 值为1表示没有足够的权限访问非法地址的内容,值为0表示访问的非法地址根本没有对应的页面,也就是无效地址。根据 上述的 1100 位置指令 movl 命令,在函数add() 中,并且为赋值命令,则为第6行出错。bit2: 值为1表示是用户态程序内存访问越界,值为0表示是内核态程序内存访问越界。bit1: 值为1表示是写操作导致内存访问越界,值为0表示是读操作导致内存访问越界。

2023-10-07 17:23:42 584

原创 VPP 编译记录

VPP 编译

2023-06-01 11:14:54 559

原创 关键数据结构 -- sk_buff

struct sk_buff,一个封包就存储在这里。所有网络分层都会使用这个结构来储存其报头、有关用户数据的信息(有效载荷),以及用来协调其工作的其他内部信息。这可能是 Linux 网络代码中最重要的数据结构,代表已接收或正要传输的数据的报头。此结构定义在<include/linux/skbuff.h>头文件中,由巨大的变量堆( heap )组成,试图满足所有人的所有需求。......

2022-08-02 14:48:03 1012 1

原创 字符串 IP 地址和二进制 IP 地址的转换

人类理解的IP地址表达方式是类似127.0.0.1这样的字符串;而计算机理解的则是像0111111100000000 00000000 00000001 (127.0.0.1)这样表达的 IP 地址方式。在网络程序的设计中,经常需要进行字符串表达方式的 IP 地址和二进制的 IP 地址之间的转换,将对此类函数进行介绍............

2022-07-14 22:57:53 3427

原创 TCP 网络编程API - write()、read()、close()、shutdown()

数据函数 write() 读取数据函数 read() 关闭套接字函数

2022-07-14 07:17:39 1135

原创 TCP 网络编程API - connect()

connect()函数用以在客户端使用,连接目标网络服务器。客户端在建立套接字之后,不需要进行地址绑定就可以直接连接服务器。连接服务器的函数为connect(),此函数连接指定参数的服务器,例如 IP 地址、端口等。......

2022-07-14 06:56:56 3172

原创 TCP 网络编程API - listen()、accept()

tcp 服务端的listen() 和 accept() 函数

2022-07-13 22:15:55 1961

原创 TCP 网络编程API - bind()

在建立套接字文件描述符成功后,需要对套接字进行地址和端口的绑定,才能进行数据的接收和发送操作。

2022-07-13 14:34:09 883

原创 TCP 网络编程API - socket()

TCP网络编程使用的函数有socket(),bind(),listen(),accept(),connect(),write(),read(),close(),接下来介绍这几个函数的使用。

2022-07-13 13:42:08 205

原创 TCP 网络编程架构

tcp套接字编程使用套接字地址结构和函数与内核交互,最终由内核进行状态维护和协议族的层间交互。

2022-07-13 10:59:44 394

原创 GCC的常用选项及含义

GCC 的选项配置是编译时很重要的选择,例如头文件路径、加载库路径、警告信息及调试等。将对常用的选项进行介绍。

2022-07-03 15:34:27 771

原创 使用 netlink 进行用户空间和内核空间数据交互--内核空间使用

内核空间的 netlink API 与应用程序之间的 API 之间有很多的不同, netlink 内核 API 在文件 net/core/af_netlink.c 中实现。内核 netlink API 可以用于访问内核模块的 netlink 套接字,并和用户空间的应用程序进行通信。...

2022-06-13 14:55:50 1364 2

原创 使用 netlink 进行用户空间和内核空间数据交互--用户空间使用

netlink 包含用户空间的标准套接字接口和用于构建内核模块的内核 API 。 防火墙使用 netlink 进行用户空间和内核空间的通信。

2022-06-13 11:41:57 1032

原创 netfilter 子系统实现tcp断链

netfiler的优势不仅包含防火墙的实现,还包括各种报文的处理工作(如报文的加密,统计等)。可以方便地利用netfilter提供的接口实现内核态的报文处理。在netfilter中可以解析报文,同时根据阻断规则做匹配,将符合阻断的报文直接DROP,但是在tcp的会话中,这样并不优雅,tcp是可靠传输,如果是直接drop掉某一个报文,则发送端会一直重发,所以在tcp的协议中需要向发送端发送一个fin或者是rst的报文,用来断来链接。下面是我测试使用的代码。...

2022-06-10 09:50:11 511

原创 netfilter模块编译和运行

netfilter 模块的Makefile书写和编译过程

2022-06-09 11:31:58 778

原创 sqlite 查询效率对比

众所周知,sqlite3提供了三种查询数据的接口,分别是sqlite3_exec,sqlite3_get_table,sqlite3_prepare_v2,这三种在使用和效率上有什么区别呢?

2022-06-07 14:55:57 3253

原创 sqlite 使用问题总结

sqlite 使用问题总结

2022-05-31 17:23:41 877

原创 sqlite 使用

SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。SQLite是在世界上最广泛部署的SQL数据库引擎。SQLite引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite直接访问其存储文件。...

2022-05-30 10:10:35 1520

原创 Mac 上使用C/C++代码静态检查工具

c/c++静态代码检查工具 cppcheck 和 tscancode

2022-05-19 18:04:02 1628

原创 linux 内核中 hash 的使用

linux 内核中hash 的使用

2022-05-07 17:04:18 1266

原创 计导 第 18 章 人工智能

介绍人工智能的简史和定义,讨论知识表示这个得到很好发展的领域,介绍替代人类专家工作的专家系统,讨论如何模范人类行为的图像处理和语音分析,说明使用不同额搜索方法,专家系统和平凡系统式如何解决问题的,最后讨论在智能体中神经网络式如何模仿学习过程的。凡是过往,即为序章...

2022-02-28 22:23:59 589

原创 计导 第 17 章 计算理论

介绍一种语言,称为简单语言,通过它可以看到计算机解决任何问题所需要的最少语句是三条。介绍一种工具,称为图灵机的计算机模型,可以看到简单语言可以解决的问题也可以用图灵机解决。证明没有任何程序可以知道另一个程序终止与否。证明本身也表明了有些问题计算机是无法解决的。

2022-02-26 10:18:22 826

原创 计导 第 16 章 安全

安全就是为了保护信息,免受攻击。如此信息需要避开未授权的使用(机密性),保护信息不受到未授权的篡改(完整性),并且对于得到授权的实体来说是需要可用的(可用性)。

2022-02-19 14:34:44 3995

原创 计导 第 15 章 数据压缩

压缩数据通过部分消除数据中内在的冗余来减少发送或存储的数据量。压缩方式分为两大类:无损压缩和有损压缩。

2022-02-18 11:23:52 618

原创 计导 第 14 章 数据库

本章主要讨论数据库管理系统,同引入了数据库管理系统的三层体系结构,重点讲解了关系数据库模型并举例说明其运算。同时加少了SQL语句和数据库设计相关概念

2022-02-17 23:34:24 807

原创 计导 第 13 章 文件结构

文件是存储在辅助存储设备或二级存储设备中,文件在二级存储设备中是可以读写的。文件是记录的集合,存取方式决定了怎样检索记录:顺序或者随机的。

2022-02-17 16:58:58 326

原创 计导 第 12 章 抽象数据类型

抽象数据类型(ADT)是一种比数据结构处于更高抽象层的数据类型,ADT使用数据结构来实现,同时隐藏数据上的操作是如何进行的。本章主要讨论栈、队列、树、图的一些基本操作和应用。

2022-02-17 13:54:39 331

原创 suricata -- 流管理系统

suricata中使用 流(Flow)来管理一个会话。考虑到避免频繁分配释放Flow内存,suricata实现了流管理机制来回收与重复利用Flow。不同状态的Flow主要在Flow哈希表,Flow空闲队列,Flow回收队列三个队列中流转。suricata使用不同线程维护这三个队列。

2022-02-16 17:50:54 6143 1

原创 计导 第 11 章 数据结构

数据结构代表了有特殊关系的数据的集合,而这些集合能够单独或作为一个整体访问。即是可以把有关系的基础数据类型组合起来取解决负责问题。

2022-02-11 13:44:47 264

原创 TCP RTT 和乱序重传计算

tcp rtt 和 乱序重传计算

2022-02-09 17:54:04 2356

原创 STL 使用问题 -- 慎重选择排序算法

慎重选择stl中的排序算法

2022-02-08 11:32:29 334

原创 STL 使用问题 -- 正确选择搜索算法

算法中提供了count、find、binary_search、lower_bound、upper_bound和equal_range一系列查找接口。假设你有一个容器,或者有一对迭代器区间,现在希望在容器或者区间中查找一些信息。这样的查找工作怎么进行呢?该用哪一个才是高效简单的呢

2022-02-08 11:28:37 281

原创 STL 使用问题 -- 慎重选择删除元素的方法

慎重选择删除元素的方法

2022-02-08 11:20:28 837

原创 STL 使用问题 -- 选择算法

算法调用优先于手写的循环;容器的成员函数优先于同名的算法

2022-02-08 11:14:12 346

将 suricata 检测流程部分编程成.so,外部程序采集数据并调用此.so,获取检测得到的 alert结果

1、外部调用程序采集网卡数据包,程序调用 libsuri_603.so,将采集到的数据传入。 2、外部程序做线程管理。只在各个子线程中分别调用libsuri_603.so做初始化和检测功能。 3、封装提供给外部程序调用的动态规则加载接口,这个采用单独的线程。 4、至少提供四个接口,分别为初始化,检测数据传入,动态规则加载接口,Destroy。

2022-02-10

空空如也

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

TA关注的人

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