{"id":26046776,"url":"https://github.com/cyberroute/phantom","last_synced_at":"2026-06-04T19:31:38.792Z","repository":{"id":278634428,"uuid":"753596042","full_name":"CyberRoute/phantom","owner":"CyberRoute","description":"Phanton: A lightweight ARP scanner for quick discovery of IoT devices on local networks.","archived":false,"fork":false,"pushed_at":"2025-02-20T20:05:23.000Z","size":1024,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T21:22:19.063Z","etag":null,"topics":["arpscanner","iot","pyside6","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CyberRoute.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}},"created_at":"2024-02-06T12:42:58.000Z","updated_at":"2025-02-20T20:05:27.000Z","dependencies_parsed_at":"2025-02-20T21:22:23.413Z","dependency_job_id":"82f1d7cf-1ee6-4d82-b6af-f9e97d25a337","html_url":"https://github.com/CyberRoute/phantom","commit_stats":null,"previous_names":["cyberroute/phantom"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberRoute%2Fphantom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberRoute%2Fphantom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberRoute%2Fphantom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberRoute%2Fphantom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyberRoute","download_url":"https://codeload.github.com/CyberRoute/phantom/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242461447,"owners_count":20131984,"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":["arpscanner","iot","pyside6","python3"],"created_at":"2025-03-07T21:13:27.636Z","updated_at":"2026-06-04T19:31:38.724Z","avatar_url":"https://github.com/CyberRoute.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Phantom\" src=\"https://raw.githubusercontent.com/CyberRoute/phantom/main/images/phantom_logo.png\"/\u003e\n  \u003cp align=\"center\"\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n---\n\n# Phantom\n\n## Overview\nPhantom is an **ARP Scanner** mostly designed to detect directly connected IoT devices. The tool provides details like IP addresses, MAC addresses, hostnames, and the manufacturers of the devices based on their MAC addresses.\nThe tool features a graphical user interface (GUI) built with **PySide6** (Qt framework) and utilizes **scapy** for ARP scanning.\n\n---\n\n## Features\n- **Network Scanning**: Identifies devices on the network via ARP requests.\n- **Device Details**: Displays IP address, MAC address, hostname, and vendor information.\n- **Graphical User Interface**: Easy-to-use UI to display the scanned devices and packet information.\n- **Multithreading**: Ensures non-blocking scans using Python's `QThread`.\n- **C extension**: for MacOSX there is a C extension that allows slow sequential but very accurate arp scanning\n---\n\n## Prerequisites\n\nEnsure the following dependencies are installed:\n\n1. **Python 3.12 or higher**\n2. **scapy**: Used for ARP scanning.\n3. **PySide6**: For building the GUI.\n4. **netifaces**: To retrieve network interface details.\n\n## Requirements\n\n- **Python 3.12+**\n- **scapy**: For ARP scanning and packet manipulation.\n- **PySide6**: For building the graphical user interface.\n- **netifaces**: To retrieve network interface details.\n\n---\n\n## Installation\n\n1. **Clone the repository**:\n\n    Clone the repository to your local machine:\n\n    ```bash\n    git clone https://github.com/CyberRoute/phantom.git\n    cd phantom\n    ```\n\n2. **Install the dependencies with Pipenv**:\n\n    Install `pip` if it's not already installed:\n\n    ```bash\n    virtualenv env\n    source env/bin/activate\n    pip install -r requirements.txt\n    ```\n\n3. **Run the application**:\n\n    Run the ARP Scanner using the following command. You need to provide the network interface (like `eth0`, `wlan0`, or `wlp0s20f3`) for your system:\n\n    ```bash\n    sudo `which python3` main.py --interface \u003cinterface\u003e\n    ```\n\n    On Ubuntu in case you run into this error:\n    ```\n    (env) alessandro@alessandro-XPS-9315:~/Development/phantom$ sudo /home/alessandro/Development/phantom/env/bin/python3 main.py --interface wlp0s20f3\n    qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.\n    qt.qpa.plugin: Could not load the Qt platform plugin \"xcb\" in \"\" even though it was found.\n    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.\n    Available platform plugins are: eglfs, minimal, wayland, vkkhrdisplay, offscreen, linuxfb, xcb, wayland-egl, minimalegl, vnc.\n    ```\n    Solution:\n    ```\n    sudo apt install libxcb-cursor0\n    ```\n    On Macos there is a C extension that allows accurate but slow arpscan. To build and install the extension:\n    ```\n    pip install setuptools\n    cd c_extension\n    python setup.py build\n    python setup.py install\n    ```\n\n## Usage Instructions\n\n1. **Start the Application**:\n\n    After running the application with the correct interface, the GUI will launch.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"/images/phantom.png\" width=\"800px\"\u003c/img\u003e\n\u003c/div\u003e\n\n2. **Scanning the Network**:\n\n    - Click on the **\"Scan\"** button in the UI to initiate a network scan.\n    - The tool will display a list of all detected devices in the network, including their IP addresses, MAC addresses, hostnames, and vendors.\n\n3. **Device Details**:\n\n    - Click on any device in the list to open a detailed window that shows more information about that particular device.\n\n4. **Stopping the Scan**:\n\n    - Press the **\"Quit\"** button to stop the ARP scan and close the application.\n\n## Contribute\nFork the repo and send PRs if you like :)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberroute%2Fphantom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyberroute%2Fphantom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberroute%2Fphantom/lists"}