Nbtstat vs. nmblookup & MAC addresses
rsharpe at richardsharpe.com
Fri Apr 16 01:19:39 GMT 2004
On Thu, 15 Apr 2004, Phillip Ames wrote:
> Both responses are identical (I have ethereal captures of both). Ethereal
> interpets the MAC as 'Unit ID' and its position in the packet is after the
> last 'Name Flags' information (0xa400, P-node, group, active). This leads
> me to think the MAC is not returned as one of the flags.
OK, I can see that. It also seems like Samba does not fill in the Unit ID
field, so it is displayed as 00-00-00-00-00-00 on Windows.
> Nmblookup seems to get its information from "struct node_status
> *node_status_query(int fd,struct nmb_name *name, struct in_addr to_ip, int
> *num_names)" in libsmb/namequery.c.
OK, it looks lile node_status_query is simply not returning enough info,
and might not be parsing enough of the response packet, either.
> However, "free_packet(p2);" is called just before node_status is returned to
> the call in nmblookup where p2 is the packet received from the other
> machine. Am I correct in assuming that this effectively discards the MAC
> address I want before the nmblookup code has a chance to get at it?
Most likely, however, the correct way to deal with it is probably to
extend node_status_query to pass in a pointer to a structure that will
contain the additional information.
Richard Sharpe, rsharpe[at]richardsharpe.com, rsharpe[at]samba.org,
More information about the samba-technical