- https://en.wikipedia.org/wiki/Link_layer - the group of methods and communications protocols that only operate on the link that a host is physically connected to. The link is the physical and logical network component used to interconnect hosts or nodes in the network and a link protocol is a suite of methods and standards that operate only between adjacent network nodes of a local area network segment or a wide area network connection.
Despite the different semantics of layering in TCP/IP and OSI, the link layer is sometimes described as a combination of the data link layer (layer 2) and the physical layer (layer 1) in the OSI model. However, the layers of TCP/IP are descriptions of operating scopes (application, host-to-host, network, link) and not detailed prescriptions of operating procedures, data semantics, or networking technologies.
- https://en.wikipedia.org/wiki/MAC_address - or media access control address of a device is a unique identifier assigned to a network interface controller (NIC) for communications at the data link layer of a network segment. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth. In this context, MAC addresses are used in the medium access control protocol sublayer. As typically represented, MAC addresses are recognizable as six groups of two hexadecimal digits, separated by hyphens, colons, or no separator (see Notational conventions below).
- https://github.com/alobbs/macchanger - GNU MAC Changer is an utility that makes the manipulation of MAC addresses of network interfaces easier.
- ModemManager - a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB dongles, bluetooth-paired telephones, or professional RS232/USB devices with external power supplies, ModemManager is able to prepare and configure the modems and setup connections with them.
- Michael Kohn - tin can phone modem - Here's the popular "science experiment" of a phone made from tin cans and some kite string. This time instead of sending voice from one can to the other, data will be sent using a short beep for 0 and a long beep for 1 with a longer start beep to begin the transmission. A transmitter circuit on one end takes data from UART cable to a PC and relays the data through a speaker in one can. The receiver circuit has a microphone in the can and UART cable to relay the response back to the PC.
- https://github.com/wb2osz/direwolf - a software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, as a tracker, digipeater, APRStt gateway, or Internet Gateway (IGate).
- kitz.co.uk - DSL Broadband Information - one of the UK's largest DSL broadband resource & information sites.This site contains a wealth of information such as how ADSL & VDSL (fibre) broadband works.There's tips on choosing an ISP, help comparing ISP prices and ISP performance.A large section of the site is devoted to self help diagnostics and what to do if you run into problems with your broadband connection, such as how to get dsl line stats from your router to understanding how such things as SNR and attenuation can affect your connection. There's also a vast array of tutorials and FAQs about broadband.
- LibreSpeed - Speedtest - Free and Open Source Speedtest. No Flash, No Java, No Websocket, No Bullshit.
- https://en.wikipedia.org/wiki/ARCNET - or ARCnet, is a communications protocol for local area networks. ARCNET was the first widely available networking system for microcomputers; it became popular in the 1980s for office automation tasks. It was later applied to embedded systems where certain features of the protocol are especially useful.
- http://dtrace.org/blogs/rm/2016/09/15/turtles-on-the-wire-understanding-how-the-os-uses-the-modern-nic 
- https://en.wikipedia.org/wiki/RDMA_over_Converged_Ethernet - a network protocol that allows remote direct memory access (RDMA) over an Ethernet network. There are two RoCE versions, RoCE v1 and RoCE v2. RoCE v1 is an Ethernet link layer protocol and hence allows communication between any two hosts in the same Ethernet broadcast domain. RoCE v2 is an internet layer protocol which means that RoCE v2 packets can be routed. Although the RoCE protocol benefits from the characteristics of a converged Ethernet network, the protocol can also be used on a traditional or non-converged Ethernet network.
- WiGLE.net - All the networks. Found by Everyone.
- https://en.wikimedia.org/wiki/IEEE_802.11 - a, b, g, n, etc.
- https://arstechnica.com/information-technology/2017/03/802-eleventy-what-a-deep-dive-into-why-wi-fi-kind-of-sucks/ 
- https://en.wikipedia.org/wiki/Wi-Fi_over_Coax - a technology for extending and distributing Wi-Fi signals via coaxial cables. 
802.11b / Wi-Fi 1
- https://en.wikipedia.org/wiki/IEEE_802.11b-1999 - a maximum raw data rate of 11 Mbit/s, and uses the same media access method defined in the original
802.11a / Wi-Fi 2
- https://en.wikipedia.org/wiki/IEEE_802.11a-1999 - provides protocols that allow transmission and reception of data at rates of 1.5 to 54Mbit/s. It has seen widespread worldwide implementation, particularly within the corporate workspace. While the original amendment is no longer valid, the term "802.11a" is still used by wireless access point (cards and routers) manufacturers to describe interoperability of their systems at 5.8 GHz, 54 Mbit/s (54 x 106 bits per second).
802.11g / Wi-Fi 3
- https://en.wikipedia.org/wiki/IEEE_802.11g-2003 - throughput to up to 54 Mbit/s using the same 2.4 GHz band as 802.11b.
802.11n / Wi-Fi 4
- https://en.wikipedia.org/wiki/IEEE_802.11n - standardized support for multiple-input multiple-output, frame aggregation, and security improvements, among other features, and can be used in the 2.4 GHz or 5 GHz frequency bands. The purpose of the standard is to improve network throughput over the two previous standards—802.11a and 802.11g—with a significant increase in the maximum net data rate from 54 Mbit/s to 600 Mbit/s (slightly higher gross bit rate including for example error-correction codes, and slightly lower maximum throughput) with the use of four spatial streams at a channel width of 40 MHz.
802.11ac / Wi-Fi 5
- https://en.wikipedia.org/wiki/IEEE_802.11ac - a wireless networking standard in the 802.11 set of protocols (which is part of the Wi-Fi networking family), providing high-throughput wireless local area networks (WLANs) on the 5 GHz band. The standard was developed in the IEEE Standards Association from 2008 (PAR approved 2008-09-26) through 2013 and published in December 2013 (ANSI approved 2013-12-11). The standard has been retroactively labelled as Wi-Fi 5 by Wi-Fi Alliance. The specification has multi-station throughput of at least 1 gigabit per second (1 Gbit/s) and single-link throughput of at least 500 megabits per second (0.5 Gbit/s). This is accomplished by extending the air-interface concepts embraced by 802.11n: wider RF bandwidth (up to 160 MHz), more MIMO spatial streams (up to eight), downlink multi-user MIMO (up to four clients), and high-density modulation (up to 256-QAM). The Wi-Fi Alliance separated the introduction of ac wireless products into two phases ("wave"), named "Wave 1" and "Wave 2". From mid-2013, the alliance started certifying Wave 1 802.11ac products shipped by manufacturers, based on the IEEE 802.11ac Draft 3.0 (the IEEE standard was not finalized until later that year). Subsequently in year 2016, Wi-Fi Alliance introduced the Wave 2 certification, which includes additional features like MU-MIMO, 160 MHz channel width support, support for more 5 GHz channels, and four spatial streams (with four antennas; compared to three in Wave 1 and 802.11n, and eight in IEEE's 802.11ac specification). It meant Wave 2 products would have higher bandwidth and capacity than Wave 1 products.
802.11ax / Wi-Fi 6
- https://en.wikipedia.org/wiki/IEEE_802.11ax - marketed as Wi-Fi 6 by Wi-Fi Alliance, is one of the two Wi-Fi specifications standards of IEEE 802.11 expecting full deployment in late 2019; the other is IEEE 802.11ay. They can be thought of as High Efficiency Wireless. 802.11ax is designed to operate in all ISM bands between 1 and 6 GHz when they become available for 802.11 use, in addition to the 2.4 and 5 GHz bands already allocated. Devices presented at CES 2018 claimed a combined 11 Gbit/s of theoretical data rates. For dense deployments, throughput speeds are 4× higher than IEEE 802.11ac, even though the nominal data rate is just 37% faster at most. Latency is also down 75%. To improve spectrum efficient utilization, the new version introduces better power control methods to avoid interference with neighboring networks, orthogonal frequency-division multiple access (OFDMA), higher order 1024-QAM, and up-link direction added with the down-link of MIMO and MU-MIMO to further increase throughput, as well as dependability improvements of power consumption and security protocols such as Target Wake Time and WPA3.
- https://en.wikipedia.org/wiki/IEEE_802.11ay - a proposed enhancement to the current technical standards for Wi-Fi. It is the follow-up of IEEE 802.11ad, quadrupling the bandwidth and adding MIMO up to 4 streams. It will be the second WiGig standard.
- wpa_supplicant - a WPA Supplicant for Linux, BSD, Mac OS X, and Windows with support for WPA and WPA2 (IEEE 802.11i / RSN). It is suitable for both desktop/laptop computers and embedded systems. Supplicant is the IEEE 802.1X/WPA component that is used in the client stations. It implements key negotiation with a WPA Authenticator and it controls the roaming and IEEE 802.11 authentication/association of the wlan driver. wpa_supplicant is designed to be a "daemon" program that runs in the background and acts as the backend component controlling the wireless connection. wpa_supplicant supports separate frontend programs and a text-based frontend (wpa_cli) and a GUI (wpa_gui) are included with wpa_supplicant. wpa_supplicant uses a flexible build configuration that can be used to select which features are included. This allows minimal code size (from ca. 50 kB binary for WPA/WPA2-Personal and 130 kB binary for WPA/WPA2-Enterprise without debugging code to 450 kB with most features and full debugging support; these example sizes are from a build for x86 target).
iwlist wlan0 scanning
- https://wiki.archlinux.org/index.php/iwd - a wireless daemon for Linux, written by Intel aiming to replace WPA supplicant. IWD works standalone or in combination with ConnMan or NetworkManager. It comes with different enhancements like an own crypto-library, called ELL, which docks directly into the Linux Kernel cryptography.
- hostapd - a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, mac80211-based drivers) and FreeBSD (net80211).hostapd is designed to be a "daemon" program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.
- https://bitbucket.org/xoseperez/espurna - ESPurna ("spark" in Catalan) is a custom firmware for ESP8266 based smart switches. It was originally developed with the IteadStudio Sonoff in mind but now it supports a growing number of ESP8266-based boards. It uses the Arduino Core for ESP8266 framework and a number of 3rd party libraries.
- PyRF - an openly available, comprehensive development environment for wireless signal analysis. PyRF handles the low-level details of configuring a device, real-time data acquisition and signal processing, allowing you to concentrate on your analysis solutions. Hence, it enables rapid development of powerful applications that leverage the new generation of measurement-grade software-defined radio technology, such as ThinkRF Real-Time Spectrum Analysis Software.
- https://github.com/martin-ger/esp_wifi_repeater - an implementation of a WiFi NAT router on the esp8266 and esp8285. It also includes support for a packet filtering firewall with ACLs, port mapping, traffic shaping, hooks for remote monitoring (or packet sniffing), an MQTT management interface, and power management. For a setup with multiple routers in a mesh to cover a larger area a new mode "Automesh" has been included
- Better Wi-Fi: FILS - FILS is short for Fast Initial Link Setup. It's the term used to describe IEEE 802.11ai – the IEEE amendment in progress with the sole aim of setting standards for a wireless client to establish a link with an AP in much lesser time than it does today.
- Revolution Wi-Fi: Wake on Wireless LAN - Similar to Wake-on-LAN (WoL), Wake on Wireless LAN (WoWLAN) is a technology that allows remote wake-up of workstations from a standby power state to facilitate device management. WoWLAN is based on the well-established WoL standard used over wired Ethernet networks, and can provide similar functionality and benefits.
- https://github.com/v1s1t0r1sh3r3/airgeddon - This is a multi-use bash script for Linux systems to audit wireless networks.
- https://en.wikipedia.org/wiki/Wi-Fi_Direct - initially called Wi-Fi P2P(Peer to Peer), is a Wi-Fi standard enabling devices to easily connect with each other without requiring a wireless access point. Wi-Fi Direct allows two devices to establish a direct Wi-Fi connection without requiring a wireless router. Hence, Wi-Fi Direct is single radio hop communication, not multihop wireless communication, unlike wireless ad hoc networks and mobile ad hoc networks. Wi-Fi ad hoc mode, however, supports multi-hop radio communications, with intermediate Wi-Fi nodes as packet relays. Wi-Fi becomes a way of communicating wirelessly, much like Bluetooth. It is useful for everything from internet browsing to file transfer, and to communicate with one or more devices simultaneously at typical Wi-Fi speeds. One advantage of Wi-Fi Direct is the ability to connect devices even if they are from different manufacturers. Only one of the Wi-Fi devices needs to be compliant with Wi-Fi Direct to establish a peer-to-peer connection that transfers data directly between them with greatly reduced setup. Wi-Fi Direct negotiates the link with a Wi-Fi Protected Setup system that assigns each device a limited wireless access point. The "pairing" of Wi-Fi Direct devices can be set up to require the proximity of a near field communication, a Bluetooth signal, or a button press on one or all the devices.
- 802.11: Part 1: P2P aka WiFi Direct - Introduction and Configuration of wpa_supplicant in Linux kernel version 3.8.3
- https://github.com/networkimprov/p2p-host - Handle WiFi P2P connections via wpa_supplicant
- 802.16 - WiMax
- 802.22 - white space
- 802.20 - Mobile-Fi
- http://akbars.net/how-steve-perlmans-revolutionary-wireless-technology-works-and-why-its-a-bigger-deal-than-anyone-realizes.html 
- iw - a new nl80211 based CLI configuration utility for wireless devices. It supports all new drivers that have been added to the kernel recently. The old tool iwconfig, which uses Wireless Extensions interface, is deprecated and it's strongly recommended to switch to iw and nl80211.
- https://github.com/uoaerg/wavemon - wavemon is an ncurses-based monitoring application for wireless network devices
- hostapd - a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, mac80211-based drivers) and FreeBSD (net80211). hostapd is designed to be a "daemon" program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.
- wifite - An automated wireless attack tool.
- You Are a Rogue Device - A New Apparatus Capable of Spying on You Has Been Installed Throughout Downtown Seattle. Very Few Citizens Know What It Is, and Officials Don’t Want to Talk About It. 
- WiGLE - Wireless Network Mapping
sudo wpa_cli wps_pbc # WPS Push-button mode sudo wpa_cli wps_pin any <the pin> # For WPS Pin mode
- https://github.com/wiire-a/pixiewps - a tool written in C used to bruteforce offline the WPS PIN exploiting the low or non-existing entropy of some software implementations, the so-called "pixie-dust attack" discovered by Dominique Bongard in summer 2014. It is meant for educational purposes only. As opposed to the traditional online brute-force attack, implemented in tools like Reaver or Bully which aim to recover the pin in a few hours, this method can get the PIN in only a matter of seconds or minutes, depending on the target, if vulnerable.
- https://github.com/aanarchyy/bully - a new implementation of the WPS brute force attack, written in C. It is conceptually identical to other programs, in that it exploits the (now well known) design flaw in the WPS specification. It has several advantages over the original reaver code. These include fewer dependencies, improved memory and cpu performance, correct handling of endianness, and a more robust set of options. It runs on Linux, and was specifically developed to run on embedded Linux systems (OpenWrt, etc) regardless of architecture.
- https://en.wikipedia.org/wiki/UUCP - an abbreviation of Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers. Specifically, a command named uucp is one of the programs in the suite; it provides a user interface for requesting file copy operations. The UUCP suite also includes uux (user interface for remote command execution), uucico (the communication program that performs the file transfers), uustat (reports statistics on recent activity), uuxqt (execute commands sent from remote machines), and uuname (reports the UUCP name of the local system).
- https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol - SLIP, an encapsulation of the Internet Protocol designed to work over serial ports and modem connections. It is documented in RFC 1055. On personal computers, SLIP has been largely replaced by the Point-to-Point Protocol (PPP), which is better engineered, has more features and does not require its IP address configuration to be set before it is established. On microcontrollers, however, SLIP is still the preferred way of encapsulating IP packets due to its very small overhead.
- https://en.wikipedia.org/wiki/Parallel_Line_Internet_Protocol - PLIP - direct computer-to-computer communications using the parallel port normally used for connections to a printer.The Parallel Line Internet Protocol provides Link Layer services for the Internet Protocol, the protocol used for forming small local area networks and large computer networks, such as the Internet, enabling computers without standard dedicated networking hardware, such as Ethernet, but with older parallel port devices, to communicate.
- https://en.wikipedia.org/wiki/Point-to-Point_Protocol - PPP - a data link protocol used to establish a direct connection between two nodes. It can provide connection authentication, transmission encryption (using ECP, RFC 1968), and compression. PPP is used over many types of physical networks including serial cable, phone line, trunk line, cellular telephone, specialized radio links, and fiber optic links such as SONET. PPP is also used over Internet access connections. Internet service providers (ISPs) have used PPP for customer dial-up access to the Internet, since IP packets cannot be transmitted over a modem line on their own, without some data link protocol. Two derivatives of PPP, Point-to-Point Protocol over Ethernet (PPPoE) and Point-to-Point Protocol over ATM (PPPoA), are used most commonly by Internet Service Providers (ISPs) to establish a Digital Subscriber Line (DSL) Internet service connection with customers.
Audio / ultrasonic
- https://github.com/quiet/quiet - Transmit data with sound. Includes binaries for soundcards and .wav files. 
- https://github.com/Katee/quietnet - Simple chat program that communicates using inaudible sounds
- CUE - Smartphone Light Shows | Data over Sound
- https://github.com/ggerganov/wave-share - A proof-of-concept for WebRTC signaling using sound. Works with all devices that have microphone + speakers. Runs in the browser.Nearby devices negotiate the WebRTC connection by exchanging the necessary Session Description Protocol (SDP) data via a sequence of audio tones. Upon successful negotiation, a local WebRTC connection is established between the browsers allowing data to be exchanged via LAN. 
- https://github.com/ggerganov/ggwave/tree/master/examples/r2t2 - Transmit data with the PC speaker