# ipscan
快速IP掃描工具 - 多線程 Ping 和 ARP 掃描
## 安裝
```bash
pip install ipscan
```
## 使用方法
### Ping 掃描
```python
from ipscan import ping_range, PingScanner
# 掃描IP範圍
online_hosts = ping_range("192.168.1.1", "192.168.1.254")
print(f"在線主機: {online_hosts}")
# 使用類接口
scanner = PingScanner(timeout=1.0)
results = scanner.scan_range("10.0.0.1", "10.0.0.100")
```
### ARP 掃描
```python
from ipscan import arp_range, ArpScanner
# 掃描IP範圍並獲取MAC地址
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")
```
### 命令行工具
```bash
# Ping 掃描
fping
# ARP 掃描
farp
```
## 特點
- 多線程掃描,速度極快(使用ping scan 65535個裝置約30~60秒 ,使用arp scan 約15~30秒)
- 支援 Ping 和 ARP 掃描
- 顯示進度條
- 簡潔的 API 設計
## 系統需求
- Python 3.7+
- Windows 系統(ARP 掃描需要)
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/97/03/d20eb7ce61492650f9ef4a9734defd757f01b73bbb9f8e8f6f142a0616cd/ipscan-1.0.0.tar.gz",
"platform": null,
"description": "# ipscan\r\n\r\n\u5feb\u901fIP\u6383\u63cf\u5de5\u5177 - \u591a\u7dda\u7a0b Ping \u548c ARP \u6383\u63cf\r\n\r\n## \u5b89\u88dd\r\n\r\n```bash\r\npip install ipscan\r\n```\r\n\r\n## \u4f7f\u7528\u65b9\u6cd5\r\n\r\n### Ping \u6383\u63cf\r\n\r\n```python\r\nfrom ipscan import ping_range, PingScanner\r\n\r\n# \u6383\u63cfIP\u7bc4\u570d\r\nonline_hosts = ping_range(\"192.168.1.1\", \"192.168.1.254\")\r\nprint(f\"\u5728\u7dda\u4e3b\u6a5f: {online_hosts}\")\r\n\r\n# \u4f7f\u7528\u985e\u63a5\u53e3\r\nscanner = PingScanner(timeout=1.0)\r\nresults = scanner.scan_range(\"10.0.0.1\", \"10.0.0.100\")\r\n```\r\n\r\n### ARP \u6383\u63cf\r\n\r\n```python\r\nfrom ipscan import arp_range, ArpScanner\r\n\r\n# \u6383\u63cfIP\u7bc4\u570d\u4e26\u7372\u53d6MAC\u5730\u5740\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\n# \u4f7f\u7528\u985e\u63a5\u53e3\r\nscanner = ArpScanner()\r\nresults = scanner.scan_range(\"10.0.0.1\", \"10.0.0.100\")\r\n```\r\n\r\n### \u547d\u4ee4\u884c\u5de5\u5177\r\n\r\n```bash\r\n# Ping \u6383\u63cf\r\nfping\r\n\r\n# ARP \u6383\u63cf\r\nfarp\r\n```\r\n\r\n## \u7279\u9ede\r\n\r\n- \u591a\u7dda\u7a0b\u6383\u63cf\uff0c\u901f\u5ea6\u6975\u5feb(\u4f7f\u7528ping scan 65535\u500b\u88dd\u7f6e\u7d0430~60\u79d2 ,\u4f7f\u7528arp scan \u7d0415~30\u79d2)\r\n- \u652f\u63f4 Ping \u548c ARP \u6383\u63cf\r\n- \u986f\u793a\u9032\u5ea6\u689d\r\n- \u7c21\u6f54\u7684 API \u8a2d\u8a08\r\n\r\n## \u7cfb\u7d71\u9700\u6c42\r\n\r\n- Python 3.7+\r\n- Windows \u7cfb\u7d71\uff08ARP \u6383\u63cf\u9700\u8981\uff09 \r\n",
"bugtrack_url": null,
"license": null,
"summary": "\u5feb\u901fIP\u6383\u63cf\u5de5\u5177 - \u591a\u7dda\u7a0b Ping \u548c ARP \u6383\u63cf",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/Wing9897/ipscan.git"
},
"split_keywords": [
"ip",
"scan",
"ping",
"arp",
"network",
"scanner"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "44af84d60270fa372c1157fdfa785bc9c7668c1d6154aa20de490b73976843d1",
"md5": "7d327534bc2f3c7d2732661cdd2b92e5",
"sha256": "d9df2c95cdfe48b0eb370ff0b1554bd4475409e74e7685efa97f76d7a054a6cc"
},
"downloads": -1,
"filename": "ipscan-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7d327534bc2f3c7d2732661cdd2b92e5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 6048,
"upload_time": "2025-07-11T02:48:49",
"upload_time_iso_8601": "2025-07-11T02:48:49.702627Z",
"url": "https://files.pythonhosted.org/packages/44/af/84d60270fa372c1157fdfa785bc9c7668c1d6154aa20de490b73976843d1/ipscan-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9703d20eb7ce61492650f9ef4a9734defd757f01b73bbb9f8e8f6f142a0616cd",
"md5": "23080d0a466e1cab4cdd55d1c5eda3a2",
"sha256": "8d272b173994596df051d78599835416644cd020d0719121f86f56fe7b99a56e"
},
"downloads": -1,
"filename": "ipscan-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "23080d0a466e1cab4cdd55d1c5eda3a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4867,
"upload_time": "2025-07-11T02:48:51",
"upload_time_iso_8601": "2025-07-11T02:48:51.329901Z",
"url": "https://files.pythonhosted.org/packages/97/03/d20eb7ce61492650f9ef4a9734defd757f01b73bbb9f8e8f6f142a0616cd/ipscan-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 02:48:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Wing9897",
"github_project": "ipscan",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ipscan"
}