# \[Résolu\] \[C\]\[Debian\] Obtenir infos sur eth0 ?

**URL:** <https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690 "2016-02-20T17:17:30Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/1 "2016-02-20T17:17:30Z")

</div>

Bonjour à tous, ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

je suis à la recherche d’une fonction (ou au moins d’une piste) permettant en C d’obtenir des infos sur la carte réseau principale (eth0) … un peu à la manière de ifconfig mais dans un programme en C … je ne peux pas appeler mon programme avec ifconfig sur stdin car mon programme sera un daemon …

Je cherche les volumes envoyés et reçus ( Tx / Rx ) afin de determiner le débit à l’instant ‘t’…

Merci d’avance. 😉

---

<div class="post-metadata">

**Author:** ![thialme](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/50afbb/32.png) [@thialme](https://www.debian-fr.org/u/thialme)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/2 "2016-02-20T17:17:30Z")

</div>

Le fichier /proc/net/dev.

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/3 "2016-02-20T17:17:30Z")

</div>

ça a l’air parfait, merci ! 😛

---

<div class="post-metadata">

**Author:** ![dmon](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dmon/32/5587_2.png) [@dmon](https://www.debian-fr.org/u/dmon)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/4 "2016-02-20T17:17:30Z")

</div>

C’est chaud ton truc.  
Je feuillette un livre et ça m’a l’air de la programmation driver/noyau.

[![](http://www.vuibert.com/local/cache-vignettes/L250xH355/couv10296r-1476b.jpg)](http://www.eyrolles.com/Informatique/Livre/9782711748129/livre-architecture-reeaux-linux.php)

Mais il y a peut être une autre solution ce serait de passer par /proc du coup tu pourras même faire ton programme en script shell

[![](http://linuxmag.linuxmag-france.org/bigres/lmag18.jpg)](http://moun3im.free.fr/docmaster/articles/linux070.html)

[![](http://www.eyrolles.com/Scan/MaxiScan/9782841773862.jpg)](http://books.google.com/books?id=XJStF4p9RvkC&printsec=frontcover&dq=/proc+/sys&hl=fr#PPP1,M1)

---

<div class="post-metadata">

**Author:** ![dmon](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dmon/32/5587_2.png) [@dmon](https://www.debian-fr.org/u/dmon)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/5 "2016-02-20T17:17:31Z")

</div>

Je me demande si tu ne peux pas faire aussi avec [libpcap](http://www.tcpdump.org/)

[![](http://linuxmag.linuxmag-france.org/bigres/lmag42.jpg)](http://www.cgsecurity.org/Articles/sniffer/index.html)

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/6 "2016-02-20T17:17:31Z")

</div>

Merci, mais je crois que le fichier “/proc/net/dev” répond à mon besoin nickel chrome ! 😛

Pourrait il y avoir un potentiel problème en accédant ( en lecture ) fréquement à /proc/net/dev ? 😐

---

<div class="post-metadata">

**Author:** ![Hoshin](https://www.debian-fr.org/user_avatar/www.debian-fr.org/hoshin/32/3672_2.png) [@Hoshin](https://www.debian-fr.org/u/Hoshin)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/7 "2016-02-20T17:17:34Z")

</div>

en lecture je ne pense pas à priori. Fais bien attention à ne pas accéder en écriture par mégarde et avec des droits suffisants pour pouvoir effectivement écrire par contre, ça ça pourrait poser des problèmes par contre (mais je ne sais pas de quel ordre).  
Pour ce qui est de la fréquence des accès : c’est l’appel système d’ouverture du fichier qui va te couter dans l’histoire, la lecture elle même étant limite “gratos” en comparaison. Donc il faut prendre ça en compte. M’enfin le plus gros risque, selon moi, serait de ralentir ta machine chérie et pour ca … il faudrait un sacré paquet d’appels consécutifs !

---

<div class="post-metadata">

**Author:** ![thialme](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/50afbb/32.png) [@thialme](https://www.debian-fr.org/u/thialme)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/8 "2016-02-20T17:17:45Z")

</div>

/proc est un système de fichiers virtuels, ce n’est pas comme accéder à un fichier sur le disque dur. La lecture du pseudo-fichier /proc/net/dev fait appel à une fonction callback de lecture qui récupère les informations nécessaires et les retourne depuis le kernel.

[http://www.ibm.com/developerworks/library/l-proc.html](http://www.ibm.com/developerworks/library/l-proc.html)

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:17 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/9 "2016-02-20T17:17:48Z")

</div>

[quote=“thialme”]/proc est un système de fichiers virtuels, ce n’est pas comme accéder à un fichier sur le disque dur. La lecture du pseudo-fichier /proc/net/dev fait appel à une fonction callback de lecture qui récupère les informations nécessaires et les retourne depuis le kernel.  
[http://www.ibm.com/developerworks/library/l-proc.html](http://www.ibm.com/developerworks/library/l-proc.html)[/quote]  
Whaoo ![:smt007](https://www.debian-fr.org/uploads/default/original/1X/e72d3b45191f9b2363aa21bfae6f42497bc4042b.gif) … Super merci pour cette info, c’est génial Linux !!!  
( Et oui, à la base, je suis un dev Windows … 😊 )

Merci aussi pour le lien :smt003 …

@++  
Seb

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/10 "2016-02-20T17:18:02Z")

</div>

Juste pour dire que c’est OK, ça marche impec ! … Me reste plus qu’a faire la comm socket avec le client coté Windows et ce sera TOP moumoute !

… donc re-merci à tous ( special thanks pour thialme ![8)](https://www.debian-fr.org/uploads/default/original/1X/ae031e9834d19166598edd060b063d44f1829139.gif "Cool") )

J’ai juste été un poil surpris que le volume des Rx soit collé au ‘eth0’ quand ça devient trop long ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

PS: vous avez pas un autre fichier /proc/ où je pourrais trouver la liste des users loggés par hasard ? 😉 … Toujours pour mon daemon en C, donc pas de script svp …

I ![:smt007](https://www.debian-fr.org/uploads/default/original/1X/e72d3b45191f9b2363aa21bfae6f42497bc4042b.gif) Linux

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/11 "2016-02-20T17:18:02Z")

</div>

Il faudrait démonter le source de la commande who qui ne doit pas être énorme…  
Je n’ai rien vu dans /proc qui ressemble à ça (et il me semble que ça relève plus de l’OS que du noyau).

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/12 "2016-02-20T17:18:04Z")

</div>

Ah oui, c’est vrai qu’en plus on peut avoir les sources des programmes !!!

Je vais aller jeter un oeil sur les sources de who en effet … merci.

C’est trop bon tout ça … ![:smt007](https://www.debian-fr.org/uploads/default/original/1X/e72d3b45191f9b2363aa21bfae6f42497bc4042b.gif)  
( ça fait quand même bizarre toute cette liberté quand on arrive sur la banquise :smt003 )

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/13 "2016-02-20T17:18:05Z")

</div>

quote="Seb.26"  
ça fait quand même bizarre toute cette liberté quand on arrive sur la banquise :smt003  
(…)[/quote] Et oui, et comme dans la vraie vie, il y en a à qui ça fait même peur de ne plus suivre des rails.

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/14 "2016-02-20T17:18:15Z")

</div>

😊 … j’arrive pas à trouver les sources de who …

J4ai trouvé des trucs sur [kernel.org/pub/linux/](http://www.kernel.org/pub/linux/) … mais y’a pleins de choses …

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/15 "2016-02-20T17:18:17Z")

</div>

`dimm@mambo:/tmp$ dpkg -S /usr/bin/who
coreutils: /usr/bin/who
dimm@mambo:/tmp$ apt-get source coreutils
`

---

<div class="post-metadata">

**Author:** ![thialme](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/50afbb/32.png) [@thialme](https://www.debian-fr.org/u/thialme)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/16 "2016-02-20T17:18:17Z")

</div>

Soit `man utmp`

---

<div class="post-metadata">

**Author:** ![rodmov](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/f6c823/32.png) [@rodmov](https://www.debian-fr.org/u/rodmov)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/17 "2016-02-20T17:18:17Z")

</div>

[quote=“Seb.26”]PS: vous avez pas un autre fichier /proc/ où je pourrais trouver la liste des users loggés par hasard ? 😉 … Toujours pour mon daemon en C, donc pas de script svp …

I ![:smt007](https://www.debian-fr.org/uploads/default/original/1X/e72d3b45191f9b2363aa21bfae6f42497bc4042b.gif) Linux[/quote]  
salut Seb.26 regardes là —\>[whowatch](http://packages.debian.org/stable/admin/whowatch) la source de whowatch est en haut à gauche de la page :smt002

---

<div class="post-metadata">

**Author:** ![Seb.26](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@Seb.26](https://www.debian-fr.org/u/Seb.26)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/18 "2016-02-20T17:18:23Z")

</div>

![8)](https://www.debian-fr.org/uploads/default/original/1X/ae031e9834d19166598edd060b063d44f1829139.gif "Cool")

@dimm : Merci, j’ai pas compris ta réponse, mais je vais essayer de taper tes commandes, je verrais bien ce que ça donne … 😊

@thialme : Merci ( encore ), je vais lire ça en détail, et voir ce que j’en tire.

@rodmov : Merci, je regarderais là aussi !

énorme … méga-merci les gars, c’est super cool de votre part de répondre à mes questions de GROS noob … il fait chaud sur la banquise en fait … ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

Je vais essayer de me débrouiller un peu tout seul maintenant que j’ai de bonnes pistes.

![:smt024](https://www.debian-fr.org/uploads/default/original/1X/d697e874e336a377d9ee24639447389ca55c9a17.gif)

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/19 "2016-02-20T17:18:23Z")

</div>

[quote=“Seb.26”]8)

@dimm : Merci, j’ai pas compris ta réponse, mais je vais essayer de taper tes commandes, je verrais bien ce que ça donne … 😊 [/quote]Ce qu’il te faut pour avoir les sources de ce que tu veux sous debian (aprés joue du man pour avoir plus de détails).[quote=“Seb.26”]@thialme : Merci ( encore ), je vais lire ça en détail, et voir ce que j’en tire.  
(…)[/quote]Il triche: il contourne :smt003 c’est un vrai codeur, lui.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 5:18 UTC](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690/20 "2016-02-20T17:18:23Z")

</div>

> [@](#):
>
> il fait chaud sur la banquise en fait … ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

Ce n’est pas parce que les rosbifs n’ont pas de vocabulaire qu’il faut confondre pinguin et manchot 😆

[Page suivante](https://www.debian-fr.org/t/resolu-c-debian-obtenir-infos-sur-eth0/12690.md?page=2)
