Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
# error "Please fix "<br />
#endif<br />
u_int8_t tos;<br />
u_int16_t tot_len;<br />
u_int16_t id;<br />
u_int16_t frag_off;<br />
u_int8_t ttl;<br />
u_int8_t protocol;<br />
u_int16_t check;<br />
u_int32_t saddr;<br />
u_int32_t daddr;<br />
/*The options start here. */<br />
};<br />
Não tem nada de familiar acima, com o cabeçalho do datagrama IP ? Se<br />
vocês já repararam são as estrturas exatas do mesmo, para serem<br />
manipuladas pelo programador !<br />
c) Cabeçalho ICMP :<br />
#include <br />
/* Parte do cabecalho ipicmp.h que declara a estrutura icmphdr */<br />
struct icmphdr<br />
{<br />
u_int8_t type; /* message type */<br />
u_int8_t code; /* type sub-code */<br />
u_int16_t checksum;<br />
union<br />
{<br />
struct<br />
{<br />
u_int16_t id;<br />
u_int16_t sequence;<br />
} echo; /* echo datagram */<br />
u_int32_t gateway; /* gateway address */<br />
struct<br />
{<br />
u_int16_t __unused;<br />
u_int16_t mtu;<br />
} frag; /* path mtu discovery */<br />
} un;<br />
};<br />
Dos três, este é o mais complexo de todos, mas é que permite uma série<br />
de recursos interessantes.<br />
Implementação de Um Gerador de Pacotes UDP<br />
Viemos ao longo destas modestas lições sobre sockets mostrar um pouco<br />
da programação em C. Uma coisa que eu vi durante o curso foi que<br />
muitas pessoas queriam compilar estas aplicações no Windows, que eu<br />
infelizmente não pude auxiliar, já que todo o nosso curso foi voltado<br />
51