adamboulaaz92-jpg/Light-Scan
GitHub: adamboulaaz92-jpg/Light-Scan
一款基于 Python 和 Scapy 的多线程端口扫描器,支持多种扫描方式和脚本扩展能力。
Stars: 4 | Forks: 0





# Lightscan - 高级端口扫描器
Lightscan 是一个功能强大、多线程的端口扫描器,使用 Python 和 Scapy 构建,专为安全专业人员和网络管理员设计。它将速度、准确性以及所有这些功能结合在一个工具中。
# 真实扫描输出
## Light-Scan 版本 1.1.5

# 功能特性
## 高性能扫描
多线程架构实现快速扫描
多种扫描类型:TCP Connect、SYN Stealth、UDP、NULL、FIN、ACK、WINDOW、MAIMON、FDD、XMAS
可配置的速度预设,从 Paranoid(偏执)到 Light-mode(轻量模式)(400 线程)
具有线程化 ICMP/TCP 检测的智能主机发现
## 网络范围支持
用于子网扫描的 CIDR 表示法(/8、/16、/24 等)
通过逗号分隔列表支持多目标
智能主机过滤 - 在网络扫描中跳过无响应的主机
针对大范围网络的安全警告
## 高级检测
使用自定义和系统服务数据库进行服务检测
具有详细分析的防火墙检测
端口状态分类:Open(开放)、Closed(关闭)、Filtered(被过滤)、Open|Filtered(开放|被过滤)、Defended(受防御)、Undefended(未受防御)
针对不可靠网络的重试机制
## 专业功能
灵活的端口指定:范围、列表和 Top 端口
用于调试和分析的详细输出
可自定义超时和线程数
整洁、有组织的输出,包含每个目标的结果
# 安装
```
git clone https://github.com/adamboulaaz92-jpg/Light-Scan.git
```
# 重要提示
## 对于 Windows
在运行 Light-Scan 之前,您需要从 https://npcap.com/#download 安装 Npcap(这是 Light-Scan 运行所必需的)
## Windows 设置
```
cd Light-Scan
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
```
## 对于 Linux
在运行 Light-Scan 之前,您需要从 https://npcap.com/#download 安装 Npcap(这是 Light-Scan 运行所必需的),或者您可以通过以下命令直接安装 libpcap:
### 对于基于 Debian 的 Linux:
```
sudo apt install libpcap-dev
```
### 对于基于 Arch 的 Linux:
```
sudo pacman -S libpcap
```
## Linux 设置
### 对于基于 Debian 的 Linux:
```
sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### 对于基于 Arch 的 Linux:
```
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
# 用户指南:
## 基本扫描
### 单目标 TCP 扫描
```
python Lightscan.py -T 192.168.1.1
```
### SYN 隐蔽扫描
```
python Lightscan.py -T 192.168.1.1 -st SYN
```
### 指定端口的 UDP 扫描
```
python Lightscan.py -T 192.168.1.1 -st UDP -p 53
```
## 网络扫描
### 扫描整个子网
```
python Lightscan.py -T 192.168.1.0/24 -F
```
### 多目标扫描
```
python Lightscan.py -T 192.168.1.1,192.168.1.50,10.0.0.0/24
```
### 使用 Top 端口进行快速网络扫描
```
python Lightscan.py -T 10.0.0.0/16 -F -s fast
```
## 高级用法
### 带重试的自定义端口范围
```
python Lightscan.py -T target.com -p 1-1000 --max-retries 3
```
### 使用自定义线程的高速扫描
```
python Lightscan.py -T 192.168.1.1 -t 200 -tm 0.5
```
### 用于调试的详细输出
```
python Lightscan.py -T 192.168.1.1 -v -st SYN
```
## 命令行选项
```
Lightscan Port Scanner
options:
-h, --help show this help message and exit
-T, --target TARGET Target IP or Hostname
-p, --port PORT Port/s to scan
-pp, --ping-port PING_PORT
Port/s to Ping on it
-s, --speed {paranoid,slow,normal,fast,insane,Light-mode}
Scan speed preset
-v, --verbose Show verbose output
-st, --scan-type SCAN_TYPE
Scan types {TCP,SYN,UDP,NULL,FIN,ACK,XMAS,WINDOW,MAIMON,FDD}
-F Scan The Top 100 ports for fast scanning
-mx, --max-retries MAX_RETRIES
Max number of retries if port show a no response
-t, --threads THREADS
Number of threads to use
-lst List all targets
-tm, --timeout TIMEOUT
Timeout with second
-Rc, --recursively recursively scan host that shown to be down or not responding and disable flags like -v,-Pn,etc ...
-f, --fragmente fragment the sending packet for more stealth
-Pn, --no-ping Do not ping the target/s
-b, --banner Banner Grabing
-O, --os OS Fingerprint
-mac Light-Scan will not be capabelle of getting target mac on Local Networks
-Pa, --arp-ping ARP Ping on Local Networks
-Pi, --ip-ping IP Protocol Ping
-Pip PIP For Specefiy The IP Protocols that -Pi is going to use rather then default
-A, --agressive Agressive scan activate all of OS Fingerprints, Banner Grabing, Insane Speed , SYN Scan and Scan Top 100 Ports
-Pt, --tcp-ping Do a TCP Ping
-Ps, --syn-ping Do a Syn Ping
-Pk, --ack-ping DO a ACK Ping
-Pu, --udp-ping Do a UDP Ping
-PIt, --icmp-timestamp-ping
Do scan a ICMP Timestamp Ping
-PA, --icmp-address-ping
Do scan a ICMP Address Ping
-Pin, --icmp-information-ping
Do scan a ICMP Information Ping
-q, --quiet Quiet mode {does't print the Tool Banner}
--script SCRIPT LSSE Script ,Ex: --script http-cert
--url URL Url for http/https based scripts
--domain DOMAIN Domain for http/https and Dns based scripts
--dns-server DNS_SERVER
dns server that Light-Scan is going to use (Is Set by Default
-W, --wordlist WORDLIST
Wordlist for scripts
--redirect Redirect http/https requests for http scripts
-sp SP Port/s that are going to use by scripts
--lsse Use that flag when you want just to performe a script
```
## 速度预设
paranoid:2 线程,4 秒超时
slow:30 线程,3 秒超时
normal:60 线程,2.5 秒超时
fast:120 线程,2.5 秒超时
insane:240 线程,1.25 秒超时
Light-mode:400 线程,1.25 秒超时
## 端口指定示例
### 单个端口
```
-p 80
```
### 端口范围
```
-p 1-1000
```
### 多个端口
```
-p 22,80,443,8080
```
### 混合范围和单个端口
```
-p 20-25,80,443,8000-9000
```
## 网络扫描功能
CIDR 表示法支持
Lightscan 支持标准 CIDR 表示法来扫描整个网络:
### C 类子网(256 台主机)
```
python Lightscan.py -T 192.168.1.0/24
```
### B 类子网(65,536 台主机)- 带安全警告
```
python Lightscan.py -T 10.0.0.0/16
```
### A 类子网(1670 万台主机)- 极端警告
```
python Lightscan.py -T 10.0.0.0/8
```
## 智能主机发现
### 扫描多个目标时:
首先执行线程化主机发现
仅扫描响应发现探测的主机
通过跳过无响应主机来节省时间
### 安全功能
大型网络扫描的警告
大规模扫描的确认提示
大型扩展的进度指示器
## 输出解释
### 端口状态
Open(开放):服务正在监听且可访问
Closed(关闭):主机在线但没有服务监听
Filtered(被过滤):防火墙阻止访问(无响应)
Open|Filtered(开放|被过滤):无法确定(常见于 UDP)
## 性能提示
扫描大型网络时使用 -F:扫描 Top 100 端口而不是 Top 1000
调整超时:减少内部网络的超时时间(-tm 1.5)
增加线程:使用更多线程以加快扫描速度(-t 100)
减少重试:对于可靠网络使用 --max-retries 1
选择合适的扫描类型:SYN 追求速度,TCP 追求可靠性
# 故障排除
## 扫描太慢
减少超时:-tm 1.0
增加线程:-t 150
使用更快的速度预设:-s fast
## UDP 扫描无结果
UDP 是无连接的 - 超时是正常的
增加重试:--max-retries 3
检查服务是否确实在运行
## SYN 扫描不起作用
尝试改用 TCP Connect 扫描:-st TCP
## 主机发现遗漏主机
某些主机阻止 ICMP
使用 -Pt 标志通过 TCP 进行发现
检查目标主机上的防火墙规则
# 法律免责声明
## 本工具适用于:
进行授权评估的安全专业人员
监控自身网络的网络管理员
教育和研究目的
在扫描任何网络或系统之前,请务必确保您已获得适当的授权。未经授权的扫描在您所在的司法管辖区可能是非法的。
## 贡献
欢迎贡献!请随时提交 Pull Request、报告 Bug 或建议新功能。
# Light-Scan 1.1.5:
## 修复了多个 Bug
## 添加了新的扫描方法:
### ACK 扫描
### Window 扫描
### Maimon 扫描
### Xmas 扫描
### FDD 扫描
## 通过新脚本 "dns-subdomain-fuzzing" 扩展 Light-Scan 脚本引擎 (LSSE)
```
__ _ __ __
/ / (_)___ _/ /_ / /_______________ _____
/ / / / __ `/ __ \/ __/ ___/ ___/ __ `/ __ \
/ /___/ / /_/ / / / / /_(__ ) /__/ /_/ / / / /
/_____/_/\__, /_/ /_/\__/____/\___/\__,_/_/ /_/
/____/
Version : 1.1.5
Platform : Windows
[+] LSSE Response for nmap.org:
[*] Progress: 50/191 (26.2%) | Found: 1 | Elapsed: 2.9s
[*] Progress: 100/191 (52.4%) | Found: 1 | Elapsed: 5.1s
[*] Progress: 150/191 (78.5%) | Found: 1 | Elapsed: 7.2s
[*] Progress: 191/191 (100.0%) | Found: 1 | Elapsed: 8.8s
Dns Subdomain Fuzzing:
---------------------------------------------------
[+] Target Domain: nmap.org
[+] DNS Server: 10.243.156.131
[+] Time Elapsed: 8.78 seconds
[+] Subdomains Tested: 191
[+] Valid Subdomains Found: 1
[+] Successful Queries: 1
[+] Failed Queries: 190
[+] Wildcard Records:
*A (IPv4) : 50.116.1.184
*AAAA (IPv6): 2600:3c01:e000:3e6::6d4e:7061
Discovered Subdomains:
----------------------------------------
[+] chat.nmap.org :
IPv4 *A : 45.33.32.156
IPv6 *AAAA: 2600:3c01::f03c:91ff:fe18:bb2f
[+] LSSE run successfully
```
## FDD 扫描
FDD 扫描是 Light-Scan 开发的一种新扫描方法,通过发送带有 URGENT 标志的 TCP 数据包来检测防火墙的存在。
### 预期响应为
#### RST 或 RST-ACK --> 未受防御端口
#### 无响应 --> 受防御端口
#### ICMP 类型 3 代码 1,2,3,9,10,13 --> 受防御端口
标签:CIDR, DNS查询工具, Facebook API, Npcap, Python, Qt框架, Scapy, SYN扫描, TCP/IP, 代码生成, 域名解析, 密码管理, 开源安全工具, 插件系统, 无后门, 服务识别, 渗透测试工具, 端口扫描器, 网络安全, 逆向工具, 逆向工程平台, 防火墙检测, 隐私保护