29 / September 17, 2007
Wireless tools for Linux is a collection of user-space utilities written for Linux kernel-based operating systems to support and facilitate the configuration of device drivers of wireless network interface controllers and some related aspects of networking using the Linux Wireless Extension. The Wireless tools for Linux and Linux Wireless Extension are maintained by Jean Tourrilhes and sponsored by Hewlett-Packard.
It is included with most operating system distributions built on the Linux kernel. In many Linux distributions, this package is included by default, or based on whether a wireless card is present. If it is not automatically installed by the distribution, it is usually easy to find in binary form.
Due to the relative complexity of requiring several separate commands for one task (e.g. iwlist and iwconfig to find and sync with a wireless access point), some recommend using frontends provided by GNOME and KDE, or an application called NetGo, to manipulate these settings.
The wireless tools package is currently considered deprecated; the alternative being the more recent iw utility. Especially the
iw dev wlan0 scan output provides many additional details over the
iwlist scan output.
ifrename allows to rename wireless network interfaces based on various static criteria to assign a consistent name to each interface.
By default, interface names are dynamic, and each network adapter is assigned the first available name (eth0, eth1...) while the order network interfaces are created may vary. Now ifrename allows the user to decide what name a network interface will have. It can use a variety of selectors to match interface names to the network interfaces on the system, the most common selector is the interface MAC address.
ifrename must be run before interfaces are brought up, which is why it's mostly useful in various scripts (init, hotplug) but is seldom used directly by the user. By default it renames all present system interfaces using mappings defined in
iwconfig is used to display and change the parameters of the network interface which are specific to the wireless operation (e.g. interface name, frequency, SSID). It may also be used to display the wireless statistics (extracted from
The following command displays information about the currently associated wireless network.
$ iwconfig eth1 eth1 IEEE 802.11g ESSID:"OSU_PUB" Mode:Managed Frequency:2.427 GHz Access Point: 00:0D:9D:C6:38:2D Bit Rate=48 Mb/s Tx-Power=20 dBm Sensitivity=8/0 Retry limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=91/100 Signal level=-39 dBm Noise level=-87 dBm Rx invalid nwid:0 Rx invalid crypt:860 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:39 Missed beacon:8
iwevent displays wireless events generated by drivers and setting changes that are received through the RTNetlink socket. Each line displays the specific wireless event which describes what has happened on the specified wireless interface. It doesn't take any arguments.
iwgetid reports the ESSID, NWID or access point/cell address of the wireless network that is currently used. By default it will print the ESSID of the device, and if it doesn't have any it will print its NWID instead. The information reported is the same as the one shown by iwconfig, but iwgetid is easier to integrate in various scripts.
iwlist is used to scan for available wireless networks and display additional information about them that is not displayed by iwconfig. The main argument is used to select a category of information, iwlist displays in detailed form all information related to this category, including information already shown by iwconfig.
The following screen dialog shows the result of scanning for nearby wireless access points.
$ iwlist eth1 scan eth1 Scan completed : Cell 01 - Address: 00:12:17:46:E6:AF ESSID:"prettyflyforawifi§" [[Protocol (computing)|Protocol]]:IEEE 802.11bg Mode:Master Channel:1 Encryption key:off [[bit rate|Bit Rate]]:1 Mb/s Bit Rate:2 Mb/s Bit Rate:5.5 Mb/s Bit Rate:6 Mb/s Bit Rate:9 Mb/s Bit Rate:11 Mb/s Bit Rate:12 Mb/s Bit Rate:18 Mb/s Bit Rate:24 Mb/s Bit Rate:36 Mb/s Bit Rate:48 Mb/s Bit Rate:54 Mb/s Quality=82/100 Signal level=-48 dBm Extra: Last beacon: 36ms ago
This scan yields only one nearby wireless access point. Helpful information in this scan includes ESSID, the type of network, and signal quality.
It is used to manipulate parameters and setting of the Wireless Extension specific to each driver (as opposed to iwconfig which deals with generic ones).
Without any argument, iwpriv lists the available private commands available on each interface, and the parameters that they require. Using this information, the user may apply those interface specific commands on the specified interface.
iwspy is used to monitor a set list of nodes and record the link quality of each of them.
The information gathered is the same as that available in
/proc/net/wireless: quality of the link, signal strength and noise level. This information is updated each time a new packet is received, so each address of the list adds some overhead in the driver. Note that this functionality works only for nodes part of the current wireless cell, you can not monitor access points you are not associated with (you can use Scanning for that) and nodes in other cells. In Managed mode, in most case packets are relayed by the access point, in this case you will get the signal strength of the access point. For those reasons this functionality is mostly useful in ad hoc and master mode.
hostapd come as a pair of complementary client and host for wireless access points.
That is hostapd allows us to create access points from the command line, which allows one to share one's internet connection wirelessly, while wpa_supplicant allows us to scan and to connect to access points as a client in order to get onto the Internet.