01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!