{"id":49593072,"url":"https://github.com/dimuzzo/intrusion-detection-tester","last_synced_at":"2026-05-04T01:40:33.801Z","repository":{"id":299906561,"uuid":"1004583041","full_name":"dimuzzo/intrusion-detection-tester","owner":"dimuzzo","description":"Little intrusion detection tester using python. The project is inspired by the article from freeCodeCamp: https://www.freecodecamp.org/news/build-a-real-time-intrusion-detection-system-with-python/","archived":false,"fork":false,"pushed_at":"2025-06-18T22:38:08.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T23:19:39.342Z","etag":null,"topics":["intrusion-detection-system","python","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimuzzo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-06-18T21:26:06.000Z","updated_at":"2025-06-18T22:40:10.000Z","dependencies_parsed_at":"2025-06-18T23:19:43.482Z","dependency_job_id":"ed90d0f4-1293-4890-ad6f-ca5287974c49","html_url":"https://github.com/dimuzzo/intrusion-detection-tester","commit_stats":null,"previous_names":["dimuzzo/intrusion-detection-tester"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dimuzzo/intrusion-detection-tester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimuzzo%2Fintrusion-detection-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimuzzo%2Fintrusion-detection-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimuzzo%2Fintrusion-detection-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimuzzo%2Fintrusion-detection-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimuzzo","download_url":"https://codeload.github.com/dimuzzo/intrusion-detection-tester/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimuzzo%2Fintrusion-detection-tester/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32591603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["intrusion-detection-system","python","testing"],"created_at":"2026-05-04T01:40:31.450Z","updated_at":"2026-05-04T01:40:33.781Z","avatar_url":"https://github.com/dimuzzo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-Time Intrusion Detection System (IDS)\n\n![GitHub last commit](https://img.shields.io/github/last-commit/dimuzzo/intrusion-detection-tester?style=flat-square\u0026logo=github\u0026label=Last%20Commit)\n![GitHub repo size](https://img.shields.io/github/repo-size/dimuzzo/intrusion-detection-tester?style=flat-square\u0026logo=github\u0026label=Repo%20Size)\n![GitHub stars](https://img.shields.io/github/stars/dimuzzo/intrusion-detection-tester?style=flat-square\u0026logo=github\u0026label=Stars)\n\nThis project is a simple real-time Intrusion Detection System (IDS) built with Python and Scapy. It's designed to monitor network traffic and detect potential threats, such as SYN Flood attacks.\n\nThis is a learning project based on the concepts described in [this freeCodeCamp article](https://www.freecodecamp.org/news/build-a-real-time-intrusion-detection-system-with-python/).\n\n## Features\n\n-   **Real-time Packet Sniffing**: Captures and analyzes network packets on the fly.\n-   **SYN Flood Detection**: Identifies potential Denial-of-Service (DoS) attacks by monitoring the rate of SYN packets from a single source IP.\n-   **Configurable**: Easily adjust detection parameters like the time window and packet thresholds.\n\n## How It Works\n\nThe IDS listens to network traffic on a specified interface. For each packet, it checks if it's a TCP packet with the SYN flag set. It maintains a record of recent SYN packets for each source IP address. If the number of SYN packets from a single IP exceeds a defined threshold within a specific time window, it raises an alert.\n\n## Requirements\n\n-   Python 3.7+\n-   Scapy\n\nYou will also need administrative/root privileges to run the packet sniffer.\n\n## Installation \u0026 Setup\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/dimuzzo/intrusion-detection-tester.git\n    cd intrusion-detection-tester\n    ```\n\n2.  **Install the dependencies:**\n    It's recommended to use a virtual environment.\n    ```bash\n    # Create and activate a virtual environment (optional but recommended)\n    python -m venv venv\n    venv\\Scripts\\activate\n\n    # Install the required packages\n    pip install -r requirements.txt\n    ```\n\n## Usage\n\nYou need to run the script with root privileges to allow Scapy to access raw sockets for packet sniffing.\n\n```bash\npython src/main.py\n```\n\nYou can also specify a network interface to monitor:\n\n```bash\npython src/main.py --interface eth0\n```\n\nThe script will start monitoring the traffic and print an alert to the console if a potential SYN flood attack is detected.\n\n## Disclaimer\n\nThis is a basic educational tool and should not be used as a standalone, production-grade security solution.\n\n---\n\n\u003e Created with passion by [dimuzzo](https://github.com/dimuzzo)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimuzzo%2Fintrusion-detection-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimuzzo%2Fintrusion-detection-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimuzzo%2Fintrusion-detection-tester/lists"}