Buscar

Prévia do material em texto

ENDEREÇOS IP 
 
ANTARTIDA.C 
Antartida é um programa que recebe um IP e o aloca em um endereço de memória que 
será o endereço retornado por esse programa. Temos como exemplo o IP 65.21.52.178 
que foi inserido no array /bs/ usando a ordem little-endian e retorna o seguinte endereço 
web http://1091908786 que pertence a página https://antartida.xyz. Abaixo é possível 
ver o programa com comentários explicativos: 
#include <stdio.h> 
 
int main() { 
 unsigned char bs[] = {178, 52, 21, 65}; //Recebe um IP no modo little-endian 
 unsigned int *p; p = (unsigned int *) bs; //converte bs em um ponteiro para 
unsigned int, em seguida, cancela a referência a ele para atribuir seu valor à 
variável p. 
 printf("antartida.xyz has address http://%u\n", *p); //Printa a mensagem e o 
ponteiro p. Esse ponteiro armazena um endereço de memória e faz referência a esse 
endereço guardado (Nesse caso, seria o IP armazenado em bs) 
 
SIZES.EXE 
No meu computador, o programa sizes.exe retornou informando que o tamanho de um 
/long/ e um /int/ é, respectivamente, 8 e 4. 
Alterando o tipo do ponteiro p de /unsigned int */ para /unsigned long */, é possível 
perceber a mudança no endereço web que antes era http://1091908786 e passa a ser 
http://18446687123535115442. 
 
http://65.21.52.178/
https://antartida.xyz/
http://65.21.52.178/
http://18446687123535115442/

Mais conteúdos dessa disciplina