[1] 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.
In this process, the network interface is first disabled (set down) with the ifconfig command, followed by a MAC change command: The 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.
NetworkManager is a Linux daemon that automatically reconfigures the network in dynamic environments, such as moving between WiFi hotspots.
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.
Other related tools for configuring Ethernet adapters are: ethtool, mii-tool, and mii-diag in Linux and the command dladm show-link in Solaris.