Пример #1
0
/**
 * Init the network monitoring
 * @param device Device 
 * @param dump PCAP file
 * @param pcap PCAP filter
 */
void net_init(char *device, char *dump, char *pcap)
{
    static struct nids_chksum_ctl ctl;

    nids_params.n_tcp_streams = 4096;   /* Streams to track for re-assembly */
    nids_params.n_hosts = 1024; /* Hosts to track for defrag */
    nids_params.scan_num_hosts = 0;     /* Disable portscan detection */

    nids_params.device = device;
    nids_params.filename = dump;
    nids_params.pcap_filter = pcap;

    if (!nids_init())
        fatal("Initialization of libnids failed");

    /* Register callbacks */
    nids_register_udp((void *) net_udp);
    nids_register_tcp((void *) net_tcp);

    /* Disable checksum control */
    ctl.netaddr = 0;
    ctl.mask = 0;
    ctl.action = NIDS_DONT_CHKSUM;
    nids_register_chksum_ctl(&ctl, 1);
}
Пример #2
0
void				sessions_nids_init(pcap_t *p)
{
  nids_params.pcap_desc = p;
  nids_params.tcp_workarounds = 1;
  if (!nids_init()) {
    fprintf(stderr, "nids_init: %s\n", nids_errbuf);
    exit(-1);
  }
  nids_register_ip(ip_callback);
  nids_register_udp(udp_callback);
  nids_register_tcp(tcp_callback);
}