- 博客(25)
- 问答 (2)
- 收藏
- 关注
原创 ndpi使用示例
``int ret;if(!ERROR;if(rc!ERROR;if(ret!= 0) {ERROR;``````int i, ret;if(!g_ctx) {ERROR;for(i = 0;i++) {if(!ERROR;if(rc!ERROR;if(ret!= 0) {ERROR;for(i = 0;i++) {```
2024-11-06 14:06:38
417
原创 NDPI介绍和应用
NDPI (nDPI) 是一个开源的深度包检测(DPI)库,由意大利网络研究和监测公司 NetFilter 开发。nDPI 的主要功能是识别网络流量中的应用协议,nDPI 是一个库,可以很容易地集成到其他项目中。设置位掩码来控制哪些协议应该被检测。通过这种方式,用户可以灵活配置 nDPI 协议检测模块,启用或禁用特定的协议检测。入参:struct ndpi_global_context *g_ctx #入参一般为NULL,ndpi_risk *flow_risk :检测结果,安全风险评分或风险信息。
2024-11-06 14:02:05
1495
原创 日志审计-graylog ssh登录超过6次告警
PAM日志将会追加trytime1Failed password将会追加server_ipGraylog Alert聚合规则PAM日志聚合规则1、字段匹配首先过滤日志中的字段在进行聚合匹配前先对周期内的日志根据源目的IP分类对同类日志,配置聚合规则,失败次数大于4就告警测试尝试登录,且填写错误密码,登录6次查看告警内容问题:1、graylog运行状态graylog所有的功能都是基于日志的,如果不能连续提供日志,grayLog所有功能就会暂停;
2024-08-22 19:42:11
1051
原创 日志审计Graylog 使用教程-kafka收取消息
Graylog 常用于 IT 运维、安全监控、故障排查等场景,通过对日志数据的集中管理和分析,帮助企业提高系统的可观测性和问题解决能力。产生的告警内容,我们自定义字段“renyuan”他的value通过映射表username关联到的。我们创建映射表时,通过username查找department内容,并添加到告警自定义字段中。他作为动态数据获取,比如IP 地理位置等,根据日志某个字段的信息从XX库找到对应的数据。这里内容是kafka生产的消息,只作为日志,可以对每个字段配置提取。
2024-08-19 20:50:40
2663
1
原创 Wireshark - tshark支持iptables提供数据包
cf_init_iptables接口完成初始化工作,cf是全局的数据,数据包信息,数据包状态相关,比如处理多少,丢掉多少,提供的解码工具等外来数据。其中第一个条件if (cf_name)这里是读文件的形式,使用是通过-r *.pcap判断的,第二个else位置,里面是capture用来监听网口通过-I eth0使用。//绑定上我们创建的队列。running_get_pkt_from_nfqueue0接口完成iptables初始化,创建接收队列数据包的回调,将数据包接入到tshrak的解密解码逻辑。
2024-07-01 17:56:49
814
原创 wireshark源码分析 是怎么完成协议识别的
在wireshark中,他所有的协议相关操作,都是通过一个全局变量处理的,变量的内容就是一个关于接口描述和接口回调的成员。通过process_packet_single_pass处理单个数据包,每层数据包都会使用decode_udp(tcp)_ports识别协议,这里面提供端口和特征识别;很简单,对比其他工具特征识别逻辑(比如suricata的hyperscan),wireshark针对特征识别真的很简单。关于特征识别,wireshark是不太注重的,因为其使用场景多为协议分析,读取文件的形式。
2024-06-05 15:29:09
695
原创 wireshark-cli工具Tshark工具使用教程
tshark为wireshark工具的命令行版本呢, 在服务器版本服务器上,通过tshark工具可以实现和wireshark相同的功能。工具使用wireshark默认配置,对于wireshark一些常用的首选项,也可通过tshark -o [key:value]修改。dumpcap子进程负责数据包捕获并将数据包写入文件,tshark进程负责将文件中的数据包读取后并解密打印到终端。包长度,数量偏移,一些命令,包括pcap文件名称。根据管道返回的文件创建文件的描述符。tshark进程拥有的描述符。
2024-05-06 10:49:49
976
1
原创 java 模糊测试jazzer使用教程
文件是一个重现文件,期内部逻辑为先调用待测类注册的关于模糊测试初始化接口fuzzerInitialize,如果没有则调用内置接口。FuzzedDataProvider类是Jazzer提供的用于获取模糊测试数据的工具类。consumeString(int length): 以模糊方式获取指定长度的字符串。consumeBytes(int count): 以模糊方式获取指定长度的字节数组。结果文件跟源文件的关系:结果文件保留了导致源文件异常的数据,并可以重现异常现象。代码中,类内提供的测试入口内抛出了异常。
2024-02-08 10:35:37
982
原创 ubuntu原始套接字多线程负载均衡
在原始套接字多线程负载均衡中,需要选择适当的负载均衡算法,确保不同线程间的数据包分发均匀。多线程负载均衡的目标是将网络流量有效地分发到不同的线程中,以充分利用系统资源。通过使用源 IP、目标 IP、源端口、目标端口等数据包头部信息进行哈希运算,将相同会话的数据包映射到相同的线程。这样可以确保相同连接的数据包被分发到同一个线程,避免了连接状态的维护问题。为了最大程度地提高性能,需要考虑线程间的通信开销、锁的使用、以及可能的瓶颈。按照轮询的顺序将数据包分发到不同的线程,确保每个线程都有机会处理数据包。
2024-02-05 14:56:19
840
1
原创 suricata构成-线程分布-功能讲解
根据提供的接口完成woker线程的启动,这个接口里面的循环次数取决于yaml配置文件af-packet项内有几个接口。// 运行提供的启动接口,对于af-packet worker启动接口为 RunModeIdsAFPWorkers。// 提供接口对应项配置解析器(af-packet),提供获取线程数量的回调接口。传入线程数量获取接口,收包,解码,线程名称,接口名称,接口对应配置信息。// 接口完成主线程的创建,并将线程交给主线程的tv_root。//接口实现,激活收包流程,处理数据包。
2024-02-02 18:07:01
1081
原创 Beyond Compare 4软件30天试用重置工具
链接:https://pan.baidu.com/s/1E3I03CVy4_--J3arFS9ZNw?
2024-02-01 11:47:27
593
1
原创 suricata基础介绍
报文处理流程->匹配协议->查看是否存在关于该协议的规则->根据header(五元组)确定使用的规则->异步处理(流处理:规则判断)->流处理(生成事件)->规则(决定对报文的动作)该部分依赖suricata的协议处理,通过suricata.yaml文件给定规则文件内容,通过文件中编写的规则对固定协议的流量进行检测,对命中规则细节的报文进行对应动作处理。Suricata 用户协会维护的一个中文文档,覆盖了 Suricata 的基础知识、安装配置、使用教程、高级功能等方面内容。Suricata 中文文档(
2024-01-29 18:08:53
1709
原创 suricata 开源工具学习-自定义协议开发
suricata协议解析存在PM、PP、PE三种模式,其中PM为数据报关键特征匹配,即匹配报文字段(类似规则中的content字段),PP为端口匹配,即服务器目的端口值匹配命中即确定为协议,最后一个PE为字节流匹配,目前常规只有FTP-DATA协议,其协议会根据FTP commend计算并创建紧跟的子协议。注册协议接口:在AppLayerParserRegisterProtocolParsers接口中插入协议的注册接口,在这个文件中要加入头文件。这里遍历结构查看是否存在异常,比如请求处理中加入的事件。
2024-01-25 11:53:50
1996
2
原创 linux 消息发布工具-kafka
rd_kafka_topic_partition_list_new()创建,创建时指定长度,通过rd_kafka_topic_partition_list_add()添加 主题-分区对,用于订阅消息。对消费者来讲,订阅主题,轮询接收消息。Type:RD_KAFKA_PRODUCER是创建生产者类型,RD_KAFKA_CONSUMER是创建消费者类型。释放队列,类型为rd_kafka_topic_partition_list_t。返回值:rd_kafka_conf_res_t 枚举,错误写入errstr中。
2024-01-24 14:39:59
1087
1
原创 markdown编写教程
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2024-01-24 14:33:09
459
1
原创 suricata 开源工具学习-规则了解
匹配信用卡号码: pcre:"/([0-6]\d\d|7[0-256]\d|73[0-3]|77[0-2])-\d{2} - \d{4} /";1. TTL:匹配指定的TTL指,可使用关系运算符(< , =, >),可以用来识别操作系统类型。针对检测http流量的规则,Suricata提供了http流重组能力,同时提供了用于编写HTTP流量相关的更高效的规则修饰器。2. dsize:匹配一个指定payload大小的数据包,可使用关系运算符(< , =, >)
2024-01-24 14:29:09
1579
1
原创 wirshark解密TLS数据包
【原因】不支持下列加密套件解密,为对称加密,仅支持RSA的非对称加密数据,进行解密。4、单击TLS1.2协议报文,右键选择协议首选项,添加服务器私钥。3、通过wireshark抓包,抓到完整报文。5、可以看到解密之后的,HTTP报文。导入服务器私钥,解密TLS报文失败。2、客户端浏览器访问服务器地址。
2024-01-24 09:51:42
3821
4
原创 suricata 开源工具学习-规则 关键字开发应用
查看默认规则位置,打开suricata.yaml文件,找到rules部分,追加test.rules。这个规则的含义,数据包中存在连续ascll值http内容,且tcp首尾值10进制为104,110。suricata提供了组件式的开发方式,在SigTableSetup注册所有规则关键字。从上得出结论,每个检测关键字提供了三个检测功能,分别为数据包匹配,协议流匹配,和文件匹配。这个匹配接口实现,数据包负载部分首尾值匹配,匹配条件取决于规则中给出的首尾10进制内容。版本中使用,因为他是裁剪的所以我还是用主干。
2024-01-22 16:56:33
1239
原创 suricata流表管理-流新建
FlowGetFlowFromHash分为三部分,流表空的状态处理,流表与数据包完成hash匹配为数据包关联对应的流。FlowWoker接口中处理每个数据包,通过FlowHandlePacket完成对每个数据包的流匹配和新建工。2)匹配到对应的流表,把这个表节点放在头部,并判断节点是否为待关闭状态(配置新的流)3、如果第一条流就是匹配的流,判断节点是否为待关闭状态(配置新的流)1)下一节点为空,拿一个新的节点放在流表头部。2、如果流表中有数据且头节点流不匹配数据包。
2024-01-11 15:04:12
465
原创 gprof基础说明
因此,可以使用一些可视化工具来将性能分析数据可视化,以便更好地理解程序的性能瓶颈和优化方向。gprof 是一个用于分析程序性能的工具,可以用来找出程序的性能瓶颈,并根据结果进行优化。要使用 gprof 进行程序性能分析,需要在编译程序时添加 -pg 选项,以告诉编译器生成用于性能分析的代码。gprof 是一个非常实用的性能分析工具,可以帮助开发人员找出程序的性能瓶颈,从而进行优化和改进。通过 gprof 的性能分析结果,可以找出程序的性能瓶颈所在,从而进行针对性的优化。代表接口运行时间占比。
2023-04-25 08:27:25
810
every thingwindows搜索工具
2024-01-24
windows CE内存调试CheatEngine75版本
2024-01-24
网络调试助手-tcp-udp-串口调试
2024-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人