#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp")
int hookprobe_drop_traffic(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto == __constant_htons(ETH_P_IP)) { struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Example: Drop traffic from a specific malicious IP if (iph->saddr == __constant_htonl(0xC0A80164)) { // 192.168.1.100 return XDP_DROP; } } return XDP_PASS;
} char _license[] SEC("license") = "GPL";
#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp")
int hookprobe_drop_traffic(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto == __constant_htons(ETH_P_IP)) { struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Example: Drop traffic from a specific malicious IP if (iph->saddr == __constant_htonl(0xC0A80164)) { // 192.168.1.100 return XDP_DROP; } } return XDP_PASS;
} char _license[] SEC("license") = "GPL";
#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp")
int hookprobe_drop_traffic(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto == __constant_htons(ETH_P_IP)) { struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Example: Drop traffic from a specific malicious IP if (iph->saddr == __constant_htonl(0xC0A80164)) { // 192.168.1.100 return XDP_DROP; } } return XDP_PASS;
} char _license[] SEC("license") = "GPL";
# Basic steps to prepare a Raspberry Pi for HookProbe Sensing
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y clang llvm libelf-dev libpcap-dev gcc-multilib build-essential
# Clone the HookProbe open-source components
-weight: 500;">git clone https://github.com/hookprobe/hookprobe
cd hookprobe/edge-agent
make && -weight: 600;">sudo ./hp-agent --interface eth0
# Basic steps to prepare a Raspberry Pi for HookProbe Sensing
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y clang llvm libelf-dev libpcap-dev gcc-multilib build-essential
# Clone the HookProbe open-source components
-weight: 500;">git clone https://github.com/hookprobe/hookprobe
cd hookprobe/edge-agent
make && -weight: 600;">sudo ./hp-agent --interface eth0
# Basic steps to prepare a Raspberry Pi for HookProbe Sensing
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">update && -weight: 600;">sudo -weight: 500;">apt -weight: 500;">upgrade -y
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y clang llvm libelf-dev libpcap-dev gcc-multilib build-essential
# Clone the HookProbe open-source components
-weight: 500;">git clone https://github.com/hookprobe/hookprobe
cd hookprobe/edge-agent
make && -weight: 600;">sudo ./hp-agent --interface eth0 - Snort: The grandfather of IDS. It is lightweight and has a massive community-driven signature set, but it struggles with multi-threading and high-speed modern traffic.
- Suricata: A more modern alternative to Snort that supports multi-threading and can perform deeper packet inspection, but it still relies heavily on signature matching, leading to high false-positive rates in complex environments.
- Zeek (formerly Bro): Focuses more on network analysis and metadata than just alerts. It is powerful for forensics but requires significant expertise to tune and interpret, making it difficult for SMBs without dedicated security analysts.
- NAPSE (HookProbe): Unlike the above, NAPSE is AI-native. It uses behavioral heuristics to identify anomalies, allowing it to detect zero-day threats that lack a signature. - Sensing Pod: High-speed data ingestion using eBPF/XDP.
- Processing Pod: Normalization and enrichment of network metadata.
- Analysis Pod (NAPSE): The AI-native engine that detects anomalies.
- Response Pod (AEGIS): Autonomous defense mechanisms that trigger blocks or isolation.
- Storage Pod: Efficient long-term storage of security telemetry for compliance.
- Management Pod: Centralized control and configuration for distributed deployments.
- Integration Pod: Seamlessly connects with existing IT workflows and third-party tools.