MAC flooding is een techniek die wordt gebruikt om de beveiliging van computernetwerken te compromitteren. Het komt erop neer, dat een tabel van een ethernetswitch met zeer veel gegevens wordt overvoerd, waardoor de switch zich zodanig gaat gedragen dat netwerkverkeer afgeluisterd kan worden, of zelfs aanvallen op computers kunnen worden uitgevoerd. Dit gedrag wordt veelal vergeleken met dat van een hub. Vaak zijn computers in een lokaal netwerk zoals een thuisnetwerk via een ethernetswitch met de rest van de computers en met het Internet verbonden.
De tabel die een switch gebruikt om MAC-adressen aan fysieke poorten van de switch te koppelen, heet de CAM-tabel. Dankzij deze tabel kan een switch snel zien, naar welke poort netwerkverkeer moet gaan. Dit in tegenstelling tot een hub, die gegevens naar alle poorten stuurt, wat broadcasten genoemd wordt. Doordat een switch de data die voor een enkele computer bestemd is slechts naar een van de poorten stuurt, kan deze data op andere poorten van de switch niet afgetapt of afgeluisterd worden. Verder is het sturen van de data naar slechts een van de poorten veel efficiënter.
Bij een typische MAC flooding-aanval worden er zeer veel ethernet frames (dit zijn een soort datapakketjes, op ethernetniveau) met verschillende MAC-adressen als adres van oorsprong gestuurd naar een ethernetswitch. Hierdoor raakt het gereserveerde geheugen van de genoemde CAM-tabel vol, waardoor er geen ruimte meer is voor nieuwe MAC-adressen.
Wat het effect van een MAC flooding-aanval is, kan per ethernetswitch verschillen. De aanvaller zal trachten ervoor te zorgen, dat legitieme MAC adressen uit de tabel van de ethernetswitch zullen verdwijnen, waardoor veel binnenkomend verkeer over alle poorten van de etherswitch wordt gestuurd. Dit verschijnsel heet flooding, en MAC flooding dankt hier zijn naam aan. Een MAC flooding-aanval is meer dan een denial-of-serviceaanval. Als een MAC flooding-aanval succesvol is, kan een hacker gegevens van het netwerk afluisteren. Ook is het mogelijk, een ARP spoofing-aanval in te zetten na een succesvolle aanval. Als de switch van de MAC flooding-aanval is hersteld, kan een hacker zijn machine ongeoorloofd toegang verschaffen tot een netwerk als de ARP spoofing-aanval is geslaagd.
Er zijn verschillende manieren mogelijk waarop men zich verdedigt tegen MAC flooding. Met port security kan men zorgen, dat enkel een beperkt aantal machines via een ethernetswitch verbinding met het netwerk kunnen hebben, waardoor de CAM-tabel niet overladen kan raken. Verder kunnen fabrikanten van ethernetswitches zorgen, dat er meer geheugen beschikbaar is voor de CAM-tabel, iets wat op zichzelf nooit voldoende verdediging kan bieden tegen dit soort aanvallen, want de hoeveelheid geheugen is met de huidige technologieën altijd eindig. Een switch kan detecteren dat er uitzonderlijk veel nieuwe MAC-adressen in zeer korte tijd geregistreerd worden, en kan zorgen dat dit niet geaccepteerd wordt, waarmee een MAC flooding-aanval kan worden afgekapt.
Er bestaan verschillende computerprogramma's waarmee een MAC flooding-aanval kan worden ingezet. Voorbeelden hiervan zijn Macof, dat voor linux beschikbaar is, en EtherFlood dat op verschillende besturingssystemen, zoals linux en windows, werkt.