What happened to winipcfg and netmon?


Commenter Michael Moulton asks:

Back in the Win95 & 98 days, we had winipcfg to manage DHCP leases on the client. Additionally, we had an app (I think it was netmon) to let you view people currently accessing your shares.

Now, we have ipconfig on the command line and nothing like netmon.

I'd be interested in hearing why those tools weren't retained.

Let's start with winipcfg. On the Windows NT side, the tool for managing IP addresses has always been ipconfig, and it hasn't gone away. It's still there in Windows Vista. The winipcfg program was created for Windows 3.1 as a workaround because Windows 3.1 didn't have a console subsystem. The program was retained in Windows 95 because Windows 95 was based on Windows 3.1. The workaround wasn't ported to Windows NT because Windows NT already had the functionality, as a console program, which is probably how it should have been done in the first place.

Oh wait, that is how it was done in the first place.

In other words, the question isn't why winipcfg changed to ipconfig but rather why ipconfig changed to winipcfg. The change was a workaround, and now the workaround is no longer needed.

Meanwhile, the functionality provided by netmon exists in the Windows NT series as an MMC snap-in. The quickest way to get to it is to right-click the My Computer icon and select Manage, then go to the Shared Folders node.

(This question really wasn't in my area, since I never worked on networking. I'm just answering the question based having used Windows for a while and not being afraid to look around.)

Comments (32)
  1. CGomez says:

    One of the most common complaints I hear from fellow developers is: "Why does Microsoft change everything all the time?" or some variation of that.  Then there are the usual answers of incompetence or greed (I guess if UI changes or functionality changes, that makes money somehow).

    My experience is that MSFT changes things with great discretion, because you have decades of software that still has to work.  And like Raymond said, it’s not that big a deal to go looking around.

    Many times, like in this article, it’s merely the viewpoint that changes.  Someone comes to WinNT (via XP, for example) from Win9x and presumes that "everything’s changed" when really… you’ve changed platforms.

  2. Neil says:

    Actually which of winipcfg and ipconfig you should use on Windows 95 depends on whether you have the Winsock 2 update applied.

    You can emulate ipconfig using a batch file (which I shall call ipconfig.bat):

    @winipcfg %1 /batch ipconfig.out

    @type ipconfig.out^Z

    (that’s a Ctrl+Z; the reason I use @ and Ctrl+Z is left as an exercise for the reader.)

    Interestingly it displays "Memphis IP Configuration" (assuming I’m running the right version).

  3. Karellen says:

    “The winipcfg program was created for Windows 3.1 as a workaround because Windows 3.1 didn’t have a console subsystem.”

    But it did have the DOS box console application. And there wasn’t any security in place with Win 3.1, so any program run from a DOS box should have been able to affect anything on the system, so I don’t quite get why ipconfig would not have run from there.

    Even with the discussion and links provided by the last time you talked about the console subsystem[0], I’m still not sure exactly what it does, so am not sure why the Win 3.1 DOS box isn’t equivalent.

    Anyone?

    [0] http://blogs.msdn.com/oldnewthing/archive/2007/12/31/6909007.aspx

    [Understanding the difference between the DOS box and the console subsystem is left as an exercise for the reader. -Raymond]
  4. Gabe says:

    The one advantage of winipcfg is that you could type "winipcfg" into the Run… box and see all the stuff you’re looking for. I often see people type "ipconfig" into the Run… box, only to get a console window to flash on the screen. No doubt it’s maddening for tech support people trying to tell people over the phone how to do a release/renew cycle.

  5. But there is a winipcfg for XP!

    But you have to download it, and it’s called wntipcfg.exe

    I just rename it to winipcfg.exe and copy it to the system32 folder in all my computers.

    http://www.microsoft.com/downloads/details.aspx?familyid=00A974B4-0BFA-4065-8081-BBAEBF2A5CB6&displaylang=en

  6. Yuhong Bao says:

    "And there wasn’t any security in place with Win 3.1, so any program run from a DOS box should have been able to affect anything on the system"

    Unless you write a VxD, you can’t, because a DOS box in Windows 3.x and 9x are separate VMs.

  7. Yuhong Bao says:

    "And there wasn’t any security in place with Win 3.1, so any program run from a DOS box should have been able to affect anything on the system"

    Unless you write a VxD, you can’t, because a DOS box in Windows 3.x and 9x are separate VMs.

  8. Stefan Kanthak says:

    What happened to the WNTIPCFG.EXE from the Windows NT4 and 2000 Resource Kit Tools?

    See http://support.microsoft.com/kb/927229

    and http://support.microsoft.com/kb/291998

    and http://support.microsoft.com/kb/273582

  9. 640k says:

    Why wasn’t winipcfg called ipconfig?

    [You know the answer to this already. Just think a little harder. -Raymond]
  10. David Walker says:

    Carlos:  Why do you do that?  I just use ipconfig.  Which is easier since it doesn’t require downloading, renaming, and copying.

  11. Max says:

    I figured I might as well comment on the netmon deal. "net share" at a cmd line will show you all the shares ( if you absolutely feel like looking at it from a console box :) ). However viewing current sessions and open files you will need to be elevated in Vista ( or Admin in prior versions ). net.exe will let you do lots of things from a cmd line networking related.

  12. Ben Cooke says:

    I must confess that it’s been many years and I don’t recall exactly what was in the winipcfg window, but from memory I think its moral equivalent on modern NT is the thing that appears if you double-click a network connection in the "Network Connections" window.

    It has (on a secondary tab) information about the current IP configuration, and a "Repair" button that seems to basically do ipconfig /release followed by ipconfig /renew. (I’m sure it does some other things too, but I don’t really care exactly what it does as long as it refreshes the DHCP lease.)

  13. Marc K says:

    "In other words, the question isn’t why winipcfg changed to ipconfig but rather why ipconfig changed to winipcfg."

    I always thought it had something to do with the in-fighting between the 9X and NT groups.  You know the same reason that 9X got the Toolhelp API while NT4 got the PSAPI API.  

  14. Michael Moulton says:

    Thanks Raymond!  I had forgotten all about asking this one.  I didn’t realize ipconfig had existed in NT since I went 3.1 -> 95 -> 98 -> XP.

    I’m a command line fan, but when you’re trying to talk someone who doesn’t know what they’re doing through a process, winipcfg was a lot easier than ipconfig.  I’ll have to try out the version mentioned in the comments.

  15. Mark says:

    It’s probably more that an NT version of Winipcfg meant an excessive amount of paperwork.  This is presumably why WntIpCfg was only in the NT 3.51 Resource Kit (unsupported afterthoughts) – someone thought it was worth it, but couldn’t make a case.  The Connection Status window of Windows 2000 meant a windows-based tool was no longer needed, so ipconfig was again the "right" way.

    I also don’t remember seeing netmon in Windows Me, so perhaps it was part of the move to "hide" networking from home users?

  16. BryanK says:

    Ben Cooke: Indeed, the "repair" option does a lot more than that.  It unregisters from DNS (at least, I hope it does that part, but I’ve never tested or seen it), releases the DHCP lease, disconnects from any connected wireless network (if the card is wireless), and completely disables the card (via PnP).  Then it does all that in reverse: enables the card, reassociates (if applicable), asks for a new DHCP lease, then re-registers in DNS.

    (Actually there might be a step or two that I missed, but these are the steps I’ve been able to see it doing in the dialog whenever the wireless APs are acting stupid and users have to reconnect.  Or whenever the local driver is acting stupid and the user has to disable the card to flush out some broken state in the driver.)

  17. Wesha says:

    The quickest way to get to it is to right-click the My Computer icon and select Manage

    How it is the quickest again? (Unless you have no windows open of course…)

    Nitpickers Corner: Win+D might sound cool only until you have to manually restore all the windows back to their open state after you’re finished working with whatever you got to the desktop for.

  18. Mark says:

    Wesha: because, unless you’re stuck in the 90s, My Computer is on the Start Menu.

  19. Robert Del Favero says:

    It’s worth noting that Microsoft currently offers a tool called NetMon for download, but it’s a network protocol analyzer (i.e. a packet sniffer,) not the tool Raymond’s commenter describes. It’s useful for debugging what your network-enabled program is passing over the network, but not an effective tool for determining who’s viewing your shares.

  20. Ben Cooke says:

    BryanK: This question will verge on the off-topic, but since you mentioned it in passing…

    You say that the Repair button "unregisters from DNS". I must say, I’ve always been a little hazy (and, sadly, not curious enough to look into this in detail myself) on the interation between the DNS and DHCP services on a purely Windows network. Do clients in Windows networks really write into the DNS themselves?

    On a UNIX-oriented network I have associations with, the DHCP server is the only client with access to make changes to our dynamically-populated DNS zone; it writes in an A record when it issues a lease, and removes it later when the lease is released or it expires.

    This seems to me to be the sensible implementation, since otherwise authenticated clients could cause all sorts of havok by writing lies into the DNS. Does Windows do some clever trick to avoid this? (It wouldn’t surprise me if it does. Windows networking does seem to have a lot of clever tricks up its sleeve that make everything seem to work together more smoothly out of the box, at the expense of being incredibly surprising/mysterious to cranky old folks like myself.)

  21. BryanK says:

    Agreed, way off topic, so I’ll try to keep it short: Yes, the clients can update their DNS records themselves.  There is some sort of authentication required, at least when DNS is hosted in the AD LDAP tree (and the only reason I know that is because I’ve seen it break), and I suspect it requires the machine to know its domain account credentials.

    (In this case, "authenticated clients" means any Windows box that has been added to the domain, presumably by an admin.  And the client can only update its own DNS (A/PTR) records, not any other random record; you need some higher level of auth (like domain admin, or possibly DNS admin, if that exists) before the DNS server will let you do the latter.)

    I also find it much more sensible to have the DHCP server set up DNS, especially when the DHCP lease times out because the client has been off for a week.  (And that’s how I have it set up at home.)  There do seem to be options to work this way in Windows’ DHCP server, but I believe you’re only "supposed" to use them if you have non-domain-account machines.

  22. Ulric says:

    Off topic, but as you know, the My Computer icon is no longer on desktop in Vista by default. The sysadmin swore loudly at every Vista machine they setup for months. :)

    It was a sysadmin that showed me ‘Manage’ was there only about a year go – I always go in the control panel.  

    I think this "Manage" context menu item is one of those secret handshake shortcut that might prevents people at Microsoft from seeing how the Control Panel has become daunting to users.

  23. What happened to the resource kit tools of Windows 2000? Some of them were broken on XP or XPSP2 and never updated.

  24. Eric TF Bat says:

    While you’re digging around in ancient DOS history, here’s a question I’ve had at the back of my head for years.  There was a command in early DOS versions, possibly as late as DOS 7, called TRUENAME.  You type it at a DOS prompt, and it tells you where you are.  That is, if you’re on a network share or a SUBST drive (and that’s a golden oldie I used to love!) the TRUENAME command told you the real name.  I’ve probably wished I had it maybe a dozen times in the last decade, but it’s gone from the Windows Command Prompt now.  Is there any chance you saw it leave, and can figure out which way it went after it left the building?  I miss it, and would like to hear what it’s been doing with itself since it went away…

  25. Neil says:

    MS-DOS 5 had TRUENAME which I seem to remember worked not only with SUBST but with both Windows for Workgroups (in a DOS box) and Novell mapped drives. Under Windows 95 TRUENAME only seems to work with SUBST and Novell mapped drives (and it doesn’t handle long file names either). Under Windows 2000/XP TRUENAME seems to be useless.

  26. Cheong says:

    True. If you want to show subst-ed paths, you could just type "subst". If you want to show mapped network paths, you could just use "net use". There’s also "truename.bat" on the web that mix these two commands to perform what "truename" does.

  27. Skip says:

    you can’t really do truename for files anyways, with NTFS, because there isn’t really a unique canonical name for a file any more.   With hard links there could be any number of "true" names.

  28. Robbie Mosaic says:

    "Why does Microsoft change everything all the time?" — because Microsoft is innovative(TM).

    [Understanding the difference between the DOS box and the console subsystem is left as an exercise for the reader. -Raymond]

    For the first difference the time I encounter a console program in Windows 98, it was that my _default.pif specifies DOS program windows to be left open after they finish, but console programs aren’t ruled by this.

    Later I found there are actually three types of programs that use the console: 16-bit DOS programs, 32-bit DOS programs (supports long file names on Windows 9x), Win32 (32-bit) console programs.  32-bit DOS programs are something that I have never written so I don’t know how they are 32-bit?

  29. Carl says:

    “Nitpickers Corner: Win+D might sound cool only until you have to manually restore all the windows back to their open state after you’re finished working with whatever you got to the desktop for.”

    Then do Win+E instead and click ‘Manage’ from the context menu of My Computer there…

    [Or just hit Win+D again. -Raymond]
  30. Yuhong Bao says:

    "Later I found there are actually three types of programs that use the console: 16-bit DOS programs, 32-bit DOS programs (supports long file names on Windows 9x), Win32 (32-bit) console programs.  32-bit DOS programs are something that I have never written so I don’t know how they are 32-bit?"

    32-bit DOS programs in 3.x, 9x, and NT usually use a DOS extender, which uses DPMI to enter protected mode. Otherwise, they are the same of 16-bit DOS programs.

  31. Carl says:

    Hitting Win+D again doesn’t really work in this scenario, because the workflow goes:

    Win+D

    MyComputer->Manage

    Win+D at this point will just minimize the MMC window, rather than restoring the previous window states.

    C

    [All right, then Win+Shift+M. -Raymond]
  32. Dan says:

    ""Why does Microsoft change everything all the time?" — because Microsoft is innovative(TM)."

    You can’t make everyone happy.  Lots of people insist Vista is the perfect example that MS needs to change more in Windows… Windows 7 with its MinWin approach sounds like a step in the right direction but so did Vista before it got half its feature set postponed until Windows 7.  So we’ll have to wait and see.

Comments are closed.