- 博客(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
原创 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
原创 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学习记录
pcre正则表达式shell语法automakeautogen.shautogen.sh和autoreconf单模匹配、多模匹配AC算法radix tree(IP查找)
2023-09-21 08:55:20
122
原创 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
原创 创建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
原创 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
原创 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
原创 WSL docker目录
在ubuntu系统中,你发现找不到目录/var/lib/docker.真正的docker目录位于挂载的docker-desktop-data/data/docker。在Windows上安装wsl和ubuntu后,会在windows资源管理器中看到挂载一个linux目录。
2023-03-13 11:25:35
745
空空如也
请教shell中@用法
2022-05-18
STL _Alloc初始化
2022-03-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人