ipscan


Nameipscan JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://github.com/Wing9897/ipscan.git
SummaryFast IP scanner — multithreaded Ping and ARP scanning
upload_time2025-09-16 05:18:28
maintainerNone
docs_urlNone
authorWing
requires_python>=3.7
licenseMIT
keywords ip scan ping arp network scanner
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    <img src="https://raw.githubusercontent.com/Wing9897/ipscan/main/assets/banner.svg" alt="ipscan banner" width="100%" />
</p>

<div align="center">

# ipscan

Fast IP scanner — multithreaded Ping and ARP scanning (Windows, Linux, macOS)

[![PyPI version](https://img.shields.io/pypi/v/ipscan?logo=pypi&label=PyPI)](https://pypi.org/project/ipscan/)
![Python](https://img.shields.io/pypi/pyversions/ipscan?logo=python)
![OS](https://img.shields.io/badge/OS-Windows%20%7C%20Linux%20%7C%20macOS-blue)
![License](https://img.shields.io/github/license/Wing9897/ipscan?color=success)

Language:
[English](README.md) · [繁體中文](README.zh-TW.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Italiano](README.it.md) · [Español](README.es.md) · [Português BR](README.pt-BR.md) · [Русский](README.ru.md)

</div>

---

## Table of contents

- Quick start
- Features
- CLI tools
- Python API
- Performance notes
- Requirements
- Contributing

---

## Quick start

Install from PyPI:

```bash
pip install ipscan
```

**Windows users**: Install optional Windows-optimized ping support:
```bash
pip install "ipscan[windows]"
```

**Note**: Linux ARP scanning requires sudo privileges for optimal performance.

### CLI

```bash
fping           # High-speed continuous ping (interactive)
sping           # Simple range ping scan
sarp            # ARP range scan
```

### Python API

Ping scan:

```python
from ipscan import ping_range, PingScanner

online_hosts = ping_range("192.168.1.1", "192.168.1.254")

scanner = PingScanner(timeout=1.0)
results = scanner.scan_range("10.0.0.1", "10.0.0.100")
```

ARP scan:

```python
from ipscan import arp_range, ArpScanner

host_info = arp_range("192.168.1.1", "192.168.1.254")
for ip, mac in host_info.items():
        print(f"{ip} -> {mac}")

scanner = ArpScanner()
results = scanner.scan_range("10.0.0.1", "10.0.0.100")
```

## Features

- **Cross-platform**: Windows, Linux, macOS support with automatic OS detection
- **Multithreaded scanning**: High-speed concurrent operations
- **Smart implementations**: Platform-optimized for best performance
  - Windows: Native SendARP API + ping3 library
  - Linux: Direct scapy ARP packets + system ping
  - macOS: System arp + ping commands
- **Simple API**: Unified interface across all platforms
- **Progress tracking**: Real-time progress bars and clean output

## Platform Details

| Feature | Windows | Linux | macOS |
|---------|---------|-------|-------|
| **Ping scanning** | ping3 library | system ping | system ping |
| **ARP scanning** | SendARP API | scapy packets | arp command |
| **Permissions** | No special permissions | sudo for ARP | No special permissions |
| **Performance** | Optimized | Optimized | Good |

## Usage Examples

### Linux ARP scanning (requires sudo)
```bash
sudo sarp
# Enter IP range when prompted
```

### High-speed continuous ping
```bash
fping
# Enter target IP and interval
```

### Range ping scanning
```bash
sping
# Enter start and end IP addresses
```

## Requirements

- **Python 3.7+**
- **Cross-platform support**: Windows, Linux, macOS
- **Dependencies**:
  - `tqdm` (progress bars)
  - `scapy` (ARP packet generation)
  - `ping3` (Windows optimization, optional)

## Contributing

Issues and PRs are welcome. If you like this project, consider starring it.

---

<div align="center">
Made with ❤️ for network tinkerers.
</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Wing9897/ipscan.git",
    "name": "ipscan",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "ip scan ping arp network scanner",
    "author": "Wing",
    "author_email": "tomt99688@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/68/d8/8e44643513ccb090c8309183bc7350d5a01fb7c71544f58809a16f1a6e6a/ipscan-1.3.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\r\n    <img src=\"https://raw.githubusercontent.com/Wing9897/ipscan/main/assets/banner.svg\" alt=\"ipscan banner\" width=\"100%\" />\r\n</p>\r\n\r\n<div align=\"center\">\r\n\r\n# ipscan\r\n\r\nFast IP scanner \u2014 multithreaded Ping and ARP scanning (Windows, Linux, macOS)\r\n\r\n[![PyPI version](https://img.shields.io/pypi/v/ipscan?logo=pypi&label=PyPI)](https://pypi.org/project/ipscan/)\r\n![Python](https://img.shields.io/pypi/pyversions/ipscan?logo=python)\r\n![OS](https://img.shields.io/badge/OS-Windows%20%7C%20Linux%20%7C%20macOS-blue)\r\n![License](https://img.shields.io/github/license/Wing9897/ipscan?color=success)\r\n\r\nLanguage:\r\n[English](README.md) \u00b7 [\u7e41\u9ad4\u4e2d\u6587](README.zh-TW.md) \u00b7 [\u7b80\u4f53\u4e2d\u6587](README.zh-CN.md) \u00b7 [\u65e5\u672c\u8a9e](README.ja.md) \u00b7 [\ud55c\uad6d\uc5b4](README.ko.md) \u00b7 [Deutsch](README.de.md) \u00b7 [Fran\u00e7ais](README.fr.md) \u00b7 [Italiano](README.it.md) \u00b7 [Espa\u00f1ol](README.es.md) \u00b7 [Portugu\u00eas BR](README.pt-BR.md) \u00b7 [\u0420\u0443\u0441\u0441\u043a\u0438\u0439](README.ru.md)\r\n\r\n</div>\r\n\r\n---\r\n\r\n## Table of contents\r\n\r\n- Quick start\r\n- Features\r\n- CLI tools\r\n- Python API\r\n- Performance notes\r\n- Requirements\r\n- Contributing\r\n\r\n---\r\n\r\n## Quick start\r\n\r\nInstall from PyPI:\r\n\r\n```bash\r\npip install ipscan\r\n```\r\n\r\n**Windows users**: Install optional Windows-optimized ping support:\r\n```bash\r\npip install \"ipscan[windows]\"\r\n```\r\n\r\n**Note**: Linux ARP scanning requires sudo privileges for optimal performance.\r\n\r\n### CLI\r\n\r\n```bash\r\nfping           # High-speed continuous ping (interactive)\r\nsping           # Simple range ping scan\r\nsarp            # ARP range scan\r\n```\r\n\r\n### Python API\r\n\r\nPing scan:\r\n\r\n```python\r\nfrom ipscan import ping_range, PingScanner\r\n\r\nonline_hosts = ping_range(\"192.168.1.1\", \"192.168.1.254\")\r\n\r\nscanner = PingScanner(timeout=1.0)\r\nresults = scanner.scan_range(\"10.0.0.1\", \"10.0.0.100\")\r\n```\r\n\r\nARP scan:\r\n\r\n```python\r\nfrom ipscan import arp_range, ArpScanner\r\n\r\nhost_info = arp_range(\"192.168.1.1\", \"192.168.1.254\")\r\nfor ip, mac in host_info.items():\r\n        print(f\"{ip} -> {mac}\")\r\n\r\nscanner = ArpScanner()\r\nresults = scanner.scan_range(\"10.0.0.1\", \"10.0.0.100\")\r\n```\r\n\r\n## Features\r\n\r\n- **Cross-platform**: Windows, Linux, macOS support with automatic OS detection\r\n- **Multithreaded scanning**: High-speed concurrent operations\r\n- **Smart implementations**: Platform-optimized for best performance\r\n  - Windows: Native SendARP API + ping3 library\r\n  - Linux: Direct scapy ARP packets + system ping\r\n  - macOS: System arp + ping commands\r\n- **Simple API**: Unified interface across all platforms\r\n- **Progress tracking**: Real-time progress bars and clean output\r\n\r\n## Platform Details\r\n\r\n| Feature | Windows | Linux | macOS |\r\n|---------|---------|-------|-------|\r\n| **Ping scanning** | ping3 library | system ping | system ping |\r\n| **ARP scanning** | SendARP API | scapy packets | arp command |\r\n| **Permissions** | No special permissions | sudo for ARP | No special permissions |\r\n| **Performance** | Optimized | Optimized | Good |\r\n\r\n## Usage Examples\r\n\r\n### Linux ARP scanning (requires sudo)\r\n```bash\r\nsudo sarp\r\n# Enter IP range when prompted\r\n```\r\n\r\n### High-speed continuous ping\r\n```bash\r\nfping\r\n# Enter target IP and interval\r\n```\r\n\r\n### Range ping scanning\r\n```bash\r\nsping\r\n# Enter start and end IP addresses\r\n```\r\n\r\n## Requirements\r\n\r\n- **Python 3.7+**\r\n- **Cross-platform support**: Windows, Linux, macOS\r\n- **Dependencies**:\r\n  - `tqdm` (progress bars)\r\n  - `scapy` (ARP packet generation)\r\n  - `ping3` (Windows optimization, optional)\r\n\r\n## Contributing\r\n\r\nIssues and PRs are welcome. If you like this project, consider starring it.\r\n\r\n---\r\n\r\n<div align=\"center\">\r\nMade with \u2764\ufe0f for network tinkerers.\r\n</div>\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Fast IP scanner \u2014 multithreaded Ping and ARP scanning",
    "version": "1.3.0",
    "project_urls": {
        "English README": "https://github.com/Wing9897/ipscan/blob/main/README.md",
        "Homepage": "https://github.com/Wing9897/ipscan.git",
        "Source": "https://github.com/Wing9897/ipscan",
        "\u7e41\u9ad4\u4e2d\u6587 README": "https://github.com/Wing9897/ipscan/blob/main/README.zh-TW.md"
    },
    "split_keywords": [
        "ip",
        "scan",
        "ping",
        "arp",
        "network",
        "scanner"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7c96dfc7badffce7a3592b2f20a815b7954b46a018e7db514ada57ed0dd78185",
                "md5": "d0c6bdd9fe7c1e6937c0e38a3499965e",
                "sha256": "74e7af021bbb6eb688fbf856230267907bb6f6a721b4cf8adca976072d0a6a17"
            },
            "downloads": -1,
            "filename": "ipscan-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d0c6bdd9fe7c1e6937c0e38a3499965e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 10388,
            "upload_time": "2025-09-16T05:18:27",
            "upload_time_iso_8601": "2025-09-16T05:18:27.511233Z",
            "url": "https://files.pythonhosted.org/packages/7c/96/dfc7badffce7a3592b2f20a815b7954b46a018e7db514ada57ed0dd78185/ipscan-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "68d88e44643513ccb090c8309183bc7350d5a01fb7c71544f58809a16f1a6e6a",
                "md5": "9988e246df6af92d6a2fa14f331e44ec",
                "sha256": "73ca74fe9f94a42adda1ebac87aa7105f67a04f97595351cdd0e36c968764f4f"
            },
            "downloads": -1,
            "filename": "ipscan-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9988e246df6af92d6a2fa14f331e44ec",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11123,
            "upload_time": "2025-09-16T05:18:28",
            "upload_time_iso_8601": "2025-09-16T05:18:28.965563Z",
            "url": "https://files.pythonhosted.org/packages/68/d8/8e44643513ccb090c8309183bc7350d5a01fb7c71544f58809a16f1a6e6a/ipscan-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-16 05:18:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Wing9897",
    "github_project": "ipscan",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ipscan"
}
        
Elapsed time: 4.34604s