Scapy 不会启动

Scapy won't start

我的 Scapy v2.3.3 无法启动。重新安装 Python 2.7、WinPcap10 和 pyreadline。有时它会在同一控制台中第二次尝试后开始。

c:\Python27\Scripts>scapy

c:\Python27\Scripts>python c:\Python27\Scripts\scapy
INFO: Can't import matplotlib. Won't be able to plot.
INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().
Traceback (most recent call last):
  File "c:\Python27\Scripts\scapy", line 26, in <module>
    interact()
  File "C:\Python27\lib\site-packages\scapy\main.py", line 300, in interact
    scapy_builtins = __import__("all",globals(),locals(),".").__dict__
  File "C:\Python27\lib\site-packages\scapy\all.py", line 16, in <module>
    from scapy.arch import *
  File "C:\Python27\lib\site-packages\scapy\arch\__init__.py", line 83, in <module>
    from scapy.arch.windows import *
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 318, in <module>
    IFACES.load_from_powershell()
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 270, in load_from_powershell
    for i in get_windows_if_list():
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 206, in get_windows_if_list
    for line in query)
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 205, in <genexpr>
    (dict(zip(['name', 'win_index', 'description', 'guid', 'mac'], line))
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 53, in _exec_query_ps
    l.append(line.split(':', 1)[1].strip())
IndexError: list index out of range

此错误已在 6840d30 (v2.3.3) and fixed in a454ef4 中实现,可以通过更改

来修复
l.append(line.split(':', 1)[1].strip())

 sl = line.split(':', 1)
 if len(sl) == 1:
     l[-1] += sl[0].strip()
     continue
 else:
     l.append(sl[1].strip())