[jcifs] Scanning networks using the master browser via jcifs

Allen, Michael B (RSCH) Michael_B_Allen at ml.com
Tue Aug 13 09:06:28 EST 2002


Are you aware that listFiles() on an SmbFile created with an SMB URL of "smb://" will
list all workgroups/domains known to the local master browser? Similarly
"smb://workgroup" will list all members of that workgroup. In practice you might miss
some groups if the network is somewhat unstable like in a university dorm environment
but in general these functions should provide what you are asking. No?

> -----Original Message-----
> From:	Anish Acharya [SMTP:anish.acharya at casero.com]
> Sent:	Monday, August 12, 2002 6:57 PM
> To:	jcifs at lists.samba.org
> Subject:	[jcifs] Scanning networks using the master browser via jcifs
> 
> We need to implement something that does the following through jCIFS,
> but unfortunately jCIFS doesn't seem to handle multiple responses for a
> request (only one host is returned when looking for a master browser,
> and one host is returned when looking for members of a domain).
> 
> In a paragraph :
> 
> 	We need to determine what WORKGROUPS are on the network,
> 	determine what hosts are part of the WORKGROUP, and then
> 	determine what shares are on each of those machines
> 
> In pseudocode
> 
> 	Get All MASTER BROWSERS
> 	For each Master Browser
> 		Determine MB's domain
> 		Get List of members of the Domain
> 		For each member
> 			Determine the names of the available shares
> 		End-For
> 	End-For
> 
> An implementation that could be cludged with shell, awk and co..
> 
> Get all master browsers on the system
> 
> $  nmblookup  -M "-"
> querying __MSBROWSE__ on 10.255.255.255
> 10.1.1.86 __MSBROWSE__<01>
> 10.1.1.59 __MSBROWSE__<01>
> 10.1.1.88 __MSBROWSE__<01>
> 10.1.1.67 __MSBROWSE__<01>
> 10.1.1.87 __MSBROWSE__<01>
> 10.1.1.3 __MSBROWSE__<01>
> 
> Choose each of the MB :
> 
> $  nmblookup -M "-" -S -U 10.1.1.3
> querying __MSBROWSE__ on 10.1.1.3
> 10.1.1.3 __MSBROWSE__<01>
> Looking up status of 10.1.1.3
> 	MAIN-SRV        <00> -         M <ACTIVE>
> 	MAIN-SRV        <20> -         M <ACTIVE>
> 	CASERO          <00> - <GROUP> M <ACTIVE>
> 	CASERO          <1c> - <GROUP> M <ACTIVE>
> 	CASERO          <1b> -         M <ACTIVE>
> 	CASERO          <1e> - <GROUP> M <ACTIVE>
> 	MAIN-SRV        <03> -         M <ACTIVE>
> 	MAIN-SRV        <6a> -         M <ACTIVE>
> 	INet~Services   <1c> - <GROUP> M <ACTIVE>
> 	IS~MAIN-SRV     <00> -         M <ACTIVE>
> 	CASERO          <1d> -         M <ACTIVE>
> 	..__MSBROWSE__. <01> - <GROUP> M <ACTIVE>
> 	MAIN-SRV        <87> -         M <ACTIVE>
> 
> Get the DOMAIN or WORKGROUP (<1b> or <1d>)
> 
> $  nmblookup  CASERO
> querying CASERO on 10.255.255.255
> 10.1.1.3 CASERO<00>
> 10.1.1.55 CASERO<00>
> 10.1.1.104 CASERO<00>
> 
> Choose each of the hosts.
> 
> $ smbclient -L 10.1.1.55
> added interface ip=10.1.1.99 bcast=10.255.255.255 nmask=255.0.0.0
> Password:
> Doing spnego session setup (blob length=104)
> OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
> 
> 	Sharename      Type      Comment
> 	---------      ----      -------
> 	IPC$           IPC       Remote IPC
> 	SharedDocs     Disk
> 	SQL BACKUP     Disk
> 
> 
> -----
> 
> The information contained in this message is proprietary of Casero Inc.,
> protected from disclosure, and may be privileged. The information is
> intended to be conveyed only to the designated recipient(s) of the
> message. If the reader of this message is not the intended recipient,
> you are hereby notified that any dissemination, use, distribution or
> copying of this communication is strictly prohibited and may be
> unlawful. If you have received this communication in error, please
> notify us immediately by replying to the message and deleting it from
> your computer. Thank you.
> 




More information about the jcifs mailing list