[fpc-pascal] RE: Get Local IP using glib (eth0,eth1)

TOUZEAU DAVID david.touzeau at fr.kaspersky.com
Fri Oct 6 17:53:33 CEST 2006


Many thanks to the community

To reply to Graeme :
why not just use the /sbin/ifconfig output ?
Simply to be more dev compliance... using an external program is slower 
and sometime ifconfig doesn't exist or is deleted on target computers.

To reply to Marco :
And the only "good" solution is a portable resolver unit?
How will you resolve "eth0" on Win32 or BSD ?

For WIN32, i d'ont care because the program is only for Linux systems.
Your are true, in BSD the network interface is not the same and i must 
detect wich interface is used...

Best regards






Graeme Geldenhuys a écrit :
> I have these two functions in my .bashrc file.  You only need to run
> "ii" for the cool output.  Now back to the question -  If it is for
> linux only, why not just use the /sbin/ifconfig output.  After all, it
> is accurate and seem much easier than all those libc/library methods.
> I pull the IPs and Interfaces available from the /sbin/ifconfig output
> and works just fine.  If it was needed on windows, I am sure you could
> to the same thing with the 'ipconfig' output.
>
> My 2c worth!  :-)
>
>
> Regards,
>  - Graeme -
>
>
>
> ------------ .bashrc ---------------------
> function my_ip() # get IP adresses
> {
>    MY_IP=$(/sbin/ifconfig eth0 | awk '/inet/ { print $2 } ' | sed -e 
> s/addr://)
>    MY_ISP=$(/sbin/ifconfig ppp0 | awk '/P-t-P/ { print $3 } ' | sed
> -e s/P-t-P://)
> }
>
> function ii()   # get current host related info
> {
>    echo -e "\nYou are logged on ${RED}$HOST"
>    echo -e "\nAdditionnal information:$NC " ; uname -a
>    echo -e "\n${RED}Users logged on:$NC " ; w -h
>    echo -e "\n${RED}Current date :$NC " ; date
>    echo -e "\n${RED}Machine stats :$NC " ; uptime
>    echo -e "\n${RED}Memory stats :$NC " ; free
>    my_ip 2>&- ;
>    echo -e "\n${RED}Local IP Address :$NC" ; echo ${MY_IP:-"Not 
> connected"}
>    echo -e "\n${RED}ISP Address :$NC" ; echo ${MY_ISP:-"Not connected"}
>    echo
> }
> ---------------------------------
>
> On 06/10/06, Jeff Pohlmeyer <yetanothergeek at gmail.com> wrote:
>> > Better, but still Linux only. For a good solution,
>> > a resolver unit that accesses libc should be
>> > written that is portable (unlike the libc unit)
>>
>>
>> If I understood correctly, the OP had two questions:
>>
>> 1. Retrieve a list of interface names on a *linux* system.
>> 2. Return the IP address for a given *linux* interface name.
>>
>>
>> And the only "good" solution is a portable resolver unit?
>>
>> How will you resolve "eth0" on Win32 or BSD ?
>>
>>  -Jeff
>
>

-- 

David Touzeau -------------------------- Linux Ubuntu Dapper 6.0.6 
FreePascal-Lazarus,perl,delphi,php icq:160018849




More information about the fpc-pascal mailing list