Skip to content

The Network Security Project is a comprehensive solution designed to detect phishing activities using advanced machine learning techniques. The project seamlessly integrates data ingestion, preprocessing, model training, and prediction into an interactive and scalable pipeline

License

Notifications You must be signed in to change notification settings

ArpitKadam/Network_Security

Repository files navigation

🌐 Network Security Project for Phishing Data

License Python Version FastAPI MLflow Dagshub


🚀 Project Overview

The Network Security Project is a comprehensive solution designed to detect phishing activities using advanced machine learning techniques. The project seamlessly integrates data ingestion, preprocessing, model training, and prediction into an interactive and scalable pipeline.


✨ Features

  • 🔍 Phishing Detection: Leverage trained models to detect phishing activities.
  • 🛠️ Interactive API: FastAPI-powered endpoints for training and predictions.
  • 💾 MongoDB Integration: Efficiently manage data ingestion.
  • 📊 Model Tracking: Track experiments and results with MLflow.
  • 🐳 Dockerized Deployment: Simplified application setup with AWS ECR(Elastic Container Registry).
  • Data Validation: Schema-driven data validation for accuracy.

🛠️ Installation Guide

  1. Clone the repository:

    git clone https://github.com/ArpitKadam/Network_Security.git
    cd Network_Security
  2. Set up a virtual environment:

    python3 -m venv myenv
    myenv\Scripts\activate  # Windows
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables: Create a .env file and add your MongoDB connection string:

    MONGO_DB_URL=mongodb+srv://<username>:<password>@cluster.mongodb.net/<database>
  5. Run the application:

    uvicorn app:app --host 0.0.0.0 --port 8000

💡 Technologies Used

  • Programming: Python
  • Frameworks: FastAPI, scikit-learn
  • Database: MongoDB
  • Deployment: Docker
  • Experiment Tracking: MLflow, Dagshub

🌟 DAGsHub Integration

Enhance your workflow with DAGsHub:

  1. Log in to DAGsHub.
  2. Connect your GitHub repository.
  3. Configure MLflow tracking:
    mlflow.set_tracking_uri("https://dagshub.com/<username>/<repo>.mlflow")

🔍 MLflow Tracking

Track experiments and monitor models:

  1. Start the MLflow server:
    mlflow ui
  2. Access the dashboard at http://127.0.0.1:5000.

🌐 MongoDB Linking Guide

  1. Create a MongoDB Atlas cluster.
  2. Obtain your connection string:
    mongodb+srv://<username>:<password>@cluster.mongodb.net/<database>
    
  3. Add the connection string to .env:
    MONGO_DB_URL=<your_connection_string>
  4. Verify the integration with this snippet:
    from pymongo import MongoClient
    import certifi
    
    ca = certifi.where()
    client = MongoClient(mongo_db_url, tlsCAFile=ca)
    database = client["<database_name>"]
    collection = database["<collection_name>"]

📂 Project Structure

├── Artifacts              # Generated files and models
├── data_schema            # Data validation schemas
├── final_models           # Pretrained models
├── logs                   # Logs for execution
├── mlruns                 # MLflow experiment data
├── networksecurity        # Source code modules
├── prediction_output      # Prediction results
├── templates              # HTML templates
├── Dockerfile             # Docker configuration
├── requirements.txt       # Dependencies
├── app.py                 # Main application
└── setup.py               # Project setup

🤝 Contributing

We welcome contributions! Fork the repository, make your changes, and submit a pull request.


📜 License

This project is licensed under the MIT License. See the LICENSE file for details.


🌟 Get Started Today!

Ready to explore the world of phishing detection? Follow the steps above and bring this project to life!

About

The Network Security Project is a comprehensive solution designed to detect phishing activities using advanced machine learning techniques. The project seamlessly integrates data ingestion, preprocessing, model training, and prediction into an interactive and scalable pipeline

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages