[erlang-questions] Simple NAT traversal

Jared Kofron <>
Wed Feb 1 18:33:34 CET 2012


Some switches/routers also support SNMP interrogation of public IP address.  I take advantage
of this at home to keep track of my own IP.

On Feb 1, 2012, at 6:54 AM, Max Bourinov wrote:

> Our corporate clients use static IP for such tasks. Maybe it is possible to have static IP?
> 
> Best regards,
> Max
> 
> 
> 
> 
> On Wed, Feb 1, 2012 at 4:54 PM, eigenfunction <> wrote:
> @Edward
> You are right and thank you again for your help
> 
> @Michael
> I am in a corporate intranet, so i do not have access to the outside
> world and there are a couple of nats between the networks.
> 
> On 1 Feb., 14:37, Edward Wang <> wrote:
> > A tcp server itself is simple enough, but that's another piece of
> > software running on a separated machine. That's a big disadvantage. On
> > the other hand, a UPnP control point is something you can integrate
> > into your own application, given your NAT device speaks UPnP and you
> > want to deal with the protocol.
> >
> > -Edward
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Wed, Feb 1, 2012 at 9:19 PM, eigenfunction <> wrote:
> > > Thank you for the response. But before i wade into that territory,
> > > do you think it will be easier than just writing a tcp server?
> > > Anyway, i am going to check that out.
> >
> > > On 1 Feb., 10:50, Edward Wang <> wrote:
> > >> If your NAT device supports UPnP, you can ask for its external address
> > >> using UPnP protocol. But there's nothing simple in it. UPnP is a
> > >> horrible protocol.
> >
> > >> That said, if you do want to try this, you can check out UPnP
> > >> implementation in etorrent. I did that about one year ago for opening
> > >> port mapping. The related source code are
> > >> (https://github.com/edwardw/etorrent/tree/master/apps/etorrent/src):
> >
> > >>     etorrent_upnp_sup.erl
> > >>     etorrent_upnp_proto.erl
> > >>     etorrent_upnp_net.erl
> > >>     etorrent_upnp_handler.erl
> > >>     etorrent_upnp_entity.erl
> >
> > >> They are quite standalone and complete UPnP implementation. Take a
> > >> look at how add_port_mapping is implemented:
> > >>    https://github.com/jlouis/etorrent/blob/master/apps/etorrent/src/etor...
> > >> It should be easy enough to add your own get_external_address
> > >> function, which is defined in following specification:
> > >>    http://upnp.org/specs/gw/UPnP-gw-WANIPConnection-v1-Service.pdf
> >
> > >> Regards,
> > >> Edward
> >
> > >> On Wed, Feb 1, 2012 at 4:25 PM, eigenfunction <> wrote:
> > >> > Hi everybody,
> > >> > i have an erlang application running behind a nat. Now i have come to
> > >> > a point where i need to know my public ip. I was thinking about
> > >> > running a tiny tcp server behind the nat whose sole purpose would be
> > >> > to send me my public ip. My question is this: isn't there a more
> > >> > simple alternative? Heck, even if i could determine the public ip of
> > >> > the NAT device without doing a "backflip" it will be enough for my
> > >> > case.
> > >> > Any idea?
> > >> > _______________________________________________
> > >> > erlang-questions mailing list
> > >> > 
> > >> >http://erlang.org/mailman/listinfo/erlang-questions
> >
> > >> _______________________________________________
> > >> erlang-questions mailing list
> > >> ://erlang.org/mailman/listinfo/erlang-questions
> > > _______________________________________________
> > > erlang-questions mailing list
> > > 
> > >http://erlang.org/mailman/listinfo/erlang-questions
> >
> > _______________________________________________
> > erlang-questions mailing list
> > ://erlang.org/mailman/listinfo/erlang-questions
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120201/0dcbb57a/attachment.html>


More information about the erlang-questions mailing list