Setting Up HOSTS Files

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Microsoft TCP/IP can be configured to search the local host table file, HOSTS, for mappings of remote host names to IP addresses. The HOSTS file format is the same as the format for host tables in the Version 4.3 Berkeley Software Distribution (BSD) UNIX /etc/hosts file. For example, the entry for a computer with an address of and a host name of TREY.RESEARCH.COM looks similar to this:

Edit the sample HOSTS file that is created when you install TCP/IP to include remote host names and their IP addresses for each computer with which you will communicate. This sample file also explains the syntax of the HOSTS file.

Host names are used in virtually all TCP/IP environments. A host name always corresponds to an IP address that is stored in a HOSTS file or on a DNS server and is assigned by an administrator to identify a TCP/IP host or default gateway. A host name can be used in place of an IP address when using ping or other TCP/IP utilities.

Host names are not used in the Windows 95 network user interface, such as Network Neighborhood or NET.EXE. The only time a host name is used to access a Windows–based computer is when ping or ftp or another TCP/IP utility is used. In this case, the host name and corresponding IP address must be stored in a HOSTS file.

The HOSTS file is a static file used to map host names to IP addresses. This file provides compatibility with the UNIX HOSTS file. The following describes HOSTS file entries:

  • A single entry consists of an IP address corresponding to one or more host names.

  • Entries are case-sensitive. Therefore, it is a good idea to assign multiple host names with different cases.

For example, to connect to the UNIX host ARCHIVE.RESEARCH.COM at the IP address, make two entries in the HOSTS file:   ARCHIVE.RESEARCH.COM

This way, a user can connect to ARCHIVE using a utility, whether or not the CAPS LOCK is enabled.

A HOSTS file must reside on each system. By default, the host name localhost is an entry in the HOSTS file with the loopback address

The HOSTS file is parsed whenever a host name is referenced. Names are read in a linear fashion. The most commonly used names should be near the beginning of the file. HOST file entries do not replace or interact with Windows-based NetBIOS computer names in any way.

The following shows the default HOSTS file provided with Windows 95.

# Copyright (c) 1994 Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows 95
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
# Additionally, comments (such as these) may be inserted on individual
# lines or following the computer name denoted by a '#' symbol.
# For example:
#          # source server
#              # x client host     localhost
On This Page

Setting Up LMHOSTS Files

Setting Up LMHOSTS Files

When you use Microsoft TCP/IP on a local network with any combination of computers running Windows 95, Windows NT, LAN Manager, or Windows for Workgroups, server names are automatically matched to their corresponding IP addresses. However, to match server names across remote networks connected by routers (or gateways), you can use the LMHOSTS file if WINS servers are not available on the network. The LMHOSTS file is commonly used to locate remote computers for Microsoft networking file, printer, and remote access services, and for domain services such as logon, browsing, replication, and so on.

The LMHOSTS file used by Windows 95 contains mappings of IP addresses to Microsoft networking computer names (which are NetBIOS names). Microsoft LAN Manager 2.x TCP/IP LMHOSTS files are compatible with Microsoft TCP/IP.

Microsoft TCP/IP loads the LMHOSTS file into memory when the computer is started. The LMHOSTS file is a text file in the Windows directory that lists the IP addresses and computer names of remote Windows networking servers that you want to communicate with. The LMHOSTS file should list all the names and IP addresses of the servers you regularly access.

For example, the LMHOSTS table file entry for a computer with an address of and a NetBIOS computer name of Finance1 looks like this:      finance1

The format for the LMHOSTS file is the same as the format for host tables in 4.2 MSD UNIX systems. The computer name is optionally enclosed in quotation marks (this is necessary for computer names that contain spaces).

To create an LMHOSTS file

  1. Use a text editor to create a file named LMHOSTS, or edit the default file named LMHOSTS.SAM in the Windows directory and then save this file as LMHOSTS.

  2. In the LMHOSTS file, type the IP address and the host name of each computer that you want to communicate with. Separate the items with at least one space.

Entries in the LMHOSTS file are not case-sensitive.

You will want to use LMHOSTS for smaller networks or to find hosts on remote networks that are not part of the WINS database (because name query requests are not broadcast beyond the local subnetwork). If WINS servers are in place on an internetwork, users do not have to rely on broadcast queries for name resolution, because WINS is the preferred method for name resolution. Therefore, with WINS servers in place, LMHOSTS may not be necessary.

However, the LMHOSTS file is read when WINS or broadcast name resolution fails, and resolved entries are stored in a system cache for later access. When the computer uses the replicator service and does not use WINS, LMHOSTS entries are required on import and export servers for any computers on different subnetworks participating in the replication.

You can use Notepad or any other text editor to edit the sample LMHOSTS.SAM file that is automatically installed in the Windows directory. The following rules apply for entries in LMHOSTS:

  • Each entry should be placed on a separate line.

  • The IP address should begin in the first column, followed by the corresponding computer name.

  • The address and the computer name should be separated by at least one space or tab.

  • The # character is usually used to mark the start of a comment. However, it can also designate special keywords, as described in this section.

The keywords listed in the following table can be used in LMHOSTS using Microsoft TCP/IP. Notice, however, that LAN Manager 2.x treats these keywords as comments.




Added after an entry to cause that entry to be preloaded into the name cache. By default, entries are not preloaded into the name cache but are parsed only after WINS and name query broadcasts fail to resolve a name. #PRE must be appended for entries that also appear in #INCLUDE statements; otherwise, the entry in #INCLUDE is ignored.


Added after an entry to associate that entry with the domain specified by domain. This keyword affects how the Browser and Logon services behave in routed TCP/IP environments. To preload a #DOM entry, you must also add the #PRE keyword to the line.

#INCLUDE filename

Forces the system to seek the specified filename and parse it as if it were local. Specifying a Universal Naming Convention (UNC) filename allows you to use a centralized LMHOSTS file on a server. You must add a mapping for the server before its entry in the #INCLUDE section and also append #PRE to ensure that it is preloaded (otherwise, the #INCLUDE will be ignored).


Used to group multiple #INCLUDE statements. Any single successful #INCLUDE statement causes the group to succeed.


Used to mark the end of an #INCLUDE grouping.


Support for nonprinting characters in NetBIOS names. Enclose the NetBIOS name in double quotation marks and use \0xnn hexadecimal notation to specify a hexadecimal value for the character. This allows custom applications that use special names to function properly in routed topologies. However, LAN Manager TCP/IP does not recognize the hexadecimal format, so you surrender backward compatibility if you use this feature.
Notice that the hexadecimal notation applies only to one character in the name. The name should be padded with blanks so the special character is last in the string (character 16).

The following example shows how all of these keywords are used:      localsrv   #PRE      trey      #PRE   #DOM:networking   #net group's PDC   "appname        \0x14"      #special app server   popular      #PRE      #source server
#INCLUDE \\localsrv\public\lmhosts      #adds LMHOSTS from this server
#INCLUDE \\trey\public\lmhosts      #adds LMHOSTS from this server

In the preceding example:

  • The servers named localsrv and trey are preloaded so they can be used later in an #INCLUDE statement in a centrally maintained LMHOSTS file.

  • The server named "appname \0x14" contains a special character after the 15 characters in its name (including blanks), so its name is enclosed in double quotation marks.

  • The server named popular is preloaded, based on the #PRE keyword.

Guidelines for LMHOSTS

When you use a host table file, be sure to keep it up to date and organized. Follow these guidelines:

  • Update the LMHOSTS file whenever a computer is changed or removed from the network.

  • Use #PRE statements to preload popular entries into the local computer's name cache and to preload servers that are included with #INCLUDE statements.

  • Because LMHOSTS files are searched one line at a time from the beginning, you can increase the speed of searches for the entries used most often by placing frequently used servers near the top of the file. Follow these with less frequently used servers, and then remote #INCLUDE statements. The #PRE entries should be at the end of the file, because these are preloaded into the cache at system startup time and are not accessed later. Comment lines add to the parsing time, because each line is processed individually.