Informazioni scheda di rete da programma C++

1 risposta [Ultimo contenuto]
Ritratto di Alberto77
Alberto77
(Newbie)
Offline
Newbie
Iscritto: 16/01/2010
Messaggi: 1

Salve a tutti
Vorrei sapere come fare ad ottenere da un mio programma (un programma C++) le informazioni della scheda di rete, in particolare l'indirizzo ip cosi da poterlo usare e visualizzare? E' possibile anche sapere se il cavo di rete e' connesso oppure no.
Premetto che la mia applicazione gira su un sistema ritagliato ad hoc e quindi senza desktop per cui non penso che il dbus funzioni.
Grazie
Alberto

Ritratto di badroot
badroot
(Junior)
Offline
Junior
Iscritto: 22/08/2008
Messaggi: 8

Ciao,
un modo semplice è quello di usare il comando ifconfig per ottenere queste informazioni. Se programmi in C guarda la funzione popen() che ti permette di creare un pipe di un qualsiasi comando e poi usando la read() ne leggi l'output. Altra soluzione è quella di affidarsi alla libreria libpcap che sebbene particolarmente complessa di dà  un'infinità di possibilità di operare sullo stack tcp/ip e di ottenere informazioni anche a livello ethernet.