1

我在 Windows 10 中使用 python3 我尝试使用 pyshark,但出现此错误:

Python 3.6.2rc1 (heads/3.6:268e1fb, Jun 17 2017, 19:01:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyshark
>>> cap = pyshark.LiveCapture(output_file="pyshark.pcap")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\MYUSER\AppData\Local\Programs\Python\Python36\lib\site-
packages\pyshark\capture\live_capture.py", line 56, in __init__
self.interfaces = get_tshark_interfaces(tshark_path)
  File "C:\Users\MYUSER\AppData\Local\Programs\Python\Python36\lib\site-
packages\pyshark\tshark\tshark.py", line 140, in get_tshark_interfaces
tshark_interfaces = check_output(parameters, stderr=null).decode("ascii")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 61: 
ordinal not in range(128)

或者当我做一个函数时:

import pyshark

def cap():
    capture = pyshark.LiveCapture(interface='eth0')
    capture.sniff(timeout=50)
    print(capture)

cap()

当我运行它时::
$_
然后我进入一个无限循环,或者保持这种状态,我还在使用 ubuntu 16 的 VM 中进行测试,其中:

import pyshark
cap = pyshark.LiveCapture(interface='en0')
cap.sniff(packet_count=50)
for pkt in cap:
    print(cap)

当我在第 2 行使用 VC 调试时,我得到:

Traceback (most recent call last):
  File "/home/MyVM/Desktop/program.py", line 1, in <module>
    import pyshark
ImportError: No module named pyshark

但是当我在终端看到:

$pip3 freeze

我得到:

apturl==0.5.2
argcomplete==0.8.1
astroid==1.5.3
beautifulsoup4==4.4.1
blinker==1.3
Brlapi==0.6.4
chardet==2.3.0
checkbox-support==0.22
command-not-found==0.3
cryptography==1.2.3
defer==1.0.6
feedparser==5.1.3
guacamole==0.9.2
html5lib==0.999
httplib2==0.9.1
idna==2.0
isort==4.2.15
Jinja2==2.8
language-selector==0.1
lazy-object-proxy==1.3.1
Logbook==1.1.0
louis==2.6.4
lxml==3.5.0
Mako==1.0.3
MarkupSafe==0.23
mccabe==0.6.1
oauthlib==1.0.3
onboard==1.2.0
padme==1.1.1
pbr==3.1.1
pexpect==4.0.1
Pillow==3.1.2
plainbox==0.25
progressbar==2.3
ptyprocess==0.5
py==1.4.34
pyasn1==0.1.9
pycups==1.9.73
pycurl==7.43.0
pygobject==3.20.0
PyJWT==1.3.0
pylint==1.7.2
pyparsing==2.0.3

pyshark==0.3.7.9

python-apt==1.1.0b1
python-debian==0.1.27
python-gnupg==0.3.8
python-systemd==231
pyxdg==0.25
PyYAML==3.11
reportlab==3.3.0
requests==2.9.1
sessioninstaller==0.0.0
six==1.10.0
stevedore==1.24.0
system-service==0.3
trollius==1.0.4
ubuntu-drivers-common==0.0.0
Ubuntu-Make==17.3
ufw==0.35
unattended-upgrades==0.1
unity-scope-calculator==0.1
unity-scope-chromiumbookmarks==0.1
unity-scope-colourlovers==0.1
unity-scope-devhelp==0.1
unity-scope-firefoxbookmarks==0.1
unity-scope-gdrive==0.7
unity-scope-manpages==0.1
unity-scope-openclipart==0.1
unity-scope-texdoc==0.1
unity-scope-tomboy==0.1
unity-scope-virtualbox==0.1
unity-scope-yelp==0.1
unity-scope-zotero==0.1
urllib3==1.13.1
usb-creator==0.3.0
virtualenv==15.1.0
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.2
wrapt==1.10.10
xdiagnose==3.8.4.1
xkit==0.0.0
XlsxWriter==0.7.3

当我使用终端运行它时,我会像在 Windows 中那样进入无限循环,或者我在 ubuntu 中使用 python shell

Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyshark
>>> cap = pyshark.LiveCapture(output_file="pyshark.pcap")
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/pyshark/capture/live_capture.py", line 56, in __init__
    self.interfaces = get_tshark_interfaces(tshark_path)
  File "/usr/local/lib/python3.5/dist-packages/pyshark/tshark/tshark.py", line 140, in get_tshark_interfaces
    tshark_interfaces = check_output(parameters, stderr=null).decode("ascii")
  File "/usr/local/lib/python3.5/dist-packages/pyshark/tshark/tshark.py", line 56, in check_output
     raise RuntimeError("Program failed to run. Retcode: %d. Cmd: %s" % (retcode, cmd))
     RuntimeError: Program failed to run. Retcode: 2. Cmd: ['/usr/bin/tshark', '-D']
    >>> 

我得到这个错误

所以我不明白我能做些什么来解决它。

4

0 回答 0