{"id":21147596,"url":"https://github.com/arjunraj79/custom_nids_with_ml","last_synced_at":"2025-03-14T14:11:33.345Z","repository":{"id":256365848,"uuid":"850104942","full_name":"arjunraj79/Custom_NIDS_with_ML","owner":"arjunraj79","description":"A simple Python script to check the strength of a password based on length, the inclusion of numbers, special characters, and upper/lower case letters.","archived":false,"fork":false,"pushed_at":"2024-08-31T11:44:49.000Z","size":19632,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T07:43:05.481Z","etag":null,"topics":["datapreprocessing","dos-attack","feature-extraction","intrusion-detection","malware-analysis","malware-detection","ml-engineering","modeltraining","networktrafficanalysis","portscanning","realtime-detection","virtualbox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arjunraj79.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T22:24:13.000Z","updated_at":"2024-08-31T11:52:40.000Z","dependencies_parsed_at":"2024-09-10T10:56:24.977Z","dependency_job_id":null,"html_url":"https://github.com/arjunraj79/Custom_NIDS_with_ML","commit_stats":null,"previous_names":["arjunraj79/custom_nids_with_ml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjunraj79%2FCustom_NIDS_with_ML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjunraj79%2FCustom_NIDS_with_ML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjunraj79%2FCustom_NIDS_with_ML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arjunraj79%2FCustom_NIDS_with_ML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arjunraj79","download_url":"https://codeload.github.com/arjunraj79/Custom_NIDS_with_ML/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243589344,"owners_count":20315471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datapreprocessing","dos-attack","feature-extraction","intrusion-detection","malware-analysis","malware-detection","ml-engineering","modeltraining","networktrafficanalysis","portscanning","realtime-detection","virtualbox"],"created_at":"2024-11-20T09:17:27.702Z","updated_at":"2025-03-14T14:11:33.317Z","avatar_url":"https://github.com/arjunraj79.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom Network Intrusion Detection System (NIDS)\n\n## Project Overview\nThis project aims to create a custom Network Intrusion Detection System (NIDS) that can detect various types of network attacks, such as Denial of Service (DoS), port scanning, and unauthorized access, by analyzing network traffic data. The system uses a machine learning model trained on a dataset of labeled network traffic to identify suspicious patterns.\n\n## Installation\n\n### Steps to Set Up the Project Locally\n\n1. Clone the repository and navigate to the project directory.\n2. Create a virtual environment:\n   ```bash\n   python -m venv venv\n## Activate it:\n\nbash\nCopy code\n.\\venv\\Scripts\\activate\n## Install the required Python libraries using the requirements.txt file:\n\nbash\nCopy code\npip install -r requirements.txt\n## If you encounter activation issues, use PowerShell to give access with the following commands:\n\npowershell\nCopy code\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned\npowershell\nCopy code\nUnblock-File V:\\Github\\Custom_NIDS_with_ML.\\venv\\Scripts\\Activate.ps1\npowershell\nCopy code\nInvoke-Command -ScriptBlock {V:\\Github\\Custom_NIDS_with_ML.\\venv\\Scripts\\activate}\npowershell\nCopy code\nV:\\Github\\Custom_NIDS_with_ML.\\venv\\Scripts\\activate.bat\nAdd a database CSV file to your project.\n\n## Setting Up the Dataset\nTo get started, you'll need to download the dataset and place it in a data/ folder within your project directory. Follow these steps:\n\n### For the NSL-KDD dataset:\n\nDownload the NSL-KDD dataset from the Kaggle website.\nExtract the downloaded zip file to a folder named data within your project directory.\nRename the dataset file to NSL-KDD.csv for simplicity.\n\n### For the CICIDS2017 dataset:\n\nDownload the CICIDS2017 dataset from the Canadian Institute for Cybersecurity website.\nExtract the downloaded zip file to a folder named data within your project directory.\nRename the dataset file to CICIDS2017.csv for simplicity.\nOnce you've downloaded and placed the dataset in the data/ folder, you can modify the load_data function to load the dataset correctly.\n\n## Model Details\nDetails about the machine learning model, including the training process and evaluation metrics, will be documented here.\n\n## Limitations\nAny known limitations or potential future improvements can be noted in this section.\n\nNote: VS Code needs to run in admin mode for some features to function correctly.\n\n## Real-Time Intrusion Detection\n### Network Traffic Capture\nscapy requires access to network interfaces, which might require administrative privileges.\nEnsure no other process is using the network interface that could interfere with packet capture.\n### Simulating Network Traffic\nYou can use tools like nmap to generate traffic for testing your NIDS.\nFor example, in a separate terminal window, you can run:\nnmap -sS \u003cyour_local_ip\u003e\nThis will simulate a SYN scan, and your NIDS should detect it as a potential intrusion.\n### Thank you for using this NIDS project!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjunraj79%2Fcustom_nids_with_ml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farjunraj79%2Fcustom_nids_with_ml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjunraj79%2Fcustom_nids_with_ml/lists"}