Página principal | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros

Referencia del Archivo knock_auth.c

#include "funciones.h"
#include "listas.h"
#include <openssl/rand.h>
#include <sys/types.h>
#include <sys/socket.h>
#include "mensajes.h"

Funciones

void fmaneja_cifrado (u_char *parametro, const struct pcap_pkthdr *, const u_char *packet)
void f_dame_ip (u_char *_parametro, const struct pcap_pkthdr *, const u_char *_packet)
int knock_auth (char *_filtro[], int _tipo_auth, const char *_dispositivo, const char *_key, Datos_cliente *_datos_cliente)
int knockudp (Datos_cliente *_datos_cliente)

Variables

int NMAX_FILTROS
int INTERVALO_ESPERA
int sizeofmaclayer
int diferencia_tiempos

Descripción detallada

Este archivo contiene funciones del bloque de autenticación correspondientes a los tipos: KNOCKMAL, KNOCKUDP Y KNOCKIFRADO

Documentación de las funciones

void f_dame_ip u_char *  _parametro,
const struct pcap_pkthdr *  _cabecera_pcap,
const u_char *  packet
 

f_dame_ip es una funcion de callback de para la libreria pcap que obtiene la ip de un paquete y el puerto al que va dirigido un paquete y lo devuelve.

Parámetros:
parametro Ha de convertirse a una estructura Datos_cliente, donde se guardará puerto ip y comando
cabecera_pcap Datos relativos al paquete: longitud, tiempo.
packet. Paquete capturado

void fmaneja_cifrado u_char *  parametro,
const struct pcap_pkthdr *  cabecera_pcap,
const u_char *  packet
 

Es una funcion de callback de para la libreria pcap utilizada para el método de autenticacion KNOCKIFRADO.

Parámetros:
parametro Ha de convertirse a una estructura Datos_cliente, donde se guardará puerto ip y comando
cabecera_pcap Datos relativos al paquete: longitud, tiempo.
packet. Paquete capturado

int knock_auth char *  _filtro[],
int  _tipo_auth,
const char *  _dispositivo,
const char *  _key,
Datos_cliente _datos_cliente
 

Funcion que incorpora los tipos de autenticacion KNOCKMAL KNOCKUDP KNOCKIFRADO

Parámetros:
_filtro[] array que contiene los filtros que controlaran la seleccion de paquetes entrantes
_tipo_auth tipo de autenticacion a elegir KNOCKMAL KNOCKUDP KNOCKIFRADO
_dispositivo Interfaz de red en la que capturar
_datos_cliente Estructura donde se guardan los datos del usuario autorizado
Devuelve:
VERDADERO o -1 en caso de error

int knockudp Datos_cliente _datos_cliente  ) 
 

Esta función realiza la última parte del proceso knockudp. Envía un array de bits aleatorios y espera la respuesta, para compararla con lo el resultado esperado.

Parámetros:
_datos_cliente Información relativa al cliente con quien se establece la conexión
Devuelve:
VERDADERO FALSO -1 ERROR GRAVE -2 ERROR RECUPERABLE


Documentación de las variables

int diferencia_tiempos
 

En el tipo KNOCKIFRADO, Diferencia máxima en segundos entre el tiempo actual y el tiempo del paquete

int INTERVALO_ESPERA
 

Tiempo de espera entre peticiones

int NMAX_FILTROS
 

Número máximo de filtros (puertos) existente. Es igual a la longitud del array lista_puertos_knock

int sizeofmaclayer
 

Tamaño de la cabecera de la capa de enlace


Generado el Mon Sep 19 00:05:19 2005 para PuerTock por  doxygen 1.3.9.1