Hello Scott.
Several days ago I wrote
> Yes, LAN detection process checks all interfaces now.
Sorry, that wasn't right.
The question turns out to be complex, than I thought in the beginning.
Only now I can say that above is right.

Now Kaboodle checks all interfaces and keeps track of which class-C ranges
are the "active ranges".
Each interface describes by the structure *ST_NETWORK_INTERFACE_INFO*.
That structure has a member *bool bIsActive*, it's a binary flag,
which identifies is active interface or no.
Kaboodle keeps an array of above structures in the static member
*CSearchNetworkManager::m_ArNetworkInterfaceInfo*, it's a MFC CArray.
Another source code parts can access to above data via public static
functions of the class CSearchNetworkManager:
1 - *int GetCountNetInterfaceInfo()*,
this function returns the count of network interfaces;
2 - *bool GetNetInterfaceInfo( int iIndex, ST_NETWORK_INTERFACE_INFO&
rNetInterfaceInfo)*,
this function returns in the rNetInterfaceInfo the structure
ST_NETWORK_INTERFACE_INFO,
a parameter *int iIndex* is a zero based index of interface.
Kaboodle fills the list of above interfaces (the member
m_ArNetworkInterfaceInfo)
by the static function
*void CSearchNetworkManager::AddAllNetworkInterfaceInfo()*.
That function calls by the constructor of CSearchNetworkManager.

All my changes are in the CVS server.
- Igor


----- Original Message -----
From: "Scott C. Best" <[EMAIL PROTECTED]>
To: "Igor Kotelevsky" <[EMAIL PROTECTED]>
Cc: "Kaboodle-devel" <[EMAIL PROTECTED]>
Sent: Thursday, September 19, 2002 11:30 AM
Subject: Re: Sniffer


> Igor:
> So just to confirm...the LAN detection process checks
> all interfaces now, and it now keeps track of which class-C ranges
> are the "active ranges"? Please let me know if/when these changes
> are in the CVS server.
>
> thanks,
> Scott
>
> On Wed, 18 Sep 2002, Igor Kotelevsky wrote:
>
> > Hello, Scott
> >
> > >Igor:
> > >Yes, we should skip using subnet masks and return
> > >again to hard coded 254 IPs. Except, if Kaboodle sniffs an
> > >"alien host" (ie, a device with an IP address out of the
> > >Kaboodle PC's subnet range), it should ping that alien's
> > >class-C range as well.
> >
> > I rolled back and I use now IP addresses as DWORD and not CString.
> > Sniffer does not work. I debugged and I saw:
> >
> > CSnifferThread::EthernetFrameSniffer()
> > {
> >    device = p_pcap_lookupdev(errbuf);
> > /*
> >    device==
> >    0000
> >    ev?ce\Packet-{7E49453E-EA3B-438E-B178-A66A15D8D515}
> >    0000...
> > */
> > //...
> >    CreateAdapterNameList(device);
> > }
> >
> > device has four zero bytes in the beginning. Then comes some readable
name.
> > Then CreateAdapterNameList(device) is called with the leading zeros in
the
> > argument.
> >
> > BOOL CSnifferThread::CreateAdapterNameList(char *device)
> > {
> >    temp = (WCHAR *)device;
> >    while (*temp != 0 )
> >    {
> > //...
> >      temp++;
> >      m_iAdapterNum++;
> >    }
> > }
> >
> > Here cycle while never works because the first WCHAR is zero.
> > I removed the leading zeros.
> >
> > -Igor
> >
> >
>
>





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Kaboodle-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kaboodle-devel

Reply via email to