2017-01-24 12 views
1

My Scapy v2.3.3 не запускается. Свежая переустановка Python 2.7, WinPcap10 и pyreadline. Иногда он запускается после второй попытки в той же консоли.Scapy не запустится

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 
+0

проверить переменную 'строку 'ценность, которую вы ожидаете, и вы получаете не то же самое. – Crazyshezy

+0

Это стандартные scapy-файлы, я не несу ответственности за его внутренности. – totalamd

+0

Я имею в виду, я не думаю, что это хорошая идея вмешиваться в его. – totalamd

ответ

1

Эта ошибка была реализована в 6840d30 (v2.3.3) и фиксируется в 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()) 

 Смежные вопросы

  • Нет связанных вопросов^_^