NTA流量分析基础 and 开源项目(持续整理)

本文介绍了多种网络监控工具如arkime、suricata及zeek等,并探讨了包括DPI深度包检测技术在内的关键技术。此外,还深入讨论了软中断和硬中断的区别,以及NAPI和DPDK在网络数据高效传输中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、arkime

arkime是一个开源的、大型的IPv4 PCAP,用于索引和收集数据库系统,以前名字叫moloch

https://arkime.com/

2、suricata

3、zeek

https://zeek.org/

4、snort

5、libnids

6、tcpflow

7、wireshark

8、天旦科技的packet-agent

https://github.com/Netis/packet-agent

9、PF_ring和DPDK

10、rocknsm

http://rocknsm.io/

11、open ntop

内部采用的事DPI深度包检测技术,需要好好的看下。

12、netcap

网络抓包的引擎

13、wazuh主机入侵检测引擎

https://wazuh.com/

14、yulong-hids

驭龙HIDS是一款由YSRC 开源的入侵检测系统,由 Agent , Daemon , Server 和 Web 四个部分组成,

集异常检测、监控管理为一体,拥有异常行为发现、快速阻断

软中断和硬中断区别

hardirq和softirq

软中断是执行中断指令产生的,而硬中断是由外设引发的。

硬中断处理程序要确保它能够快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。

软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。

NAPI和DPDK的区别

在大量数据传输时,在收到硬件中断后,通过poll方式将传输的数据一次性接收,大大提高了接收数据的效率

cpu亲和性和绑核心

每个cpu核心一个线程,核心之间访问数据无需加锁。为了减少线程调度的开销,需要将Linux绑定到特定的核心上。如果系统支持NUMA架构,不同插槽上CPU的进程要避免访问远端内存,尽量访问本端内存。

PMD模式

DPDK针对Intel网卡实现了基于轮询方式的PMD驱动,该驱动由API、用户空间运行的驱动程序组成,该驱动使用无中断方式直接操作网卡的接收和发送队列(除了链路状态通知仍必须采用中断方式以外)

无锁队列 cas

数据包从网卡到上层的流程,这块涉及到linux网络内核协议栈的熟悉程度,必须得掌握

1,网卡多队列下,dpdk程序处理方式即采用多线程或多进程咋处理的。2,mbuf结构。 3,ring介绍下。4,网络各层头部意义。5,rss。6,连接跟踪表。

避免False Sharing:多核cpu中每个核心都拥有自己的L1、L2 cache,当运行多线程程序时,尽量算法上不需要共享变量,但实际执行中两个线程访问同一cache line的数据时就会引起冲突

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值