interface is the interface name, and
address is the IP address to be assigned to the
interface. This may be either an IP address in dotted quad notation or a
name that ifconfig will look up in
If ifconfig is invoked with only the interface
name, it displays that interface’s configuration. When invoked without
any parameters, it displays all interfaces you have configured so far;
-a option forces it to show the inactive ones
as well. A sample invocation for the Ethernet interface
eth0 may look like this:
ifconfig eth0eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:42 inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0 UP BROADCAST RUNNING MTU 1500 Metric 0 RX packets 3136 errors 217 dropped 7 overrun 26 TX packets 1752 errors 25 dropped 0 overrun 0
Metric fields show the
current MTU and metric value for that interface. The metric value is
traditionally used by some operating systems to compute the cost of a route.
Linux doesn’t use this value yet, but defines it for compatibility,
TX lines show how
many packets have been received or transmitted error free, how many
errors occurred, how many packets were dropped (probably because of
low memory), and how many were lost because of an overrun. Receiver
overruns usually occur when packets come in faster than the kernel can
service the last interrupt. The flag values printed by
ifconfig roughly correspond to the names of its
command-line options; they will be explained later.
The following is a list of parameters recognized by ifconfig with the corresponding flag names. Options that simply turn on a feature also allow it to be turned off again by preceding the option name by a dash (-).
This option makes an interface accessible to the IP layer. This option
is implied when an
address is given on the
command line. It may also be used to reenable an interface that has
been taken down temporarily using the
This option corresponds to the flags
This option marks an interface inaccessible to the IP layer. This effectively disables any IP traffic through the interface. Note that this option will also automatically delete all routing entries that use this interface.
This option assigns a subnet mask to be used by the interface. It may be given as either a 32-bit hexadecimal number preceded by 0x, or as a dotted quad of decimal numbers. While the dotted quad format is more common, the hexadecimal representation is often easier to work with. Netmasks are essentially binary, and it is easier to do binary-to-hexadecimal than binary-to-decimal conversion.
This option is
used for point-to-point IP links that involve only two hosts. This option is
needed to configure SLIP or PLIP interfaces, for example. If a point-to-point address has been set, ifconfig displays
The broadcast address is usually made up from the network number by
setting all bits of the host part. Some IP implementations (systems
derived from BSD 4.2, for instance) use a different scheme in which
all host part bits are cleared instead. The
broadcast option adapts to these strange
environments. If a broadcast address has been set, ifconfig displays the
This option may be used to assign a metric value to the routing table entry created for the interface. This metric is used by the Routing Information Protocol (RIP) to build routing tables for the network. The default metric used by ifconfig is zero. If you don’t run a RIP daemon, you don’t need this option at all; if you do, you will rarely need to change the metric value.
This sets the Maximum Transmission Unit, which is the maximum number of octets the interface is able to handle in one transaction. For Ethernets, the MTU defaults to 1,500 (the largest allowable size of an Ethernet packet); for SLIP interfaces, it is 296. (There is no constraint on the MTU of SLIP links; this value is a good compromise.)
This is an option specific to broadcast networks such as Ethernets or packet
radio. It enables the use of the Address Resolution Protocol (ARP) to detect
the physical addresses of hosts attached to the network. For broadcast
networks, it is on by default. If ARP is disabled, ifconfig displays the
This option disables the use of ARP on this interface.
This option puts the interface in promiscuous mode. On a broadcast network, this makes the interface receive all packets, regardless of whether they were destined for this host or not. This allows network traffic analysis using packet filters and such, also called Ethernet snooping. Usually, this is a good technique for hunting down network problems that are otherwise hard to detect. Tools such as tcpdump rely on this.
On the other hand, this option allows attackers to do nasty things,
such as skim the traffic of your network for passwords. You can
protect against this type of attack by prohibiting just anyone from
plugging their computers into your Ethernet. You could also use
secure authentication protocols, such as Kerberos or the secure shell
login suite. This option corresponds to the
This option turns promiscuous mode off.
Multicast addresses are like Ethernet broadcast addresses, except that
instead of automatically including everybody, the only people who
receive packets sent to a multicast address are those programmed to
listen to it. This is useful for applications like Ethernet-based
videoconferencing or network audio, to which only those interested can
listen. Multicast addressing is supported by most, but not all,
Ethernet drivers. When this option is enabled, the interface receives
and passes multicast packets for processing. This option corresponds to the
This option turns multicast addresses off.
 RIP chooses the optimal route to a given host based on the “length”
of the path. It is computed by summing up the individual metric values of each
host-to-host link. By default, a hop has length 1, but this may be any
positive integer less than 16. (A route length of 16 is equal to infinity.
Such routes are considered unusable.) The
sets this hop cost, which is then broadcast by the routing daemon.