I think this is the documented behavior.
As the original manual page http://www.tcpdump.org/pcap3_man.html says,
pcap_lookupnet() is  used to determine the network number and mask
associated with the network device. Future versions of winpcap will include
the pcap_findalldevs() function that will provide comprehensive information
about an adapter, including the IP address. WinPcap 2.3 however doesn't
still support it.

Loris

----- Original Message -----
From: "Antyrg" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, March 31, 2002 11:57 PM
Subject: Re: [WinPcap-users] Determining IP address


> It just hit me... why is the code anding the IP by the netmask before it
> returns?  That explains why it's not returning the proper IP... with a
> netmask of 255.255.255.0, the and sets the last digit to 0.  Is there a
> reason for this?
>
> Antyrg wrote:
> > Anyone?  I've looked through the source code, as well as examples, and
> > I'm not seeing how to do this.  The winpcap code seems to be calling the
> > packet.dll, which scans through the registry to get it, and somewhere in
> > there either it's messing up or I am, and I think it's more likely me.
> >
> > If I don't hear back soon, I'm going to have to duplicate the registry
> > searching code and try to debug it, and I'd really rather someone tell
> > me that I'm doing it wrong and need to make some odd call or math
> > operation before trying to convert to human readable form  (I've noticed
> > the code has ip &= netmask, but it doesn't work wether I reverse this or
> > not)
> >
> > -Antyrg
> >
> > Antyrg wrote:
> >
> >> Hi,
> >>
> >> Could someone give me an example of how to get and display the
> >> selected network adapter's IP address?  I have to be doing something
> >> wrong somewhere...  here's what I'm doing (psuedo-code)
> >>
> >>    Options::device = AdapterDlg::GetAdapterName();
> >>    int ret = pcap_lookupnet(Options::device, &(Options::ip),
> >> &(Options::netmask), error);
> >>
> >> GetAdapterName returns a valid adapter (I'm able to capture packets
> >> via the name it returns, if nothing else), and everything is the
> >> appropriate type and seems like it wants to work, but the problem is
> >> that both the netmask and ip returned are backwards and don't include
> >> the last digit...  if IP was 192.168.0.1, it returns 0.0.168.192
> >> (according to inet_ntoa) and I have to reverse it myself... but I must
> >> be doing something wrong?  It does this both on my LinkSys and RealTek
> >> cards.
> >>
> >> I'm running XP Pro with the new 2.3 winpcap drivers (and not using
> >> packet.dll at all).  Any help would be appreciated.  The good thing
> >> though, the beta version was returning 0.0.0.0 for the realtek and I
> >> don't remember what for the linksys.
> >>
> >> -Antyrg
> >>
> >>
> >>
> >
> >
> >
> >
>
>
>
>



Reply via email to