ifconfig is a Unix command which is used for viewing or configuring the status of the network interfaces. Running ifconfig with no arguments on a networked machine will give output similar to the following:

eth0      Link encap:Ethernet  HWaddr 00:01:02:A4:33:B7  
          inet addr:131.111.20.22  Bcast:131.111.255.255 Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:74317677 errors:0 dropped:0 overruns:35 frame:0
          TX packets:33354974 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:4250835559 (4053.9 Mb)  TX bytes:1946228848 (1856.0 Mb)
          Interrupt:11 Base address:0xec00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3904  Metric:1
          RX packets:3056870 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3056870 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:389462829 (371.4 Mb)  TX bytes:389462829 (371.4 Mb)

From this output, we can see that this machine has two network interfaces running: eth0 (Ethernet) and lo (loopback). Looking at the eth0 section, we see that its MAC address is 00:01:02:A4:33:B7, its IP address is 131.111.20.22, its broadcast address is 131.111.255.255, and its netmask is 255.255.0.0. The remaining lines give some diagnostic information about the amount of data being sent over the network.

If the machine is not on a network, or its networking is down, then only the loopback section will appear. If it has a dial-up connection to the Internet, there will be a ppp0 section instead of the eth0 section. The eth0 section may also have other names; for example, on HP-UX it is called lan0.

If you are root, you can use ifconfig to set up a network interface like this:

ifconfig eth0 netmask 255.255.0.0 broadcast 131.111.255.255 131.111.20.22

You don't need to do this very often, because it is run automatically during the boot process, getting its data from a file like /etc/network/interfaces (under Debian Linux) or /etc/rc.config.d/netconf (under HP-UX 10).