{"id":20904176,"url":"https://github.com/visheshc14/electric-funeral","last_synced_at":"2025-04-11T05:41:01.994Z","repository":{"id":105857144,"uuid":"402018399","full_name":"visheshc14/Electric-Funeral","owner":"visheshc14","description":"A Combination of Software Defined Network (SDN) And A Multi-Layer Perceptron (MLP) Neural Network That Results In The Mitigation of DDoS Attacks.","archived":false,"fork":false,"pushed_at":"2021-09-23T13:33:56.000Z","size":45,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T03:41:35.127Z","etag":null,"topics":["machine-learning","multilayer-perceptron-network","python","python-3","rust","rust-crate","rust-lang","rust-library","sdn-controller","sdn-network","sdn-switch","shell-script"],"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/visheshc14.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":"2021-09-01T10:20:45.000Z","updated_at":"2024-05-05T14:57:41.000Z","dependencies_parsed_at":"2023-06-14T13:45:45.084Z","dependency_job_id":null,"html_url":"https://github.com/visheshc14/Electric-Funeral","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visheshc14%2FElectric-Funeral","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visheshc14%2FElectric-Funeral/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visheshc14%2FElectric-Funeral/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visheshc14%2FElectric-Funeral/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/visheshc14","download_url":"https://codeload.github.com/visheshc14/Electric-Funeral/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248350955,"owners_count":21089268,"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":["machine-learning","multilayer-perceptron-network","python","python-3","rust","rust-crate","rust-lang","rust-library","sdn-controller","sdn-network","sdn-switch","shell-script"],"created_at":"2024-11-18T13:16:15.380Z","updated_at":"2025-04-11T05:41:01.973Z","avatar_url":"https://github.com/visheshc14.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Electric-Funeral\n\nA Combination of Software Defined Network (SDN) And A Multi-Layer Perceptron (MLP) Neural Network That Results In The\nMitigation of DDoS Attacks.\n\n## References \n[A dynamic MLP-based DDoS attack detection method using feature selection and feedback](https://www.sciencedirect.com/science/article/pii/S0167404819301890)\n\n[Deep Learning-based Slow DDoS Attack Detection in SDN-based Networks](https://ieeexplore.ieee.org/document/9289894)\n\n[SDN-Based Intrusion Detection System for Early Detection and Mitigation of DDoS Attacks](https://arxiv.org/ftp/arxiv/papers/2104/2104.07332.pdf)\n\n[A Flexible SDN-Based Architecture for Identifying and Mitigating Low-Rate DDoS Attacks Using Machine Learning](https://ieeexplore.ieee.org/abstract/document/9177002)\n\n![Electric-Funeral Rust - Vishesh Choudhary (1)](https://user-images.githubusercontent.com/36515357/131664283-1ebf89bf-3fc0-4b4d-9d14-e1a909edd1f3.png)\n\n![IMG_4211 Edited (1)](https://user-images.githubusercontent.com/36515357/131669989-38a23255-b0c5-44c2-9fe5-dfa22c4e5eb8.png)\n\n![IMG_4214 Edited (1)](https://user-images.githubusercontent.com/36515357/131672958-fc16003d-3aa1-405a-8990-f3b064e17902.png)\n\n## Requirements\n- python3\n- pip\n- rust\n- cargo\n\n## Installation\n```\nsetup.sh\n```\n\n## Generating data\nFirst start the controller in generate data mode:\n```\n./network_controller.py --gen-data\n```\n\nThen start the network in normal interactions training mode (this uses mininet\nso it will probably require root privileges to run):\n```\n./create_network --normal\n```\n\nOnce done, train for the attack state. Start the controller in generate attack\ndata mode:\n```\n./network_controller.py --attack --gen-data\n```\n\nThen start the network in attack interactions training mode:\n```\n./create_network --all-attack\n```\n\n## Training the MLP\nSimply run the following:\n```\n./network_controller.py --train\n```\n\n## Run DDoS Mitigation\nStart the controller in detection mode:\n```\n./network_controller.py --detect\n```\n\nThen start the network in attack and CLI mode:\n```\n./create_network --attack --cli\n```\n\nThe user should be able to ping the attack target with the following command:\n```\nu0 ping t0\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisheshc14%2Felectric-funeral","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvisheshc14%2Felectric-funeral","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisheshc14%2Felectric-funeral/lists"}