The utility is a command line interface tool and is also used in the system startup scripts of many operating systems. It has features for configuring, controlling, and querying TCP/IP network interface parameters. Ifconfig originally appeared in 4.2BSD as part of the BSD TCP/IP suite.
Common uses for
ifconfig include setting the IP address and netmask of a network interface and disabling or enabling an interface. At boot time, many UNIX-like operating systems initialize their network interfaces with shell-scripts that call ifconfig. As an interactive tool, system administrators routinely use the utility to display and analyze network interface parameters. The following two examples show the output of the tool when querying the state of a single active interface each on a Linux-based host (interface eth0) and the ural0 interface on an OpenBSD installation.
eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42 inet addr:192.168.1.128 Bcast: Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0 TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1761467179 (1679.7 Mb) TX bytes:2870928587 (2737.9 Mb) Interrupt:28
ural0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0d:0b:ed:84:fb media: IEEE802.11 DS2 mode 11b hostap (autoselect mode 11b hostap) status: active ieee80211: nwid ARK chan 11 bssid 00:0d:0b:ed:84:fb 100dBm inet 172.30.50.1 netmask 0xffffff00 broadcast 172.30.50.255 inet6 fe80::20d:bff:feed:84fb%ural0 prefixlen 64 scopeid 0xa
- HWaddr : hardware address, MAC address.
- The parameter txqueuelen is measured in number of Ethernet frames and is the size of the buffer that is being managed by the network scheduler.
Media access control functions
ifconfig is also commonly used to change the media access control (MAC) address of an interface. In this process, the network interface is first disabled (set down) with the
ifconfig command, followed by a MAC change command:
ifconfig wlan0 down ifconfig wlan0 hw ether 13:11:20:33:49:66 ifconfig wlan0 up
The free Berkeley Software Distribution UNIX operating systems (e.g., NetBSD, OpenBSD, and FreeBSD) continue active development of
ifconfig and extension of its functionality to cover the configuration of wireless networking interfaces, VLAN trunking, controlling hardware features such as TSO or hardware checksumming or setting up bridge and tunnel interfaces. Solaris has historically used
ifconfig for all network interface configuration, but as of Solaris 10 introduced dladm to perform data-link (OSI model layer 2) configuration, reducing
ifconfig's purview to IP configuration.
In older Linux distributions,
ifconfig, in conjunction with the
route command, was used to connect a computer to a network, and to define routes between networks.
ifconfig for Linux is part of the
net-tools package, released as the latest version 1.60 on April 15, 2001.
Some Linux distributions have deprecated the use of
route in favor of the software suite
iproute2, which has been available since 1999 for Linux 2.2.
iproute2 includes support for all common functions of
netstat(1). It also includes multicast configuration support, tunnel and virtual link management, traffic control, and low-level IPsec configuration, among other features.
Another higher-level Linux command line tool is
ifquery). In addition to controlling the interfaces, it also provides control of other aspects of the network such as specifying the DNS servers to use. The command is configured using the file
/etc/network/interfaces, which contains "stanzas" for each interface.
Network Manager is a Linux daemon that automatically reconfigures the network in dynamic environments, such as moving between WiFi hotspots. It is usually used in conjunction with a graphical front-end such as GNOME Shell.
Versions of Microsoft Windows from Windows 95 to Windows Me used winipcfg to give a graphical display of current IP information.
ipconfig, a command similar to
ifconfig, comes with Microsoft operating-systems based on the Windows NT kernel.
ipconfig also controls the Windows DHCP client.
In macOS, the
ifconfig command functions as a wrapper to the IPConfiguration agent, and can control the BootP and DHCP clients from the command-line. Use of
ifconfig to modify network settings in Mac OS X is discouraged, because
ifconfig operates below the level of the system frameworks which help manage network configuration. To change network settings in Mac OS X from the command line, use
iwconfig, a component of Wireless tools for Linux, which took its name from
ifconfig, manages wireless network interfaces outside the original scope of Linux's
iwconfig sets such specialized settings as a wireless network's SSID and WEP keys, and functions in tandem with
iwlist. Linux also features
iwspy, to read the signal, noise and quality of a wireless connection.
ifconfig(8), official manpage for Linux net-tools ifconfig
ifconfig(8), manpage for the FreeBSD ifconfig
ifconfig(8), manpage for the OpenBSD ifconfig
ifconfig(8), manpage for the Solaris
networksetup(8), manpage for the Mac OS X networksetup
ipconfigfor Windows on a technet.microsoft.com
ip, manpage for the Linux command
net-toolspage, which includes sources of the Linux version of ifconfig
net-toolsfuture thread, from current maintainers
- Network Configuration, Debian
- Quick HOWTO : Ch02 : Introduction to Linux Networking
- Ifconfig Command Tutorial