Avatar billede kagehuset Nybegynder
24. november 2007 - 12:14 Der er 2 kommentarer og
2 løsninger

Sætte options i IP header

Hejsa

Jeg sidder med et lille C program der skal smide pakker på et netværk med raw sockets under Linux. Jeg kunne dog godt tænke mig at få options feltet sat til timestamp (jf. http://www.networksorcery.com/enp/protocol/ip/option004.htm) i IPv4 headeren, men har lidt problemer med at gennemskue sammenhængen fra spec. til egentlig kode.

Koden til IP headeren er:

unsigned char *CreateIPHeader()
{
struct iphdr *ip_header;

ip_header = (struct iphdr *)malloc(sizeof(struct iphdr));
ip_header->version = 4;
ip_header->ihl = (sizeof(struct iphdr))/4 ;
ip_header->tos = 0;
ip_header->tot_len = htons(sizeof(struct iphdr));
ip_header->id = htons(10);
ip_header->frag_off = 0;
ip_header->ttl = 10;
ip_header->protocol = IPPROTO_TCP;
ip_header->check = 0; /* We will calculate the checksum later */
ip_header->saddr = inet_addr(SRC_IP);
ip_header->daddr = inet_addr(DST_IP);

//Her skal options ind?

// IP checksum :
ip_header->check = ComputeIpChecksum((unsigned char *)ip_header, ip_header->ihl*4);

return ((unsigned char *)ip_header);

}

Jeg har kigget lidt i /usr/include/linux/ip.h, og kan se der står en masse #define der har med options at gøre, men syns ikke det ligner noget man selv kan sætte fra programmet af?

pft
Mads
Avatar billede kagehuset Nybegynder
25. november 2007 - 12:28 #1
Slet ingen ?

mvh
Mads
Avatar billede kagehuset Nybegynder
29. november 2007 - 00:28 #2
Slet ingen der har arbejdet med raw sockets IP pakker og har sat options i headeren?

mvh
Mads
Avatar billede kagehuset Nybegynder
30. november 2007 - 16:56 #3
lukker...
Avatar billede kagehuset Nybegynder
30. november 2007 - 17:01 #4
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester