自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唐装鼠的主页

醒梦一如

  • 博客(95)
  • 问答 (2)
  • 收藏
  • 关注

原创 C++14改动有哪些

C++14 是 C++11 的一个小版本更新,主要目标是改进和扩展 C++11 的功能,而不是引入大量新特性。C++14 的改动主要集中在以下几个方面:(2)返回类型推导C++14 允许函数的返回类型使用 ,编译器会根据 语句自动推导返回类型。(3)放宽 限制C++14 放宽了对 函数的限制,允许函数内部包含更多类型的语句(如局部变量、循环、条件语句等)。(4)二进制字面量C++14 引入了二进制字面量,使用前缀 或 表示。(5)数字分隔符C++14 允许在

2025-02-19 08:57:11 439

原创 C++11主要改动

C++11 的改动涵盖了核心语言、标准库和工具链的方方面面,使 C++ 更现代化、更高效、更安全。如果你对某个具体的改动或特性感兴趣,可以进一步探讨!

2025-02-10 09:16:25 517

原创 VMWARE linux LVM 扩容磁盘分区

这将使 /dev/sda2 占用所有新增的空间,现在sda2大小为99G了。磁盘sda大小已经是100G,sda2分区还是49G.

2025-01-13 19:18:42 342

原创 学习编程语言

有些语言采用基本数据类型的概念,有些语言采用标量类型的概念。这和编程语言的实现有关系。基本数据类型是编程语言实现层面的概念,标量是个数学概念。按值的性质分类:标量类型(单一、不可分割的值)和非标量类型可以分解的值)。按实现方式分类:基本类型(语言内置的简单类型)和复合类型(由基本类型组合而成)。

2024-12-13 11:35:04 231

原创 gvmd组件简介

gvmd没有使用redis,而是使用pg数据库。就是说,gvmd负责持久化的存储,ospd-openvas负责转发任务,而openvas负责执行扫描任务。gvmd会将扫描配置和扫描结果存储在pg数据库中。gvmd和ospd-openvas的通信是通过ospd unix socket服务, 内容格式是xml。gvmd接收GMP协议的扫描请求,构建xml,转发给ospd-openvas进行扫描。ospd-openvas和openvas的通信是通过redis和命令行。

2024-11-29 09:22:15 220

原创 linux线程资源回收

线程栈:线程的栈空间需要被回收。线程标识符:线程的唯一标识符需要被回收。线程局部存储:线程私有的存储区域需要被清理。线程私有数据:线程分配的动态内存需要被释放。线程资源句柄:线程持有的资源句柄需要被释放。通过调用,可以确保这些资源被正确回收,避免资源泄漏。对于分离的线程,资源会在线程终止时自动释放。

2024-11-28 10:59:16 705 1

原创 线程join和detach

默认状态创建的线程默认是可加入的(joinable)。设置分离状态:可以通过将线程设置为分离状态。回收资源:对于可加入的线程,必须调用来回收资源;对于分离的线程,资源会在线程终止时自动释放。

2024-11-28 10:57:06 238

原创 SIGHUP 信号

SIGHUP 信号主要用于处理终端会话的结束,并且常常被用来通知守护进程重新加载配置文件。在编写守护进程时,正确处理 SIGHUP 信号是非常重要的,这样可以保证守护进程能够在各种情况下稳定运行。

2024-09-10 09:16:47 493

原创 nohup与&

nohup用于忽略 SIGHUP 信号,并且自动重定向输出。用于将命令放入后台执行。结合使用nohup和可以确保你的命令在后台运行,并且即使在终端会话结束后仍能继续执行。

2024-09-10 09:13:11 444

原创 SQL server collation与字符集

排序规则和 Unicode 支持:https://learn.microsoft.com/zh-cn/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver15

2024-08-08 13:59:31 226

原创 C/C++开发必备技能

C/C++开发工程师必备的技能非常广泛,涵盖语言基础、算法和数据结构、系统编程、软件工程实践等多个方面。随着技术发展和市场需求的变化,C/C++开发人员还需要关注新的标准和技术趋势,不断更新自己的知识库,以适应行业的快速发展。

2024-03-26 11:49:45 1412

原创 windows10 编译ptlib

官方参考链接:http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLib

2024-02-25 20:59:34 613

原创 pcap++编译

pcpp++ windows 编译cmake-3.13.0-win32-x86.msimingw32 i686版本npcap库编译安装mingw32,将bin目录添加到PATH路径安装cmake,将编译

2024-02-22 10:33:37 741

原创 模式匹配算法汇总

动态规划之 KMP 算法详解彻底搞懂KMP算法原理

2024-02-22 09:49:05 427

原创 dpdk与linux内核版本对应列表

DPDK VersionSupported Linux Kernel Version17.113.10 - 4.1418.113.10 - 4.1819.113.10 - 5.420.114.19 - 5.1021.085.4 - 5.10

2023-12-07 09:43:23 628

原创 tshark libpcap模式代码解析

【代码】tshark libpcap模式代码解析。

2023-11-22 15:48:20 149

原创 wireshark数据结构

它们互相配合,协同完成了一系列复杂的工作,使得 Wireshark 可以深入剖析网络流量的细节,并为用户提供丰富的分析功能。同时,所有相关的 epan_dissect_t 结构体会共同构成一个全局的 epan_t 结构体,以反映当前 Wireshark 的分析状态。因此可以说,epan_dissect_t 负责处理单个数据包的具体分析细节,而 epan_t 则负责在整个会话过程中协调和管理这些细节,使得 Wireshark 可以正确地进行复杂的网络数据包分析。

2023-11-22 12:04:54 1280

原创 nss交叉编译

nspr直接交叉编译make时会报错,原因:交叉编译生成了目标平台的nsinstall,而make要在当前平台执行nsinstall。

2023-11-10 16:49:19 586 2

原创 clamav

On-Access Scanning,需要先启动clamd,clamonacc相当于实时保护功能。clamav有clamd、clamscan、clamdscan、clamonacc等命令。在calmd启动后,直接调用clamdscan可以快速检测文件。clamscan直接检测文件。

2023-11-03 20:52:37 348

原创 suricata源码解析

初始化suricata实例:程序名设置为程序文件名,其他变量复位。

2023-09-21 08:59:57 916

原创 开源asn1c使用

参照文件INSTALL.md。

2023-09-21 08:56:43 398

原创 suricata学习记录

pcre正则表达式shell语法automakeautogen.shautogen.sh和autoreconf单模匹配、多模匹配AC算法radix tree(IP查找)

2023-09-21 08:55:20 122

原创 rte_mempool_get

【代码】rte_mempool_get。

2023-09-14 09:05:36 369

原创 linux 信号signal

linux c提供了两个信号处理函数SIG_IGN、SIG_DFL。注:信号SIGKILL、SIGSTOP不可捕获、不可忽略。

2023-09-12 10:28:46 304

原创 suricata tenant

例如,可以使用tenant_id来过滤或标记特定租户的流量,或者在规则中使用tenant_id来定义特定租户的检测规则。通过使用不同的tenant_id,Suricata可以将不同租户的流量进行区分和隔离,以便进行适当的分析和处理。通过将流量与特定的租户或实体相关联,可以基于tenant_id来定义和应用不同的安全策略,例如限制特定租户的访问权限或应用特定的规则集。通过将流量关联到特定的租户或实体,可以更好地理解和识别不同实体的网络行为,例如检测特定租户的异常活动或生成定制的报告。

2023-09-08 16:35:23 310

原创 DPDK主从进程模式 rte_mempool_put失败

原因:DPDK通过rte_mempool_ops_table.ops来存储当前应用支持的mempool,这些mempool是跟编译时连接的librte_mempool库有关系的。但是,DPDK是通过rte_mempool的ops_index成员来表示自己是用的哪个实现,而主从进程相同rte_mempool的ops_index是相同的。stack\lcore:stack_lcore内存池是一种特殊的内存池实现方式,它与特定的lcore(逻辑核心)相关联。heap内存池适用于需要动态分配和释放内存的应用程序。

2023-08-23 16:57:01 726

原创 suricata6 detect

【代码】suricata6 detect。

2023-06-29 11:28:51 224

原创 vscode识别头文件

【代码】vscode识别头文件。

2023-06-14 14:29:13 433

原创 创建autotool项目

GNU Autotools是linux系统一套自动化编译工具,生成的项目可以实现可移植,通过configure && make即可生成目标程序。GNU Autotools组件有:autoscan, aclocal, autoconf, automake,autoheader等。不用管这些工具的原理,只要知道他们都是干什么的就行。

2023-06-14 13:26:33 780

原创 H.323协议解析

h323plus是一个开源的H.323协议栈,用于实现IP电话、视频会议和多媒体流传输等应用。它是OpenH323项目的一个分支,提供了更多的功能和改进。以下是一些可能有用的信息,以帮助您了解h323plus项目的介绍:功能:h323plus提供了一个完整的H.323协议实现,包括H.225、H.245、Q.931和RAS等协议。它还提供了一些额外的功能,如支持IPv6、TLS和SRTP等协议,以及支持多个音频和视频编解码器。改进:相对于OpenH323项目,h323plus提供了更多的改进和优化。

2023-06-13 13:50:51 2821 2

原创 DPDK多进程

主从进程必须用同样的–file-prefix参数,否则会报错。主进程如果写错–file-prefix参数,初始化内存将会失败,错误信息:EAL: FATAL: Cannot init memzone。从进程如果写错–file-prefix参数,版本校验将会失败,错误信息:Primary and secondary process DPDK version mismatch。主进程启动后会在目录/run/dpdk目录下创建一个以–file-prefix参数值命名的目录,这个目录就是prefix。

2023-06-09 20:39:32 1018

原创 shell解析长参数

/以下代码来自于GPT3.5。

2023-06-09 09:59:37 326

原创 suricata6 workers 流程

suricata6 数据包处理流程

2023-06-07 17:24:14 787

原创 dpdk rte_ring

首先,rte_ring_enqueue函数可能会阻塞,直到有空间可用于将数据包添加到环形缓冲区中。如果环形缓冲区已满,则rte_ring_enqueue函数将阻塞,直到有空间可用。如果没有足够的空间可用于添加数据包,则程序可能会卡在rte_ring_enqueue函数。例如,程序是否正确地初始化了环形缓冲区,并在调用rte_ring_enqueue函数之前检查了缓冲区是否已满。另一个可能的原因是,程序可能会在调用rte_ring_enqueue函数之前或之后发生了内存泄漏或其他错误。

2023-06-05 21:12:38 933

原创 suricata6 bypass模式

在suricata bypass模式下,网络流量将通过一个网络设备,例如一个网络中继器或一个网络交换机,然后再传递到Suricata实例进行处理。suricata bypass模式是一种特殊的收包模式,用于在Suricata实例和网络之间插入一个网络设备,以便在不影响网络流量的情况下对流量进行检测和处理。需要注意的是,suricata bypass模式需要特殊的硬件支持,例如支持网络中继器模式的网络设备。以下回答来自于GPT-3.5。

2023-06-05 15:50:57 216

原创 suricata6 device

pre_live_devices:临时存储devicelive_devices:存储最终的device。

2023-06-05 13:36:46 126

原创 suricata收包模式

例如,如果您在Linux系统上运行Suricata,并且想要捕获本地网络接口上的数据包,则应使用AF_PACKET模式。如果您在防火墙上运行Suricata,并且想要捕获经过防火墙的数据包,则应使用NFQUEUE或IPFW模式。它适用于在Linux系统上运行的Suricata实例,可以捕获经过Linux防火墙的数据包。它适用于在Linux系统上运行的Suricata实例,可以捕获本地网络接口上的数据包。此模式还支持混杂模式,可以捕获网络上的所有数据包,而不仅仅是发送到本地接口的数据包。

2023-06-05 10:24:01 719

原创 suricata flow分配

调整空闲flow数量,空闲flow总数少于预配置的flow个数的90%则补齐,空闲flow总数多于预配置flow个数的110%则释放。FlowSparePool初始化flow_config.prealloc个(配置节点flow.prealloc);FlowQueuePrivate初始化flow_spare_pool_block_size=100个。

2023-06-02 17:02:55 124

原创 vscode rust远程开发环境搭建

参考:https://www.runoob.com/rust/rust-setup.html。

2023-05-23 14:43:42 1396

原创 WSL docker目录

在ubuntu系统中,你发现找不到目录/var/lib/docker.真正的docker目录位于挂载的docker-desktop-data/data/docker。在Windows上安装wsl和ubuntu后,会在windows资源管理器中看到挂载一个linux目录。

2023-03-13 11:25:35 745

空空如也

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

TA关注的人

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