# Exemple en C pour avoir un aperçu des peripheriques reseaux

**URL:** <https://www.debian-fr.org/t/exemple-en-c-pour-avoir-un-apercu-des-peripheriques-reseaux/1890>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 12:00 UTC](https://www.debian-fr.org/t/exemple-en-c-pour-avoir-un-apercu-des-peripheriques-reseaux/1890 "2016-02-20T12:00:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![stonfi](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/54ee81/32.png) [@stonfi](https://www.debian-fr.org/u/stonfi)\
**Post date:** [Février 20, 2016, 12:00 UTC](https://www.debian-fr.org/t/exemple-en-c-pour-avoir-un-apercu-des-peripheriques-reseaux/1890/1 "2016-02-20T12:00:48Z")

</div>

petite source simple qui affiche le reseau…gcc src.c -o src -W

#include \<stdio.h\> /\* printf, stderr… _/  
 #include \<stdlib.h\> /_ malloc _/  
 #include \<string.h\> /_ memcpy, strcpy…_/  
 #include \<net/if.h\> /_ if\_name, ifa\_addr _/  
 #include \<linux/ioctl.h\> /_ ioctl _/  
 #include \<netinet/in.h\> /_ sockaddr _/  
 #include \<arpa/inet.h\> /_ inet\_ntoa _/  
 #include \<sys/ioctl.h\> /_ ioctl \*/

int main(int argc, char \*argv[])  
{  
struct ifconf ifc;  
struct ifreq \*ifr;  
struct sockaddr\_in \*addr;  
int s, len, i;  
char \*buf;

```
    s = socket(AF_INET, SOCK_DGRAM, 0);

    len = 10 * sizeof(struct ifreq);
    buf = malloc(len);

    ifc.ifc_len = len;
    ifc.ifc_buf = buf;

    ioctl(s, SIOCGIFCONF, &ifc);

    ifr = (struct ifreq*) buf;

    for(i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++)
    {
            addr = (struct sockaddr_in *) &ifr->ifr_addr; printf("Name:%s\t\tAdresse:%s\n",ifr->ifr_name,inet_ntoa(addr->sin_addr));
            ifr++;
    }

    return 0;

```

}

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 12:00 UTC](https://www.debian-fr.org/t/exemple-en-c-pour-avoir-un-apercu-des-peripheriques-reseaux/1890/2 "2016-02-20T12:00:48Z")

</div>

Merci pour cette source et je te conseil d’utiliser les balises codes pour poster tes sources c’est plus lisibles

[code]#include \<stdio.h\> /\* printf, stderr… _/  
 #include \<stdlib.h\> /_ malloc _/  
 #include \<string.h\> /_ memcpy, strcpy…_/  
 #include \<net/if.h\> /_ if\_name, ifa\_addr _/  
 #include \<linux/ioctl.h\> /_ ioctl _/  
 #include \<netinet/in.h\> /_ sockaddr _/  
 #include \<arpa/inet.h\> /_ inet\_ntoa _/  
 #include \<sys/ioctl.h\> /_ ioctl \*/

int main(int argc, char \*argv[])  
{  
struct ifconf ifc;  
struct ifreq \*ifr;  
struct sockaddr\_in \*addr;  
int s, len, i;  
char \*buf;

s = socket(AF\_INET, SOCK\_DGRAM, 0);

len = 10 \* sizeof(struct ifreq);  
buf = malloc(len);

ifc.ifc\_len = len;  
ifc.ifc\_buf = buf;

ioctl(s, SIOCGIFCONF, &ifc);

ifr = (struct ifreq\*) buf;

for(i = 0; i \< ifc.ifc\_len / sizeof(struct ifreq); i++)  
{  
addr = (struct sockaddr\_in \*) &ifr-\>ifr\_addr; printf(“Name:%s\t\tAdresse:%s\n”,ifr-\>ifr\_name,inet\_ntoa(addr-\>sin\_addr));  
ifr++;  
}

return 0;  
}[/code]
