- 博客(85)
- 问答 (2)
- 收藏
- 关注
原创 C/C++开发必备技能
C/C++开发工程师必备的技能非常广泛,涵盖语言基础、算法和数据结构、系统编程、软件工程实践等多个方面。随着技术发展和市场需求的变化,C/C++开发人员还需要关注新的标准和技术趋势,不断更新自己的知识库,以适应行业的快速发展。
2024-03-26 11:49:45 350
原创 windows10 编译ptlib
官方参考链接:http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLib
2024-02-25 20:59:34 508
原创 pcap++编译
pcpp++ windows 编译cmake-3.13.0-win32-x86.msimingw32 i686版本npcap库编译安装mingw32,将bin目录添加到PATH路径安装cmake,将编译
2024-02-22 10:33:37 390
原创 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 171
原创 wireshark数据结构
它们互相配合,协同完成了一系列复杂的工作,使得 Wireshark 可以深入剖析网络流量的细节,并为用户提供丰富的分析功能。同时,所有相关的 epan_dissect_t 结构体会共同构成一个全局的 epan_t 结构体,以反映当前 Wireshark 的分析状态。因此可以说,epan_dissect_t 负责处理单个数据包的具体分析细节,而 epan_t 则负责在整个会话过程中协调和管理这些细节,使得 Wireshark 可以正确地进行复杂的网络数据包分析。
2023-11-22 12:04:54 1152
原创 nss交叉编译
nspr直接交叉编译make时会报错,原因:交叉编译生成了目标平台的nsinstall,而make要在当前平台执行nsinstall。
2023-11-10 16:49:19 185
原创 clamav
On-Access Scanning,需要先启动clamd,clamonacc相当于实时保护功能。clamav有clamd、clamscan、clamdscan、clamonacc等命令。在calmd启动后,直接调用clamdscan可以快速检测文件。clamscan直接检测文件。
2023-11-03 20:52:37 143
原创 suricata学习记录
pcre正则表达式shell语法automakeautogen.shautogen.sh和autoreconf单模匹配、多模匹配AC算法radix tree(IP查找)
2023-09-21 08:55:20 80
原创 linux 信号signal
linux c提供了两个信号处理函数SIG_IGN、SIG_DFL。注:信号SIGKILL、SIGSTOP不可捕获、不可忽略。
2023-09-12 10:28:46 210
原创 suricata tenant
例如,可以使用tenant_id来过滤或标记特定租户的流量,或者在规则中使用tenant_id来定义特定租户的检测规则。通过使用不同的tenant_id,Suricata可以将不同租户的流量进行区分和隔离,以便进行适当的分析和处理。通过将流量与特定的租户或实体相关联,可以基于tenant_id来定义和应用不同的安全策略,例如限制特定租户的访问权限或应用特定的规则集。通过将流量关联到特定的租户或实体,可以更好地理解和识别不同实体的网络行为,例如检测特定租户的异常活动或生成定制的报告。
2023-09-08 16:35:23 203
原创 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 578
原创 创建autotool项目
GNU Autotools是linux系统一套自动化编译工具,生成的项目可以实现可移植,通过configure && make即可生成目标程序。GNU Autotools组件有:autoscan, aclocal, autoconf, automake,autoheader等。不用管这些工具的原理,只要知道他们都是干什么的就行。
2023-06-14 13:26:33 731
原创 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 1973 1
原创 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 890
原创 dpdk rte_ring
首先,rte_ring_enqueue函数可能会阻塞,直到有空间可用于将数据包添加到环形缓冲区中。如果环形缓冲区已满,则rte_ring_enqueue函数将阻塞,直到有空间可用。如果没有足够的空间可用于添加数据包,则程序可能会卡在rte_ring_enqueue函数。例如,程序是否正确地初始化了环形缓冲区,并在调用rte_ring_enqueue函数之前检查了缓冲区是否已满。另一个可能的原因是,程序可能会在调用rte_ring_enqueue函数之前或之后发生了内存泄漏或其他错误。
2023-06-05 21:12:38 685
原创 suricata6 bypass模式
在suricata bypass模式下,网络流量将通过一个网络设备,例如一个网络中继器或一个网络交换机,然后再传递到Suricata实例进行处理。suricata bypass模式是一种特殊的收包模式,用于在Suricata实例和网络之间插入一个网络设备,以便在不影响网络流量的情况下对流量进行检测和处理。需要注意的是,suricata bypass模式需要特殊的硬件支持,例如支持网络中继器模式的网络设备。以下回答来自于GPT-3.5。
2023-06-05 15:50:57 118
原创 suricata收包模式
例如,如果您在Linux系统上运行Suricata,并且想要捕获本地网络接口上的数据包,则应使用AF_PACKET模式。如果您在防火墙上运行Suricata,并且想要捕获经过防火墙的数据包,则应使用NFQUEUE或IPFW模式。它适用于在Linux系统上运行的Suricata实例,可以捕获经过Linux防火墙的数据包。它适用于在Linux系统上运行的Suricata实例,可以捕获本地网络接口上的数据包。此模式还支持混杂模式,可以捕获网络上的所有数据包,而不仅仅是发送到本地接口的数据包。
2023-06-05 10:24:01 379
原创 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 65
原创 WSL docker目录
在ubuntu系统中,你发现找不到目录/var/lib/docker.真正的docker目录位于挂载的docker-desktop-data/data/docker。在Windows上安装wsl和ubuntu后,会在windows资源管理器中看到挂载一个linux目录。
2023-03-13 11:25:35 354
转载 硬盘内部传输速率和外部传输速率的区别
内部传输速度主要是由寻道时间以及数据存储密度决定,外部主要是总线的速度以及硬盘接口类型决定的,目前的串口硬盘要比以前的并口硬盘更快.比较抽像,举个例子吧:内部传输,是指硬盘本身的分区之间的数据传输,从C盘到D盘等,外部传输,是从U盘、移动硬盘这些外设和硬盘之间的数据传输.硬盘数据传输率数据传输率其实分为外部传输率和内部传输率两种,其中前者要比后者快很多,两者之间有一块缓冲区以缓解速度差距.通常称突发数据传输率为外部传输率,指从硬盘缓冲区读取数据的速度;硬盘参数(传输速率)内部和外部的有什么区别?
2022-10-09 16:31:11 1131
原创 The ABI of the selected debugger does not match the toolchain ABI
问题:Qt Creator 设置Kits时,提示The ABI of the selected debugger does not match the toolchain ABI。原因:1、gdb与gcc需保持32bit、64bit一致性2、gdb版本过低解决办法:1、检查gdb与gcc版本2、升级gdb
2022-04-21 16:23:13 3164
原创 QT ninja error multiple rules generate
错误示例: -- Configuring done -- Generating done CMake Error: Running 'D:/Qt/Tools/Ninja/ninja.exe' '-C' 'D:/code/build-EFR-linux247-Debug' '-t' 'recompact' failed with: ninja: error: build.ninja:1802: multiple rules gener...
2022-04-20 19:29:51 2775 1
原创 linux自动挂载NTFS硬盘
安装ntfs-3gyum install ntfs-3g挂载NTFSmount -t ntfs-3g /dev/sda2 /mnt/Windowsps:mount重启之后就会失效CentOS 7 开机自动挂载NTFS更改/etc/fstab,更改前备份下 cp /etc/fstab /etc/fstab.bak/dev/sda1 /mnt/windows ntfs-3g defaults 0 0ps:如果不知道是sda几,用fdisk -l 查看下分区表就可以了。/etc..
2022-04-09 11:13:03 2505
原创 wireshark 源码编译调试
yum install glib2-devel libgcrypt-devel c-ares-devel qt-devel gcc-c++ qt5-qtbase-devel qt5-qtmultimedia-devel qt5-linguist
2022-04-08 14:02:00 1202
空空如也
请教shell中@用法
2022-05-18
STL _Alloc初始化
2022-03-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人