Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
e1fead6
Update nsl_kdd_analysis.py to Improve plot readability by increasing …
theamityadavv Aug 23, 2025
60117e7
Update README.md
theamityadavv Aug 29, 2025
214333c
Update README.md
theamityadavv Aug 29, 2025
d2ebf7c
Removed NSL-KDD dataset folder
theamityadavv Aug 29, 2025
0318e1c
Merge remote-tracking branch 'upstream/amityadav' into amityadav
theamityadavv Aug 29, 2025
abdcd47
Added back NSL-KDD dataset folder
theamityadavv Aug 29, 2025
3d458b8
Added download script for CICIDS2017, updated README, ignored dataset…
theamityadavv Aug 29, 2025
00d0a04
Updated NSL-KDD and CICIDS2017 loading and analysis script
theamityadavv Aug 29, 2025
06f9445
Merge pull request #43 from theamityadavv/amityadav
theamityadavv Aug 29, 2025
22f889b
Create project_goals.md
theamityadavv Sep 11, 2025
508dae5
Create reflection_day1.md
theamityadavv Sep 11, 2025
5008715
Update reflection_day1.md
theamityadavv Sep 11, 2025
968b0e6
Update data_overview.md
theamityadavv Sep 11, 2025
867ec4b
Update data_overview.md
theamityadavv Sep 11, 2025
b260ee6
Update data_overview.md
theamityadavv Sep 11, 2025
46b976b
Update data_overview.md
theamityadavv Sep 11, 2025
e102e85
Update data_overview.md
theamityadavv Sep 11, 2025
88f2603
Update data_overview.md
theamityadavv Sep 11, 2025
8d656ff
Update data_overview.md
theamityadavv Sep 11, 2025
35a3e71
Update data_overview.md
theamityadavv Sep 11, 2025
85d3e27
Add files via upload
theamityadavv Sep 11, 2025
4d9ccfa
Rename data_overview.md to data_overview.pdf
theamityadavv Sep 11, 2025
4774a5d
Rename data_overview.pdf to data_overview.md
theamityadavv Sep 11, 2025
24428d0
Added a ppt in docs
theamityadavv Sep 12, 2025
439f469
Resolved merge conflicts
theamityadavv Sep 12, 2025
5995c15
Merge remote-tracking branch 'upstream/amityadav' into amityadav
theamityadavv Sep 12, 2025
c28e58e
Added PDF version of SentinelNet presentation
theamityadavv Sep 12, 2025
c551d95
Update README.md
theamityadavv Sep 12, 2025
49f89e5
Update README.md
theamityadavv Sep 12, 2025
8a854aa
Update README.md
theamityadavv Sep 12, 2025
bb6339a
Update README.md
theamityadavv Sep 12, 2025
50d4e34
Update README.md
theamityadavv Sep 12, 2025
47c244b
Update README.md
theamityadavv Sep 12, 2025
baf1183
Update README.md
theamityadavv Sep 12, 2025
edb8f4c
Update README.md
theamityadavv Sep 12, 2025
3ac26bb
Update README.md
theamityadavv Sep 12, 2025
a75b272
Update README.md
theamityadavv Sep 12, 2025
ab099c8
Update README.md
theamityadavv Sep 12, 2025
5e6c3a6
Update README.md
theamityadavv Sep 12, 2025
18dc1a8
Update README.md
theamityadavv Sep 12, 2025
9709d1c
Update README.md
theamityadavv Sep 12, 2025
6f1c585
Update README.md
theamityadavv Sep 12, 2025
2ac030e
Update README.md
theamityadavv Sep 12, 2025
c4414d4
Update README.md
theamityadavv Sep 12, 2025
d90c33f
Update README.md
theamityadavv Sep 12, 2025
3e37fa3
Update README.md
theamityadavv Sep 12, 2025
1247a36
Update README.md
theamityadavv Sep 12, 2025
03b5a92
Update README.md
theamityadavv Sep 12, 2025
c0d4fcd
Update README.md
theamityadavv Sep 12, 2025
f38da3b
Update README.md
theamityadavv Sep 12, 2025
f04cf6f
Update README.md
theamityadavv Sep 12, 2025
e27dd12
Update README.md
theamityadavv Sep 12, 2025
2252e8e
Update README.md
theamityadavv Sep 12, 2025
7e13c25
Update reflection.md
theamityadavv Sep 12, 2025
440e968
Delete docs/reflection_day1.md
theamityadavv Sep 12, 2025
4f65387
Delete docs/project_goals.md
theamityadavv Sep 12, 2025
f498046
Rename SentinelNet.pdf to SentinelNet_Presentation.pdf
theamityadavv Sep 12, 2025
8c4cc87
Update and rename SentinelNet_Presentation.pdf to SentinelNet.pdf
theamityadavv Sep 12, 2025
7d770db
Update SentinelNet.pptx
theamityadavv Sep 12, 2025
acd7013
Delete docs/SentinelNet.pdf
theamityadavv Sep 12, 2025
1a49b92
Add files via upload
theamityadavv Sep 12, 2025
36ed088
Update SentinelNet.pptx
theamityadavv Sep 12, 2025
e7136f0
Update SentinelNet.pptx
theamityadavv Sep 12, 2025
9864a70
Update SentinelNet.pptx
theamityadavv Sep 12, 2025
9c3e521
Delete docs/SentinelNet.pptx
theamityadavv Sep 12, 2025
5dc80e6
Update README.md
theamityadavv Sep 12, 2025
da1a4d4
Update README.md
theamityadavv Sep 12, 2025
3ada73b
Update README.md
theamityadavv Sep 12, 2025
7babc45
Update README.md
theamityadavv Sep 12, 2025
70b7a1a
Update README.md
theamityadavv Sep 12, 2025
63d5c0e
Update README.md
theamityadavv Sep 12, 2025
1a2bdde
Update README.md
theamityadavv Sep 12, 2025
3146e48
Update README.md
theamityadavv Sep 12, 2025
5124d87
Update README.md
theamityadavv Sep 12, 2025
b3e732a
Update README.md
theamityadavv Sep 14, 2025
5557451
Update README.md
theamityadavv Sep 14, 2025
7c7f842
Update README.md
cmohanraaj3 Sep 14, 2025
56dae1c
Delete notebooks/nsl_kdd_model.ipynb
theamityadavv Sep 16, 2025
8d90a65
Add files via upload
theamityadavv Sep 16, 2025
67f0e09
Delete notebooks/load_and_explore.py
theamityadavv Sep 16, 2025
d0a252f
Delete notebooks/nsl_kdd_model.ipynb
theamityadavv Sep 24, 2025
b8e2d0b
Add dataset folder to gitignore
Sep 24, 2025
6e2197e
Add .gitattributes to enforce LF line endings
Sep 25, 2025
5482e5b
added nsl_kdd_model and a toy model
Sep 25, 2025
d462a27
Remove large datasets and images from Git history
Sep 25, 2025
6355d9d
Add schema_mapping.csv to Git LFS tracking
Sep 25, 2025
7d3b6d9
updated notebook
Sep 26, 2025
b765413
added cicids model
Sep 28, 2025
39baed0
update
Sep 28, 2025
c954067
Delete notebooks/data directory
theamityadavv Sep 28, 2025
0fa27ba
added streamlit file
Sep 28, 2025
3adf535
updated the streamlit file
Sep 28, 2025
1a9e9d5
Merge branch 'SpringBoardMentor193s:amityadav' into amityadav
theamityadavv Sep 28, 2025
5891409
Merge pull request #89 from theamityadavv/amityadav
theamityadavv Sep 28, 2025
53a35bf
updated
Sep 29, 2025
ffe75a1
Delete main.py
theamityadavv Sep 29, 2025
4249a28
update
Sep 29, 2025
78a76fc
Merge pull request #91 from theamityadavv/amityadav
theamityadavv Sep 29, 2025
2d88743
update requirements for Streamlit deployment
Sep 29, 2025
1ce94f8
rename Requirements.txt to requirements.txt
Sep 29, 2025
7350b20
updated
Sep 29, 2025
e1918a4
Update and rename Requirements.txt to requirements.txt
theamityadavv Sep 29, 2025
61ae26a
update dependencies for Streamlit Python 3.13 compatibility
Sep 29, 2025
1191f0c
update
Sep 29, 2025
6215472
Merge branch 'SpringBoardMentor193s:amityadav' into amityadav
theamityadavv Sep 29, 2025
8772546
Merge pull request #93 from theamityadavv/amityadav
theamityadavv Sep 29, 2025
ee967d2
Added Dev Container Folder
theamityadavv Sep 29, 2025
35edc8d
Delete .devcontainer directory
theamityadavv Sep 29, 2025
1c85644
Merge pull request #94 from theamityadavv/amityadav
theamityadavv Sep 29, 2025
143ccf6
Delete notebooks/sentinelnet_feature_selector.pkl
theamityadavv Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Enforce LF for all text files
* text=auto eol=lf
# Explicitly set LF for Python and Jupyter notebooks
*.py text eol=lf
*.ipynb text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.csv filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Ignore CICIDS dataset
data/CICIDS2017/
data/CICIDS2017.zip
data/CICIDS2017/
notebooks/data/
183 changes: 181 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,181 @@
# SentinelNet
The goal of this project is to develop an AI-powered Network Intrusion Detection System (NIDS) capable of identifying malicious network trafic and cyber-attacks in real time. By leveraging machine learning techniques, the system will classify trafic as normal or suspicious based on historical data.
# 🛡️ SentinelNet

The goal of this project is to develop an AI-powered Network Intrusion Detection System (NIDS) capable of identifying malicious network traffic and cyber-attacks in real time. By leveraging machine learning techniques, the system classifies traffic as normal or suspicious based on historical data. It processes network traffic records, extracts relevant features, trains classification models, and generates alerts for detected anomalies.

---
## 🎯 Objectives

- Understand network traffic data and common types of cyberattacks.
- Apply machine learning algorithms to detect intrusions.
- Build and evaluate classification models (e.g., Decision Tree, Random Forest, SVM).
- Perform feature engineering and anomaly detection.
- Generate alerts or logs for detected threats.
- Prepare a detailed report and presentation showcasing the project.
---
## SentinelNet Presentation

You can view the project presentation below.
If the PDF does not load on GitHub, please use the backup link provided.

- [Presentation (PDF on GitHub)](https://github.com/SpringBoardMentor193s/SentinelNet/blob/amityadav/docs/SentinelNet.pdf)
- [Backup Link (Google Drive)](https://drive.google.com/file/d/1p0RIC0ciI-xYFEFCfuNjSPeHeRyYmwDI/view?usp=sharing)

---

## 📂 Project Structure

````
SENTINELNET/
├── .venv/
├── data/
│ ├── DoS-Wednesday-no-metadata.parquet
│ ├── KDDTest+.arff
│ ├── KDDTest+.txt
│ ├── KDDTrain+_processed.csv
│ ├── KDDTrain+.arff
│ ├── KDDTrain+.txt
│ └── WebAttacks-Thursday.csv
├── docs/
│ └── data_overview.md
├── notebooks/
│ ├── attack_visualization.ipynb
│ ├── cicids_model_train.ipynb
│ └── nslkdd_mode_train.ipynb
├── results/
│ └── visual plots (PNG images)
├── scripts/
│ └── main.py
├── documentation.pdf
├── LICENSE
├── README.md
└── requirements.txt

````
## 🐍 Setup & Installation

```
1. **Clone the repository:**
```bash
git clone https://github.com/SpringBoardMentor193s/SentinelNet.git
cd SentinelNet
````

2. **Create and activate a virtual environment:**

```bash
python -m venv .venv
# Windows PowerShell
& .venv/Scripts/Activate.ps1
# Linux/Mac
source .venv/bin/activate
```

3. **Install dependencies:**

```bash
pip install -r requirements.txt
```

---

## 🚀 Usage

* **Run analysis script:**

```bash
python analysis/nsl_kdd_analysis.py
```

* **Run Jupyter notebook:**

```bash
jupyter notebook notebooks/load_and_explore.py
```

---

## 📄 Dataset

## NSL-KDD Dataset

The project uses the **NSL-KDD dataset**, which includes features describing network connections and labels for attack types or normal traffic.

* **Training dataset:** ```https://github.com/SpringBoardMentor193s/SentinelNet/blob/amityadav/data/NSL-KDD/KDDTrain%2B.txt```
* Explore dataset via Pandas for statistics and visualizations.

## CICIDS2017 Dataset

Since the dataset is too large for GitHub, you can download and extract it automatically:

```
pip install gdown
python download_data.py
```

---

## 📖 Documentation

Refer to [Data Overview](https://github.com/SpringBoardMentor193s/SentinelNet/blob/10bb40432b8b25131207bacf99b0d9a88d76481c/docs/data_overview.md) for details on dataset sources, schema, and summary statistics.

---
## 🛠️ Tech Stack

- **Language:** Python
- **Libraries:** Pandas, NumPy, Matplotlib, Seaborn, Scikit-learn
---
## 🧩 Modules to be Implemented

- Dataset Acquisition and Exploration – Collect and explore network traffic datasets.
- Data Cleaning and Preprocessing – Handle missing values, encode categorical data, normalize datasets.
- Feature Engineering and Selection – Extract and select relevant features.
- Model Building and Training – Implement models like Decision Tree, Random Forest, and SVM.
- Evaluation and Performance Analysis – Evaluate models using accuracy, precision, recall, F1-score.
- Alerts and Reporting – Generate alerts and summary reports.

---
## 🚀 Future Work

- Extend the system to handle **real-time traffic streams** for continuous network monitoring.
- Explore **deep learning models** such as CNN, LSTM, and autoencoders for improved intrusion detection accuracy.
- Integrate with **SIEM tools** for enterprise deployment and automated threat response.
- Implement **adaptive learning** so the system can update models as new types of attacks emerge.
- Enhance **visualization and reporting dashboards** for better insights and decision-making.
- Optimize for **scalability** to handle large-scale network environments and high-throughput traffic.
- Investigate **cross-dataset generalization** to ensure models perform well on diverse network datasets.

---

## Real-World Impact
Cyber threats are constantly evolving, and organizations require proactive defenses. SentinelNet aims to **reduce the risk of data breaches, financial loss, and downtime** by providing an intelligent, adaptive intrusion detection solution that goes beyond traditional approaches.

---
## 👥 Team Members

| Name | Email |
|-----------------------------|-----------------------------------------------|
| Amit Yadav | [2k23.cs2314011@gmail.com](mailto:2k23.cs2314011@gmail.com) |
| Upasana Prabhakar | [upasanaprabhakar35@gmail.com](mailto:upasanaprabhakar35@gmail.com) |
| Shreyanshi Srivastava | [shreyanshisrivastava19@gmail.com](mailto:shreyanshisrivastava19@gmail.com) |
| Bhavana Thota | [bhavanathota2006@gmail.com](mailto:bhavanathota2006@gmail.com) |
| Saravanan S | [itssaravanan03@gmail.com](mailto:itssaravanan03@gmail.com) |
| Surya Sindhu Guthula | [22a314408.pragati@gmail.com](mailto:22a314408.pragati@gmail.com) |
| Mehak Tripathi | [2k22.cse.2212471@gmail.com](mailto:2k22.cse.2212471@gmail.com) |
| Anisetty Bhavitha | [bhavithaanisetty@gmail.com](mailto:bhavithaanisetty@gmail.com) |
| Prathyay V | [vprathap0703@gmail.com](mailto:vprathap0703@gmail.com) |
| Vimala Reddy Tummuru | [22501a0514@pvpsit.ac.in](mailto:22501a0514@pvpsit.ac.in) |
| Indhuja V | [230754.ec@rmkec.ac.in](mailto:230754.ec@rmkec.ac.in) |
| Poornitha S | [240061.cs@rmkec.ac.in](mailto:240061.cs@rmkec.ac.in) |
| Khushaldhia Giduthuri | [khushaldhiagiduthuri@gmail.com](mailto:khushaldhiagiduthuri@gmail.com) |
| Bhaskar Mekala | [bhaskarmekala209@gmail.com](mailto:bhaskarmekala209@gmail.com) |
| Chaganti Sai Sarvani | [saisarvani.chaganti@gmail.com](mailto:saisarvani.chaganti@gmail.com) |
| Yasaswita | [yasaswita9@gmail.com](mailto:yasaswita9@gmail.com) |
| Sumithra G | [sumiad107@rmkec.ac.in](mailto:sumiad107@rmkec.ac.in) |
| Sai Sathwik Balabhadra | [balabhadrasaisathwik@gmail.com](mailto:balabhadrasaisathwik@gmail.com) |
| Krushna Shinde | [krushnashinde9860@gmail.com](mailto:krushnashinde9860@gmail.com) |
| Omkar Marakwar | [omkarmarakwar5680@gmail.com](mailto:omkarmarakwar5680@gmail.com) |
| Vitesh Bhardwaj Mallibhat | [viteshbhardwaj2186@gmail.com](mailto:viteshbhardwaj2186@gmail.com) |
| Mohan Raaj C | [cmohanraaj0313@gmail.com](mailto:cmohanraaj0313@gmail.com) |
| Aarifa R | [roylamd02@gmail.com](mailto:roylamd02@gmail.com) |
| Katherine Olivia R | [katherineolivia.r@gmail.com](mailto:katherineolivia.r@gmail.com) |
| Naga Lakshmi Durga Enugu | [24b05a1206@svcew.edu.in](mailto:24b05a1206@svcew.edu.in) |
Loading