DECA Report
DECA Report
Bachelor of Engineering
in
TANISHA SHARMA
(2310990901)
TANREET KAUR
(2310990902)
TARANGIT CHHABRA
(2310990904)
TARUN SAINI
(2310990905)
Bachelor of Engineering
in
TANISHA SHARMA
(2310990901)
TANREET KAUR
(2310990902)
TARANGIT CHHABRA
(2310990904)
TARUN SAINI
(2310990905)
This is to certify that the project titled ”WIFI DEAUTHER” submitted to the
Chitkara University Institute of Engineering and Technology (CUIET) by
TANISHA SHARMA(2310990901), TANREET KAUR(2310990902),
TARANGIT CHHABRA(2310990904), TARUN SAINI (2310990905) is a bonafide
record of the work done by the students towards partial fulfilment of requirements for
the course- Digital Electronics and Computer Architecture (23IC001) of Bachelor of
Engineering in Computer Science and Engineering.
Signature
Contribution Details:
Completion of this project would not have been possible without the help of many people,
to whom we are very thankful. First of all, we would like to convey our sincere thanks to Dr.
Rajneesh Talwar, Dean, CUIET-DICE, Chitkara University, Punjab for his constant support,
motivation and encouragement towards projects and proving healthy environment for working
on real time problems.
We express our sincere gratitude to Dr. Sunil Kumar, Associate Dean, CSE-I year for
his constant support and cooperation.
We would like to express our sincere gratitude to our supervisor, …….#project guide
name with designation….. His/Her constant motivation, guidance and support helped us a great
deal to achieve this feat.
We also thank our lab instructors Mr. Umesh Joshi, Mr. Subhash Kumar, Mr. Madan
Mohan Sharma and Mr. Rakesh who guided and helped us in many ways in project as well as
in lab experiments throughout the semester.
We wish a deep sense of gratitude and heartfelt thanks to the management for providing
excellent lab facilities and tools.
ABSTRACT
This project ventures into the fascinating, yet ethically sensitive, realm of Wi-Fi
security through the development and analysis of a custom deauther tool built with an ESP8266
Wi-Fi protocols and the potential vulnerabilities therein. The constructed deauther, meticulously
designed to comply with ethical guidelines and operate solely on authorized networks, serves as
implementation and exploration of beacon flooding methods, fake access point creation, and
targeted disconnections, users gain invaluable insights into the inner workings of Wi-Fi security
architecture. However, the project doesn't stop at technical exploration. It emphasizes the crucial
tools and fostering awareness of potential misuse. By delving into legal regulations and
highlighting the importance of informed consent, the project encourages responsible technology
usage and promotes a mindful approach to Wi-Fi network security. Ultimately, this project serves
as a valuable conduit for technical learning, while concurrently nurturing responsible citizens in
In summary, this DECA project showcases the integration of digital electronics, computer
tool.
Technology Stack:
Arduino IDE, NodeMCU ESP8266, C and CPP
TABLE OF CONTENTS
Certificate
Candidates’ Declaration
Acknowledgement
Abstract
List of Figures
Table of Contents
1 INTRODUCTION
2 RELATED WORK
3 HARDWARE COMPONENTS
4 PROJECT DETAILS
5 RESULTS
References
Appendix A
Source Code
CHAPTER 1
INTRODUCTION
In the rapidly evolving landscape of digital technology, the intersection of Digital Electronics and
Computer Architecture (DECA) stands as a crucial domain for understanding and shaping the
future of computing systems. This project delves into the realm of cybersecurity within DECA,
security assessment.
Networking has become an indispensable facet of our connected world, and as technology
progresses, so do the challenges associated with securing our digital infrastructure. Wireless
and addressed proactively. In response to this imperative, the project places a spotlight on the
creation of a deauthentication tool that employs a network adapter to execute targeted attacks.
By integrating principles of digital electronics and computer architecture, the project encapsulates
a holistic approach to understanding the inner workings of network security. The careful
orchestration of a controlled environment ensures that the deauthentication attacks are conducted
responsibly, solely targeting networks under the ownership or authorization of the researcher.
The use of Aircrack-ng, a versatile suite renowned in the ethical hacking community, adds a layer
legal frameworks that govern cybersecurity practices. The project aligns with the principles of
In essence, this project serves as a gateway to the dynamic intersection of DECA, networking,
and ethical hacking, providing a platform for enthusiasts and researchers to delve into the
intricacies of secure digital communication while maintaining the highest standards of ethical
responsibility.
CHAPTER 2
RELATED WORK
Wi-Fi deauthers, also known as deauthentication devices, have garnered attention due
network. While some projects focus on security research and education, others raise
ethical concerns. Let’s explore a few existing projects related to Wi-Fi jammers:
• Description: This project aims to create a Wi-Fi jammer using Python scripts.
• Features:
o Written in Python.
2. ShockWave (DubiousCactus/ShockWave)
• Features:
o White-list functionality.
• Features:
4. Tostapane (n0nexist/Tostapane)
• Features:
o Python-based.
In conclusion, Wi-Fi jammers serve as both educational tools and potential security
responsible usage.
CHAPTER 3
HARDWARE COMPONENTS
1.NodeMCU ESP2866:
1. Work Principle:
2. Function:
projects.
1. Function:
pixels.
icons.
power applications.
2. Work Principle:
individual pixels.
1.Function:
components.
2.Work Principle:
material.
PROJECT DETAILS
Introduction
testing vulnerabilities with robust safety measures to prevent misuse and ensure
responsible development.
Circuit/Block Diagram
Working of Project
network.
frustration.
2. Working Principle:
frame, even a fake one targeting its MAC address and access point, it's
o They operate within a specific frequency range (typically from 2.4 GHz
o The deauther's range depends on factors like its antenna and transmit
tens of meters.
❖ ESPlorer IDE
o Code Editor: Provides a text editor for writing and editing Arduino sketches
CHAPTER 5
RESULTS
The WiFi Deauthenticator project focuses on detecting and mitigating Denial-of-
Service (DoS) attacks specifically targeting wireless networks. Here are the key details
about this project:
1. Objective:
2. Background:
3. Project Scope:
4. Detection Approach:
o The project combines packet crafting skills using Scapy (a Python
library for packet manipulation) and Python scripting.
Application Areas:
The WiFi Deauthenticator project has practical applications in several areas related to
wireless networks and security. Here are some key application domains:
attacks.
Conclusion:
(DOS) attacks. By crafting custom packets using Python’s Scapy library, it detects
vulnerabilities in wireless networks. The tool helps ethical hackers and network
administrators assess network security, troubleshoot issues, and raise awareness about
WiFi attacks. Responsible usage is crucial to prevent misuse and maintain network
stability.
REFERENCES
https://deauther.com/
#include "Accesspoints.h"
Accesspoints::Accesspoints() {
list = new SimpleList<AP>;
}
void Accesspoints::sort() {
list->setCompare([](AP& a, AP& b) -> int {
if (WiFi.RSSI(a.id) > WiFi.RSSI(b.id)) return -1;
return 1;
});
list->sort();
changed = true;
}
void Accesspoints::sortAfterChannel() {
list->setCompare([](AP& a, AP& b) -> int {
if (WiFi.channel(a.id) < WiFi.channel(b.id)) return -1;
return 1;
});
list->sort();
changed = true;
}
void Accesspoints::add(uint8_t id, bool selected) {
list->add(AP{ id, selected });
changed = true;
}
void Accesspoints::printAll() {
prntln(AP_HEADER);
int c = count();
if (c == 0) prntln(AP_LIST_EMPTY);
else
for (int i = 0; i < c; i++) print(i, i == 0, i == c - 1);
}
void Accesspoints::printSelected() {
prntln(AP_HEADER);
int max = selected();
if (selected() == 0) {
prntln(AP_NO_AP_SELECTED);
return;
}
int c = count();
int j = 0;
if (header) {
prntln(AP_TABLE_HEADER);
prntln(AP_TABLE_DIVIDER);
}
prnt(leftRight(String(), (String)num, 2));
prnt(leftRight(String(SPACE) + getSSID(num), String(), 33));
prnt(leftRight(String(SPACE) + getNameStr(num), String(), 17));
prnt(leftRight(String(SPACE), (String)getCh(num), 3));
prnt(leftRight(String(SPACE), (String)getRSSI(num), 5));
prnt(leftRight(String(SPACE), getEncStr(num), 5));
prnt(leftRight(String(SPACE) + getMacStr(num), String(), 18));
prnt(leftRight(String(SPACE) + getVendorStr(num), String(), 9));
prntln(leftRight(String(SPACE) + getSelectedStr(num), String(), 9));
if (footer) {
prntln(AP_TABLE_DIVIDER);
}
}
if (getHidden(num)) {
return str(AP_HIDDE_SSID);
} else {
String ssid = WiFi.SSID(getID(num));
ssid = ssid.substring(0, 32);
ssid = fixUtf8(ssid);
return ssid;
}
}
return names.find(getMac(num));
}
return WiFi.channel(getID(num));
}
return WiFi.RSSI(getID(num));
}
return WiFi.encryptionType(getID(num));
}
String Accesspoints::getEncStr(int num) {
if (!check(num)) return String();
switch (getEnc(num)) {
case ENC_TYPE_NONE:
return String(DASH);
break;
case ENC_TYPE_WEP:
return str(AP_WEP);
break;
case ENC_TYPE_TKIP:
return str(AP_WPA);
break;
case ENC_TYPE_CCMP:
return str(AP_WPA2);
break;
case ENC_TYPE_AUTO:
return str(AP_AUTO);
break;
}
return String(QUESTIONMARK);
}
String Accesspoints::getSelectedStr(int num) {
return b2a(getSelected(num));
}
return WiFi.BSSID(getID(num));
}
return searchVendor(getMac(num));
}
return WiFi.isHidden(getID(num));
}
return list->get(num).selected;
}
return list->get(num).id;
}
internal_select(num);
prnt(AP_SELECTED);
prntln(getSSID(num));
changed = true;
}
internal_deselect(num);
prnt(AP_DESELECTED);
prntln(getSSID(num));
changed = true;
}
void Accesspoints::remove(int num) {
if (!check(num)) return;
prnt(AP_REMOVED);
prntln(getSSID(num));
internal_remove(num);
changed = true;
}
void Accesspoints::selectAll() {
for (int i = 0; i < count(); i++) list->replace(i, AP{ list->get(i).id, true });
prntln(AP_SELECTED_ALL);
changed = true;
}
void Accesspoints::deselectAll() {
for (int i = 0; i < count(); i++) list->replace(i, AP{ list->get(i).id, false });
prntln(AP_DESELECTED_ALL);
changed = true;
}
void Accesspoints::removeAll() {
while (count() > 0) internal_remove(0);
prntln(AP_REMOVED_ALL);
changed = true;
}
int Accesspoints::count() {
return list->size();
}
int Accesspoints::selected() {
int c = 0;
for (int i = 0; i < list->size(); i++) c += list->get(i).selected;
return c;
}
prnt(AP_NO_AP_ERROR);
prntln((String)num);
return false;
}