You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用python-nmap扫描192.168.10.1/24网段触发PortScannerError问题

问题背景

使用Python 3.9.2、Nmap 7.80及python-nmap 0.7.1工具,执行以下代码扫描192.168.10.1/24网段时触发PortScannerError:

import nmap
nm = nmap.PortScanner()

result = nm.scan(hosts = '192.168.10.1/24')
print(result)

错误信息如下:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/nmap/nmap.py", line 369, in analyse_nmap_xml_scan
    dom = ET.fromstring(self._nmap_last_output)
  File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1348, in XML
    return parser.close()
xml.etree.ElementTree.ParseError: no element found: line 7, column 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fypgroup02/Documents/test.py", line 4, in <module>
    result = nm.scan(hosts = '192.168.10.1/24')
  File "/usr/local/lib/python3.9/dist-packages/nmap/nmap.py", line 306, in scan
    return self.analyse_nmap_xml_scan(
  File "/usr/local/lib/python3.9/dist-packages/nmap/nmap.py", line 372, in analyse_nmap_xml_scan
    raise PortScannerError(nmap_err)
nmap.nmap.PortScannerError: "nmap: Target.cc:503: void Target::stopTimeOutClock(const timeval*): Assertion `htn.toclock_running == true' failed.\n"

但扫描192.168.10.1-10小范围网段时可正常运行,询问大网段扫描失败的原因及解决办法。

原因分析

  • Nmap 7.80版本BUG:该版本存在已知的并发处理漏洞,当扫描大规模网段(如/24)时,目标超时时钟的管理逻辑触发断言失败。小范围网段因目标数量少,未触发该漏洞。
  • 资源过载:/24网段包含254个目标,扫描时会占用大量CPU、内存和网络资源,若系统资源不足,Nmap进程可能异常终止,无法生成完整的XML输出,导致python-nmap解析失败。
  • 版本兼容性问题:python-nmap 0.7.1与Nmap 7.80的XML输出格式存在兼容性差异,大规模扫描时输出的XML结构不完整或不符合预期,引发解析错误。

解决办法

  • 升级Nmap:将Nmap更新至7.90及以上版本,官方已修复该断言失败的BUG。
  • 控制扫描并发数:在scan方法中添加参数限制并发目标数量,避免资源过载:
    result = nm.scan(hosts='192.168.10.1/24', arguments='--max-parallelism 20')
    
  • 拆分网段分批扫描:将/24网段拆分为多个小范围(如192.168.10.1-64、192.168.10.65-128等),分批次执行扫描后合并结果。
  • 更新python-nmap:升级python-nmap到最新稳定版本(如0.7.4),提升与新版Nmap的兼容性。

内容的提问来源于stack exchange,提问作者wallace wong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:40:37