14 February 2009

Home NetworkHere’s a little problem that drove me crazy: How do you determine the Master Browser in a Windows Workgroup?

First of all, lemme explain a bit about how a workgroup works. When you have a LAN set up running Windows machines, each machine can see all the others in Network Neighborhood (or just “Network” in Vista). If you want to see the files on another machine, you just go to Network Neighborhood, click, et voila!

The other method you can use is to open Windows Explorer (keyboard shortcut: Win-E) and in the location/address bar, type:

\\COMPUTER-NAME

So, if you want to go to the computer called BALTHAZAR, you’d type:

\\BALTHAZAR

And hit enter. This is handy to know if Network Neighborhood is not working. And a grumpy Network Neighborhood is exactly the reason why sometimes, you need to find out which computer is the Master Browser.

On a local area network (LAN), each computer “talks” to the others. Each computer has an IP address, like 192.168.0.27, and also a name. The name is what you call your computer so you and your friends don’t have to remember the IP address. In our example above, the computer name is BALTHAZAR, but the IP address might be 192.168.0.27. Fabulous.

So, what happens is that each computer on the LAN must talk to the others. Since we’re only dealing with a workgroup, and there is no domain server, there is no computer to keep track of what machines are active on the network. This is where the Master Browser schtick comes into play.

What happens is that all the computers on your LAN hold an “election”. This election depends on a number of factors, but for the purposes of this discussion, we just have to know that all the computers get together and vote on who will be the Master Browser on the LAN. Once a computer is elected, it will keep track of what machines are connected to the LAN by more or less sending messages to say, “Yo! You still there?”

Of course, you may ask: What happens when the computer that is the Master Browser gets shut down when, say, I go to bed? In that case, you will find that your Network Neighborhood may not work so well. At that point, all the computers on the LAN get together again and they hold another election. As I understand it, there are one or more “Backup Master Browsers” waiting in the wings, but we’ll ignore that for now.

Now, what happens when you have Network Neighborhood turning up blank on you sporadically, or possibly missing several of the computers on your LAN from time to time? Well, in that case, you need to determine who is the Master Browser so that you can narrow down the problem to one computer and see if maybe you need an updated ethernet driver, or there are firewall problems, or whatever.

The “fun” way of doing this is with DOS commands. Here’s how you’d do it:

  1. Open up a command prompt
  2. Type net view and hit enter
  3. Look at the list of computer names. These are the computers on your LAN. Note that the format is \\COMPUTER-NAME like I talked about above.
  4. For each name in the list, type the following command: nbtstat -a COMPUTER-NAME

One of the results from the nbtstat commands will show a row with “_MSBROWSE_” in it. That means that this computer is the Master Browser.

Wasn’t that fun?

No, it wasn’t.

So, I wrote a little script in Ruby to do this for you. I needed to in order to troubleshoot a networking problem on one machine on my LAN, and I didn’t want to type 10-20 commands every time. But as long as I was writing it, I figured I would jack it up a bit. Here’s what it does:

  • net view net view /domain to determine the list of workgroup names
  • net view /domain:[WORKGROUP] to determine the list of puter names for each [WORKGROUP]
  • extracts the individual computer names and sticks them in an array
  • iterates through the array and calls ping -n 1 -4 COMPUTER-NAME on each computer name (we only want to display IPv4 addresses, hence the “-4” switch)
  • iterates through the array of IP addresses and calls nbtstat -A IP-ADDRESS (the “-A” means “I’m giving you an IP address instead of a computer name”. This is a more reliable way of doing things.)
  • After each call to nbtstat, it not only checks for the _MSBROWSE_ string, but it also records the MAC address of the network adapter in the remote computer.
  • iterates through all the data and displays a nicely formatted table, like so:
Scanning LAN...

BERT            192.168.0.102   00-18-C0-42-A3-B2   CHEESE
BIGBUBBALOU     192.168.0.103   00-26-32-1F-72-ED   WORKGROUP
RHINOX          192.168.0.101   00-00-00-00-00-00   WORKGROUP   MASTER
Q               192.168.0.100   00-28-F6-68-F5-48   WORKGROUP
RADDAR          192.168.0.105   00-02-0D-74-FC-33   CHEESE
ANGELINA        192.168.0.106   00-B0-7E-C3-F7-A4   CHEESE
MOP             192.168.0.104   00-1B-8C-56-01-52   CHEESE      MASTER
AI              192.168.0.107   00-6A-83-6B-A0-83   WORKGROUP

Press any key to exit...

I wrote this little script in Ruby because it was fast and easy. But I didn’t want to have to call it from a command prompt with ruby all the time, and I wanted others to be able to use it without having to install Ruby on their own computers. So, I compiled it into a self-contained executable using RubyScript2Exe, and I added a pretty icon with Resource Hacker. Now my nifty little 2kB script is a lovely 1.5MB executable. Well, ya know… You can’t have everything. It may be bloated, but at least it works!

You can run it from the command line, or from Windows. It’s best to put the file in your Windows directory. It won’t run properly unless it’s on your boot drive (usually C:). From version 1.6, it will run just fine even from a USB stick. If plopped into the Windows directory itself, it will be executable from any drive or directory on your computer. Anyway, if you run it from Windows, it will just open up a command prompt window and pause before closing it so you can see the results. On my machine, it’s nice and speedy.

Oh, and one last note: it might take 30 seconds or so to scan your LAN. The more machines you have, the more work it was to do.

So, now you have a lovely tool to determine the IP address, MAC address, name, and Master Browser status of all the computers on your LAN.

UPDATE (8 June 2009): My little LANscanner program has been updated to version 1.1. It now supports the x64 flavor of Windows XP, Vista, and 7. Be sure to read the included .TXT file for install instructions!

UPDATE (27 February 2010): LANscanner has been updated to version 1.2. New in this release is the display of the workgroup for each computer, as well as formatting improvements that should make the output easier to read even with long computer/workgroup names.

UPDATE (20 March 2010): LANscanner has been updated to version 1.3. This release is mostly a bug fix for 1.2. In the older version, the only workgroup reported was the one your puter was on. Oops! That didn’t make the feature very useful. Now LANscanner will first scan for all available workgroups, and accurately report all machines on all workgroups, including which puter is the Master Browser for each workgroup. I also optimized some code here and there for good measure.

UPDATE (23 December 2012): Thanks to some adventures by frank in bahia, there is one thing you will want to check if you have problems with LANscanner. As he wrote in his comment below:

Second only to “is the PC turned on” in the obvious fix category is “is Client for Microsoft Networks installed”.

What I’ll never understand is how those things UNinstall themselves!

To make sure Client for Microsoft Networks is installed:

  1. Open Network and Sharing Center
  2. Click “Change adapter settings”
  3. Right-click your ethernet adapter and choose Properties
  4. If “Client for Microsoft Networks” does not appear in the list of items, click the “Install…” button
  5. Choose “Client” for network feature you want to add, and then click the “Add…” button
  6. Find Microsoft’s “Client for Microsoft Networks” in the list, and click OK to install it

That should be about it. Of course, the procedure above varies a little depending on whether you’re using XP, Vista, Win 7, or Win 8, but that’s the gist of it. Thanks, frank!

UPDATE (27 January 2013): Thanks to dennis, it seems the System Error 53 is caused by workgroup and/or puter names with spaces in them. This has been fixed in v1.4. Also, LANscanner is now built using Ocra 1.3.0 and Ruby 1.9.3, since RubyScript2Exe is now rather outdated and nonfunctional. The executable is now 26% smaller.

UPDATE (04 May 2013): Version 1.5 of LANscanner is now available. Changes to this version:

  1. LANscanner now speaks Swedish, French, and English. If you’d like the program to work in your language, please e-mail me the output of the command:  nbststat -A IPADDY,  for any IPADDY on your LAN
  2. If MAC address is detected as 00-00-00-00-00-00, we now use “arp -a IPADDY” to overcome Samba problems and retrieve a valid MAC address
  3. All character encodings are now supported (at the expense of increased EXE file size, but oh well).
  4. To sort the output by IP addy instead of by puter name, pass any argument to LANScanner, like so:  lanscan.exe ip
  5. Improved formatting for shorter IP addresses

Thanks to Mikael G for the “arp -a” tip!

UPDATE (07 May 2013): Version 1.51 is out. Added support for German and Polish Windows.

UPDATE (25 May 2013): Version 1.52 is out. Added support for the following command-line switches:

  1. -ip  =  sort output by IP address. Note that this has changed from the previous version!
  2. -w WORKGROUP  =  Scan only the workgroup called WORKGROUP
  3. -e WORKGROUP  =  Scan all workgroups except WORKGROUP

UPDATE (24 August 2013): Version 1.53 is out. Fixed -ip option so that IPs are properly numerically sorted.

UPDATE (11 November 2013): Version 1.54 is out. Added support for Spanish Windows.

UPDATE (27 April 2014): Version 1.55 is out. Added support for Norwegian Windows, plus the following command-line switches:

  1. -n = suppress the “Press any key to exit…” message at the end
  2. -m = Only display MASTER browsers found

UPDATE (22 October 2014): Version 1.56 is out. Added support for Portuguese, and changed to Ruby v2.0.0 + Ocra 1.3.3. Script is now bigger, but with Ruby 2 goodness!

UPDATE (17 December 2014): Version 1.57 is out. Added support for Japanese.

UPDATE (09 May 2015): Version 1.6 is out. Added support for running on any drive, not just the Windows installation drive. Will also run off a USB stick or any other drive – as long as Windows is installed on the puter.

UPDATE (27 November 2015):  Windows 10 November Update (1511) breaks LANscanner! You’re probably getting: System Error 1231 has occurred. Microsoft is aware of the problem, and will hopefully release a fix soon. SIGH…

UPDATE (25 January 2016): Version 1.61 is out. Added support for Dutch. In Windows 10, supposedly an update that should be released in March will fix the System Error 1231 issue.

UPDATE (02 Feb 2016): Version 1.62 is out. Added support for Czech.

UPDATE (18 Feb 2016): Version 1.63 is out. Fixed detection of Windows drive.

UPDATE (2 Mar 2016): AT LAST! Latest 1 March updates for Windows 10 seem to have fixed the Samba issues that busted LANscanner. So, it finally works again!

UPDATE (1 May 2016): Version 1.64 is out. Fix for puters with multiple network adapters resulting in multiple/incorrect MAC addresses and Master Browser in output

UPDATE (22 May 2016): Version 1.64 has been rebuilt with Ocra 1.3.5. When built using the Ocra 1.3.6 gem, the resulting EXE was detected as malware by a number of antivirus solutions. Should be all better now!

UPDATE (21 Aug 2016): Version 1.65 is out. Fix for Win 10 where nbtstat no longer works to get local WORKGROUP, MSBROWSE status, or MAC addy; Getting IP from PuterName is more reliable and no longer results in entries with IP but no MAC or WORKGROUP after a puter is turned off

UPDATE (24 Aug 2016): Version 1.66 is out. Rebuilt in Ruby 2.0.0 to make it work on 32-bit Windows again, fixed bug introduced in 1.65 related to new “Get IP” function on XP

UPDATE (27 Aug 2016): Version 1.67 is out. Removed fancy IP detection since it broke things… Oops!

UPDATE (28 Oct 2016): Version 1.68 is out. Added option “-nodeip www.xxx.yyy.zzz” for specifying the IPv4 of the network adapter you want to scan from/for in the case of puters with multiple network adapters. Note that VirtualBox adds its own virtual network adapter, which counts as a 2nd adapter. If you have multiple network adapters and you do not use the -nodeip option, your results may be wonky!

UPDATE (30 Jan 2018): ** LAN Scanner no longer works on Windows 10 1709 and above. **
See here for more info:

Time to switch to a HomeGroup on Windows 10

Download

Looking to expand your network? Then check out TP-LINK’s networking equipment!

How to Determine the Master Browser in a Windows Workgroup
Tagged on:                 

310 thoughts on “How to Determine the Master Browser in a Windows Workgroup

  • 28 June 2017 at 11:38
    Permalink

    Hi, when I try to start Net View on my computer (Win 7 Pro) it tells me that the service is not active …
    How do I activate it? Thank you

    Reply
    • 28 June 2017 at 11:52
      Permalink

      It should be the “Computer Browser” service in Start -> type “services” -> Click “Services”

      But, this service should be started automagically if you right-click the network icon in the system tray, go into Network and Sharing Center, and change advanced options so that file sharing is enabled.

      That should make the Computer Browser start up automatically when needed… As far as I know!

      Reply
  • 17 July 2017 at 01:08
    Permalink

    Scottie, hoping you see this and can comment.

    I have three W10 Pro PCs – two on 1703 and one still on 1607 but none of them show anything when I run this utility… would this be because NetBios over TCPIP now always seems to be disabled in W10? (I have it switched on in each adapter but ipconfig /all shows it as disabled on each PC).

    I am having issues where the two 1703 PCs can access the shares on the 1607 one but not vice-versa. They are all in the same workgroup but when I do a network scan with a tool like Advanced IP Scanner it only shows the 1607 PC (and my QNAP NAS) show up in the workgroup – the two 1703 PCs show nothing for workgroup even though they are definitely setup to be in the workgroup.

    It seems that 1703 has completely borked (or disabled) NetBIOS and many other people are reporting this too – e.g: https://social.technet.microsoft.com/Forums/en-US/1add7d03-2bc0-4d1e-9248-fef090d9ba0e/anyone-else-notice-the-network-issues-with-windows-10-creators-edition?forum=win10itpronetworking

    As someone who clearly knows the internals of this stuff it would be very interesting to get your thoughts or comments.

    Reply
    • 19 July 2017 at 18:30
      Permalink

      Several people reported that the latest batch of updates from MS has fixed this issue. But it might be, “fixed, sort of…”

      Reply
      • 26 July 2017 at 17:40
        Permalink

        I also get “Service is not active” under my Win 10 1703 version, despite the fact that the “Computer browser” service is running. I also have the latest windows updates installed:

        2017-06 Oppdatering for Windows 10 Version 1703 for x64-baserte systemer (KB4022405)

        Reply
      • 28 July 2017 at 17:58
        Permalink

        I ran lanscan (v1.68) today and got this error ‘System error 6118 has occurred. The list of servers for this workgroup is not currently available’

        I currently have 3 Win 10 PC’s live on the lan plus two Synology boxes. Any pointers as to why I get this error?

        Reply
        • 29 July 2017 at 04:36
          Permalink

          I have seen a similar error when my Seagate NAS has grabbed the Master Browser function. I have to turn off the NAS for a bit until some other device becomes Master.

          Reply
          • 29 July 2017 at 09:49
            Permalink

            Yup, that’s typical. Still today, the only way I have found to make it all work nicely is to have a linux box running 24/7 and force it to be Master by configuring samba appropriately. Then everything works. Otherwise, some NAS or fancy router or media player will cause mayhem. Or, the Windows machines will try to handle it, but it always gets screwed up in one way or another. That’s the whole reason I made LANscanner (to figure that out), and linux was the solution. Silly, but true.

  • 27 July 2017 at 13:03
    Permalink

    Just installed Win 10 Pro V1703, Build 15063.483 because the previous auto-upgrade (to what I can’t remember) borked my network browsing. Fiddled with a lot of things, no joy.
    One Mac-Mini, one Win10 machine and one Linux Mint box plus a couple of Netgear NASes.
    Still no joy – I’m tearing my ferkin hair out. Thought I knew Windows and SMB/CIFS fairly well.

    Then I remembered that the oldest NAS had an option to set itself as Master Browser – turned THAT on and presto – now I can see everything so long as that NAS box is online.

    And yep, Lanscan (thank you VERY much for that) shows the old NAS box as the Master browser.

    Something SERIOUSLY wrong with Windows then – hope they fix it. Can’t rely on that old NAS box forever!

    Andrew

    Reply
    • 27 July 2017 at 13:36
      Permalink

      Yup, that’s about right! I still use an Ubuntu box configured as Master to keep Windows networking working well. Figure that one out. 🙂

      Reply
  • 27 July 2017 at 19:25
    Permalink

    Interesting to note what happened when I ran lanscan yesterday on my LAN which had 5 computers. 3 were members of the workgroup “WORKGROUP” and 2 members of the workgroup “MOE”. Lanscan rightly listed each workgroup and the members. Quite by accident the 2 MOE computers were turned off, and I ran Lanscan again. The result was interesting:

    MOE
    “Service is not active”

    WORKGOUP
    PC-1
    PC-2
    PC-3

    Clearly the browser service is in fact active.

    Reply
  • 20 August 2017 at 14:34
    Permalink

    Not quite the expected answer, 2 PCs are showing their mapped WAN address, there is no entry for KIRSTI even though I can see that machine in explorer and also the seems to be no master browser-

    LANscanner v1.68 – ScottiesTech.Info

    Scanning LAN…

    Scanning workgroup: HOLTAIN LTD….

    ALUMINIUM 10.0.0.17 00-27-10-0e-8c-e4 HOLTAIN LTD.
    MAGNESIUM 217.146.109.181
    NEON 10.0.0.27 2c-d0-5a-1f-eb-c3 HOLTAIN LTD.
    OFFICE 217.146.109.183
    PEGGY 10.0.0.22 70-4d-7b-85-8c-2d HOLTAIN LTD.
    SILICON 10.0.0.25 c8-5b-76-46-c8-fc HOLTAIN LTD.
    SULFUR 10.0.0.7 a0-2c-36-cb-c5-27 HOLTAIN LTD.
    TIRNANOG 10.0.0.1 54-04-a6-12-98-98 HOLTAIN LTD.

    Reply
    • 21 August 2017 at 09:49
      Permalink

      Well, that’s interesting. I’ve noticed a few issues with LANscanner when there are multiple network adapters present. There doesn’t seem to be a way to more accurately get the info using the command-line tools. But having a WAN addy show up, that’s a new one!

      Reply
  • 31 August 2017 at 19:49
    Permalink

    I have a NetGear Nighthawk router and on another page I read that if I turn on readyshare SMB that it will take the master browser position.

    I am going to try it since 1703 has royally screwed my SMB shares.

    Unfortunately I don’t have any machines that I leave running that are older than 1703.

    I’m a linux admin so i could build a box, but it seems a waste to have a box running 24×7 just to fix SMB sharing when my router and two 1703 machines are always running.

    Reply
    • 31 August 2017 at 20:22
      Permalink

      I`m running an old Windows XP in a VM (VMWare Player) as a master browser for my Win 7 and Win 10 machines…

      Reply
  • 25 October 2017 at 14:07
    Permalink

    Just a quick THANK YOU for this little utility. Very handy, and informed me of some inconsistencies in my workgroup naming that I was unaware of (among other things).

    I have a somewhat complicated network containing :
    1 physical workstation (Win 10 1703) with a single NIC, 2 IPs on different subnets (1 public, 1 private)
    1 physical workstation (WIN 10 1607) with 2 NICs, both on the same subnet (private)
    3 physical Servers (1×2012, 2×2016), each with 2 NICs, all on the same subnet (all private)
    2 virtual servers (1×2012, 1xUbuntu v16), each with a single NIC, single IP, same subnet (both public)
    3 virtual workstations (1xXP, 1xWin 7, 1x Win 10), each with a single NIC, single IP, different subnets (public/private mix)

    While LANScan didn’t show me all of the IPs for every NIC (likely because I’m not using it correctly), it showed me everything I needed to resolve my issues. (Rhetorical Q : Just how exactly does a VM end up being elected as the Master Browser anyway?).

    Thank you again!

    Reply
  • 27 October 2017 at 03:27
    Permalink

    Hi, I got the following output from Win10 machine. Any ideas?

    LANscanner v1.68 – ScottiesTech.Info
    Scanning LAN…
    System error 64 has occurred.

    The specified network name is no longer available.

    Press any key to exit…

    Reply
  • 27 December 2017 at 00:28
    Permalink

    F.Y.I.: I just tried Lanscan 1.68 on my Windows 10 1709 (OS Build 16299.15) desktop and received the System Error 1231 you wrestled with back in 2015. Maybe they re-introduced it with the Fall Creators update?

    Reply
    • 10 January 2018 at 05:45
      Permalink

      I too am having problems with Lanscan on our Windows 10 PCs that are on build 1709 and 1703. In addition the Net View command is also not working I think because of changes to SMBv1 being removed or disabled in those versions of Win10.
      Will you be able to re-write your great Lanscan program to work around what Microsoft has done?

      Reply
    • 10 January 2018 at 12:21
      Permalink

      Appears to be related to the disabling of SMB1, which happened (more or less) in Win 10 1709.

      MS recommends disabling Samba v1 now, but without it the “net view” command no longer works – and neither does Network / Network Neighborhood.

      Which I guess means moving to a Homegroup, in which case Lanscan becomes totally useless!

      There doesn’t seem to be much info out there beyond that…

      Reply
  • Pingback: Time to switch to a HomeGroup on Windows 10 | Scottie's Tech.Info

Leave a Reply

Your email address will not be published. Required fields are marked *