feat(scan): 增强MAC厂商识别和主机名自动发现
- MAC厂商: 替换硬编码OUI_MAP为mac_vendor_lookup库(IEEE OUI官方数据库) - 主机名发现新增NetBIOS广播(nmblookup),支持Windows/SMB设备 - 综合扫描支持enable_netbios参数 - 新增NetBIOS主机名发现API端点 - 扫描时自动补全缺失厂商(有MAC无vendor时自动识别)
This commit is contained in:
@@ -21,6 +21,7 @@ def register_tasks(celery_app):
|
||||
enable_ping: bool = True,
|
||||
enable_arp: bool = True,
|
||||
enable_dns: bool = True,
|
||||
enable_netbios: bool = True,
|
||||
timeout: int = 2):
|
||||
"""
|
||||
Celery 异步任务:扫描指定网段
|
||||
@@ -54,6 +55,7 @@ def register_tasks(celery_app):
|
||||
enable_ping=enable_ping,
|
||||
enable_arp=enable_arp,
|
||||
enable_dns=enable_dns,
|
||||
enable_netbios=enable_netbios,
|
||||
timeout=timeout
|
||||
)
|
||||
|
||||
@@ -120,7 +122,8 @@ def register_tasks(celery_app):
|
||||
@celery_app.task(bind=True)
|
||||
def full_network_scan(self, enable_ping: bool = True,
|
||||
enable_arp: bool = True,
|
||||
enable_dns: bool = True):
|
||||
enable_dns: bool = True,
|
||||
enable_netbios: bool = True):
|
||||
"""
|
||||
Celery 定时任务:扫描所有网段
|
||||
"""
|
||||
@@ -144,7 +147,8 @@ def register_tasks(celery_app):
|
||||
network.cidr,
|
||||
enable_ping=enable_ping,
|
||||
enable_arp=enable_arp,
|
||||
enable_dns=enable_dns
|
||||
enable_dns=enable_dns,
|
||||
enable_netbios=enable_netbios
|
||||
)
|
||||
|
||||
stats = EnhancedScanService.bulk_update_ips_from_scan(db, results)
|
||||
@@ -191,7 +195,10 @@ def register_tasks(celery_app):
|
||||
results = []
|
||||
|
||||
for ip in ip_addresses:
|
||||
result = EnhancedScanService.comprehensive_scan(ip, enable_ping=True, enable_arp=True, enable_dns=False)
|
||||
result = EnhancedScanService.comprehensive_scan(
|
||||
ip, enable_ping=True, enable_arp=True, enable_dns=False,
|
||||
enable_netbios=True
|
||||
)
|
||||
EnhancedScanService.update_ip_from_scan_result(db, result)
|
||||
results.append(result)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user