Re: Detecting virtual IP addresses
- From: Gordon Beaton <not@xxxxxxxxx>
- Date: 6 Dec 2005 08:54:51 +0200
On Mon, 05 Dec 2005 21:50:29 GMT, Joseph Dionne wrote:
> It is my assumption that I cannot bind to a virtual "interface," and
> I could be wrong. However, since the only "error" is a connection
> timeout, that does not provide any useful information to detect
> virtual IP addresses.
A network interface as seen by the application - virtual or otherwise
- is nothing but a data structure in the kernel, regardless of whether
there is an underlying physical interface. If it were not possible to
bind a Socket to them they would be of little use to anyone, since
binding is an inherent part of every Socket connection (even though
it's usually implicit on the client side).
There is AFAIK no way for an application to detect with certainty
whether a given interface is virtual or not, even from C. Use a
heuristic instead, for example the vmware interfaces are usually
called vmnet0 etc.
It sounds to me like your problem is one of routing, i.e. "you can't
get there from here". When you bind your Socket to one of the virtual
interfaces it can't reach the destination you're trying to connect to.
Have a look at your routing table, and try using ethereal to see what
actual traffic is generated.
/gordon
--
[ do not email me copies of your followups ]
g o r d o n + n e w s @ b a l d e r 1 3 . s e
.
- References:
- Detecting virtual IP addresses
- From: Joseph Dionne
- Re: Detecting virtual IP addresses
- From: Gordon Beaton
- Re: Detecting virtual IP addresses
- From: Joseph Dionne
- Detecting virtual IP addresses
- Prev by Date: Re: simple code advice for Client server array transfer
- Next by Date: Re: javac vs Makefile problem ...
- Previous by thread: Re: Detecting virtual IP addresses
- Next by thread: Re: Detecting virtual IP addresses
- Index(es):
Relevant Pages
|