OpenVAS Scanner 23.23.1
capture_packet.c File Reference
#include "capture_packet.h"
#include "../misc/bpf_share.h"
#include "../misc/pcap_openvas.h"
#include <arpa/inet.h>
#include <glib.h>
#include <netinet/ip.h>
#include <pcap.h>
#include <sys/param.h>

Functions

int islocalhost (struct in_addr *)
 Tests whether a packet sent to IP is LIKELY to route through the kernel localhost interface.
int init_capture_device (struct in_addr src, struct in_addr dest, char *filter)
 Set up the pcap filter, and select the correct interface.
char * capture_next_frame (int bpf, int timeout, int *sz, int dl_layer_only)
 Capture a link layer frame.
struct ip * capture_next_packet (int bpf, int timeout, int *sz)
int init_v6_capture_device (struct in6_addr src, struct in6_addr dest, char *filter)
struct ip6_hdr * capture_next_v6_packet (int bpf, int timeout, int *sz)

Function Documentation

◆ capture_next_frame()

char * capture_next_frame ( int bpf,
int timeout,
int * sz,
int dl_layer_only )

Capture a link layer frame.

Parameters
[in]bpfbpf handler
[in]timeoutthe timeout
[out]szsize of the frame, -1 if no frame was received.
[in]dl_layer_onlyIf the answer should include the payload.
Returns
the link layer frame.

◆ capture_next_packet()

struct ip * capture_next_packet ( int bpf,
int timeout,
int * sz )

◆ capture_next_v6_packet()

struct ip6_hdr * capture_next_v6_packet ( int bpf,
int timeout,
int * sz )

◆ init_capture_device()

int init_capture_device ( struct in_addr src,
struct in_addr dest,
char * filter )

Set up the pcap filter, and select the correct interface.

The filter will be changed only if this is necessary

◆ init_v6_capture_device()

int init_v6_capture_device ( struct in6_addr src,
struct in6_addr dest,
char * filter )

◆ islocalhost()

int islocalhost ( struct in_addr * addr)
extern

Tests whether a packet sent to IP is LIKELY to route through the kernel localhost interface.