• Aucun résultat trouvé

Sortir du réseau local

N/A
N/A
Protected

Academic year: 2022

Partager "Sortir du réseau local"

Copied!
2
0
0

Texte intégral

(1)

PROGRAMMATION RÉSEAU Arnaud Sangnier

sangnier@liafa.univ-paris-diderot.fr

Obtenir son IP dans le réseau

PR - AVOIR SON IP 2

Sortir du réseau local

Comment j'obtiens mon IP Dans le réseau ?

En Java, normalement InetAddress.getLocalHost(); suffit

En C, il faut être plus subtil

Il faut avoir les adresses disponibles et tester celles qui ne sont pas des loop- back

PR - AVOIR SON IP 3

Exemple java 1

public class OwnIp{

public static void main(String[]args){

try{

InetAddress myIA=InetAddress.getLocalHost();

System.out.println(myIA.toString());

System.out.println(myIA.isAnyLocalAddress());

System.out.println(myIA.isAnyLocalAddress());

} catch(Exception e){

e.printStackTrace();

} } }

PR - AVOIR SON IP 4

Exemple java 2

public class OwnIp2{

public static void main(String[]args){

try{

Enumeration<NetworkInterface>

listNi=NetworkInterface.getNetworkInterfaces();

while(listNi.hasMoreElements()){

NetworkInterface nic=listNi.nextElement();

System.out.println("Network Interface :");

System.out.println(nic.toString());

Enumeration<InetAddress> listIa=nic.getInetAddresses();

while(listIa.hasMoreElements()){

InetAddress iac=listIa.nextElement();

System.out.println("++++++ InetAddress :");

System.out.println("++++++ "+iac.toString());

if(iac instanceof Inet4Address){

System.out.println("IPV4");

}

if(iac.isLoopbackAddress()){

System.out.println("Loop Back Address");

} } }

} catch(Exception e){

e.printStackTrace();

} } }

(2)

PR - AVOIR SON IP 5

Exemple C

int main(){

struct ifaddrs *myaddrs, *ifa;

struct sockaddr_in *s4;

int status;

char *ip=(char *)malloc(64*sizeof(char));

status = getifaddrs(&myaddrs);

if (status != 0){

perror("Probleme de recuperation d'adresse IP");

exit(1);

}

for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next){

if (ifa->ifa_addr == NULL) continue;

if ((ifa->ifa_flags & IFF_UP) == 0) continue;

if ((ifa->ifa_flags & IFF_LOOPBACK) != 0) continue;

if (ifa->ifa_addr->sa_family == AF_INET){

s4 = (struct sockaddr_in *)(ifa->ifa_addr);

if (inet_ntop(ifa->ifa_addr->sa_family, (void *)&(s4->sin_addr), ip, 64*sizeof(char)) != NULL){

printf("Adresse IP :%s\n",ip);

} } }

freeifaddrs(myaddrs);

}

Références

Documents relatifs

Carte 1 : Taux d’hospitalisation (nombre de patients hospitalisés pour Covid au 31 août 2020 rapportés à la population totale du département ; données exprimées pour 100

Devant de telles absurdités, la tentation est grande de retomber sur la solide distinction entre substance et attributs, ou dans celle entre noms propres et noms communs,

MARZOUKI, Moncef ; entretien avec GEISSER, Vincent, Dictateurs en sursis : une voie démo- cratique pour le monde arabe, Paris : Éd?. Nous employons le terme “révolution” (thaoura

[r]

Ainsi que l'indique cette citation, le holisme est une doctrine dont le champ d'application est fort vaste, puisque l'on en trouve des versions aussi bien dans le domaine

We study non-equilibrium statistical mechanics of a Gaussian dynamical system and compute in closed form the large deviation functionals describing the fluctuations of the

horrible si l’enfant est exécuté: Il faut cultiver un usage responsable des images, et développer la réflexion de la société sur ces sujets très

• Ils sont en retard.. • Ils sont