[erlang-questions] how to get the factual ip address?

litao cheng litaocheng@REDACTED
Sun Oct 26 15:46:28 CET 2008


thanks you! steve! :)

2008/10/26 Steve Vinoski <vinoski@REDACTED>

>  On 10/25/08, litao cheng <litaocheng@REDACTED> wrote:
> >
> > hi, everyone.
> > I want to get the factual  ip address of my host. when I use the
> > inet:gethostname earn my host name. and then use the inet:gethostbyname/1
> or
> > inet:getaddrs/2 to get the ip address.  the results is : 127.0.1.1.
> >  I can use the ifconfig to see the ip address of eth0 is 192.168.1.101,
> I
> > want to get this value. how can I do it?
> > btw, If it relate to the inetrc config of kernel app?
> > (my computer os is ubuntu 8.04, OTP R12B4)
>
> There's the following undocumented function:
>
> 1> inet:ifget("eth0", [addr]).
> {ok,[{addr,{192,168,1,101}}]}
>
> On Ubuntu "eth0" should work for you, but if you want to know what
> interfaces you have:
>
> 2> inet:getiflist().
> {ok,["lo","eth0"]}
>
> Also note you can change the IP address tuple to a string like this:
>
> 3> inet_parse:ntoa({192,168,1,101}).
> "192.168.1.101"
>
> and back again:
>
> 4> inet_parse:address("192.168.1.101").
> {ok,{192,168,1,101}}
>
> --steve
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20081026/9bbaaa23/attachment.htm>


More information about the erlang-questions mailing list