Modificar la salida del modo de snort socket

  
 

Se encontró que snort puede aplicar los modos rápido y sin bloqueo. -A rápido -A desacoplar Sin embargo, algunas funciones se aprenden después del rápido proceso de desacoplar #########.

* La estructura in_addr se utiliza para representar una dirección IPv4 de 32 bits.

extern void * memcpy (void * destin, void * source, unsigned n); ### De la fuente a la dirección Los datos de n bytes consecutivos de la dirección de inicio se copian en el espacio a partir de la dirección de destino de destino.
(baidu)

public: int SendTo (SOCKET s; unsigned char buffer __gc [], int size, SocketFlags socketFlags, sockaddr FAR * addr int len); Valor de retorno: la longitud de los datos transmitidos reales. Parámetro: s buff buff Tamaño de búfer de los datos que se enviarán Tamaño de búfer Indicadores Indicador de modo de llamada, generalmente 0, cambio de Indicadores, cambiará el puntero addr (opcional) enviado por Sendto, apunta al socket de destino La longitud de la dirección señalada por la dirección len addr

size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream); Nota: Esta función opera en el archivo en formato binario, no limitado a archivos de texto. Valor de retorno: devuelve el número de bloques de datos realmente escritos.
(1) búfer: es un puntero. Para fwrite, es la dirección de los datos que se deben enviar.
(2) tamaño: el número de bytes individuales que se escribirán en el contenido; (3) recuento: el número de elementos de datos que se escribirán en el byte de tamaño; (4) flujo: el puntero del archivo de destino.

1. Void * memset (void * s, int c, size_t n) El efecto total: establezca el valor de los primeros n bytes del espacio de memoria abierto s en el valor c. Establezca el contenido de cada byte en un bloque de memoria apuntado por s al valor ASCII especificado por ch. El tamaño del bloque se especifica mediante el tercer parámetro. Esta función generalmente inicializa la memoria solicitada recientemente y su valor de retorno. Es un puntero a S.

La salida

encontrar esta estructura es encontrar la función LogIpAddrs a través del símbolo entre -> ip, output ip-> ip.

printf (" !!!!!!!!!!!!!!% s:% d \\ n ", inet_ntoax (GET_SRC_ADDR (p)), p- > sp); puede enviarse La ip y el puerto

en la estructura p son: x- > ip4_header- > source y x- > iph- > ip_src en la estructura del paquete para almacenar la dirección IP original.

Shun vine encuentra: inet_ntoax (GET_SRC_ADDR (p)), p- > sp ######## salida ip y puerto.
(Se sospecha que inet_ntoax es una variante de inet_ntoa, implementado en el archivo de encabezado de snort)

Linux: Declaración de función: char * inet_ntoa (struct in_addr); Devuelve la cadena decimal con puntos en la memoria estática Puntero

printf (" @@@@@@@@@@@ss% d \\ n ", inet_ntoax (GET_SRC_ADDR (p)), p- > sp); ## can Salida IP y puerto en p.

Encuentra si pkt tiene ip. . Etc.

(2) Marca de tiempo LogTimeStamp (data- > log, p); implementado aquí. Lo mismo es cierto.

Cree la estructura de Alertpkt_txt y cargue el puerto de marca de tiempo ip msg. Utilice el zócalo para pasar la estructura, se logra el propósito.

Copyright © Conocimiento de Windows All Rights Reserved