#include "includes.h"
Funciones | |
void | ip_generate_header (BYTE *rxtx_buffer, WORD_BYTES total_length, BYTE protocol, BYTE *dest_ip) |
Genera el encabezado IP . | |
BYTE | ip_packet_is_ip (BYTE *rxtx_buffer) |
Chequea si un paquete recibido es IP . | |
Variables | |
static WORD_BYTES | ip_identfier = (WORD_BYTES){1} |
void ip_generate_header | ( | BYTE * | rxtx_buffer, | |
WORD_BYTES | total_length, | |||
BYTE | protocol, | |||
BYTE * | dest_ip | |||
) |
Genera el encabezado IP
.
rxtx_buffer | el buffer que se utilizara para generar el encabezado. | |
total_length | largo total del paquete. | |
protocol | protocolo utilizado en la capa superior | |
dest_ip | IP de destino del paquete |
set ipv4 and header length
set TOS to default 0x00
set total length
set packet identification
set fragment flags
set Time To Live
set ip packettype to tcp/udp/icmp...
set source and destination ip address
clear the 2 byte checksum
calculate and fill the checksum:
Chequea si un paquete recibido es IP
.
rxtx_buffer | puntero al paquete. |
WORD_BYTES ip_identfier = (WORD_BYTES){1} [static] |