{"id":28405563,"url":"https://github.com/havl-code/my-network-scanner","last_synced_at":"2025-06-29T06:31:36.591Z","repository":{"id":296359878,"uuid":"993095025","full_name":"havl-code/my-network-scanner","owner":"havl-code","description":"A Python-based CLI network scanner that performs ARP discovery, SYN port scanning, and basic banner grabbing. Results are saved as JSON for analysis. Built using Scapy and socket programming.","archived":false,"fork":false,"pushed_at":"2025-06-05T07:13:58.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-08T19:28:48.883Z","etag":null,"topics":["banner-grabbing","cli-tool","network-scanner","port-scanner","python","scapy","socket-programming"],"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/havl-code.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,"zenodo":null}},"created_at":"2025-05-30T07:53:19.000Z","updated_at":"2025-06-05T07:14:00.000Z","dependencies_parsed_at":"2025-05-30T10:23:12.726Z","dependency_job_id":"1be93fb7-63e5-4412-8a63-8e9bc7213031","html_url":"https://github.com/havl-code/my-network-scanner","commit_stats":null,"previous_names":["havl-code/my-network-scanner"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/havl-code/my-network-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/havl-code%2Fmy-network-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/havl-code%2Fmy-network-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/havl-code%2Fmy-network-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/havl-code%2Fmy-network-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/havl-code","download_url":"https://codeload.github.com/havl-code/my-network-scanner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/havl-code%2Fmy-network-scanner/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262546823,"owners_count":23327040,"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":["banner-grabbing","cli-tool","network-scanner","port-scanner","python","scapy","socket-programming"],"created_at":"2025-06-01T21:37:09.711Z","updated_at":"2025-06-29T06:31:36.585Z","avatar_url":"https://github.com/havl-code.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Simple Network Scanner\n\nA lightweight Python-based ARP and SYN scanner designed to detect live hosts, scan common TCP ports, and attempt basic banner grabbing. Created for educational and cybersecurity research purposes.\n\n## What It Does\n\nThis scanner performs three main tasks:\n\n1. **ARP Scan:** Identifies live devices on a specified local network.\n2. **SYN Scan:** Performs a TCP SYN scan on a list of common ports to identify open ports.\n3. **Banner Grabbing:** Attempts to grab banners from services running on the open ports.\n4. **OS Detection**: Estimates the operating system of a host based on TTL from TCP replies.\n\nExample Output:\n```nginx\n[+] ARP scanning 192.168.1.0/24,,,\n[+] Host found: 192.168.1.1 | d8:9e:f3:11:22:33\n[+] SYN scanning 192.168.1.1...\n[+] Results saved to results.json\n```\n\n## Project Structure\n- scanner.py: Main scanner script \n- results.json: Scan output (auto-generated)\n- README.md: This file\n\n## Requirements:\n- Python 3.7+\n- Root/admin privileges (required for raw packet sending)\n- The following Python libraries: scappy, socket, json, datetime\n\nInstall scapy if needed:\n```bash\npip install scapy\n```\n\n## Usage:\n```bash\nsudo python3 scanner.py\n```\nWhen prompted, enter a network in CIDR format or a single IP:\n```nginx\nEnter network (e.g. 192.168.1.0/24 or single IP): 192.168.1.0/24\n```\n- ⚠️ The script limits scanning to /24 (max 256 hosts) to avoid long execution time. You can scan a single IP like 192.168.1.100 to focus on one device.\n\n## Output:\nResults are saved as a JSON file named results.json. It contains:\n- IP and MAC addresses\n- Open TCP ports\n- Service banners (if available)\n- Estimated OS (based on TTL)\n\nExample JSON structure:\n```json\n{\n  \"network\": \"192.168.1.0/24\",\n  \"scanned_at\": \"2025-06-02T13:00:00\",\n  \"devices\": [\n    {\n      \"ip\": \"192.168.1.1\",\n      \"mac\": \"d8:9e:f3:11:22:33\",\n      \"os\": \"Linux/Unix\",\n      \"open_ports\": [22, 80],\n      \"banners\": {\n        \"22\": \"SSH-2.0-OpenSSH_7.6\",\n        \"80\": \"Apache HTTPD\"\n      }\n    }\n  ]\n}\n```\n- If no banner is returned, the banner dictionary may be empty.\n\n## Disclaimer:\nThis tool is for **educational** and **authorized** use only. **Do not scan networks or devices you do not own or have explicit permission to test.**\nUnauthorized scanning is illegal and unethical.\n\n## Learning Objectives:\n- Understand ARP discovery and local subnet enumeration\n- Explore TCP SYN scanning and port fingerprinting\n- Practice basic banner grabbing with sockets\n- Learn how TTL can be used for basic OS estimation\n- Handle user interrupts and safely store partial scan results","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhavl-code%2Fmy-network-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhavl-code%2Fmy-network-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhavl-code%2Fmy-network-scanner/lists"}