#!/bin/bash/python3
from scapy3k.all import *``
import subprocess
import os
def ifac111():
pkts = sniff(filter="tcp", iface="tun0", count=100)
inp = input('want to see a \'pdfdump?\' \n Y/N--> ')
fag = pkts.summary()
print('-' * 60)
what_df = pkts.show()
print("^^^ Here you got {} packets {}.".format("100", "scanned"))
print("The {} ones are {} and second ones are just {} command".format("first", "summary", "show" ))
print(inp)
if inp == 'Y':
pkts[0].pdfdump()
else:
print("got ya \f hex0")
while 1 > 0:
SSS = input('enter your command\'s here:-> \t ') #\t moves 4 spaces
if SSS == 'packets':
ifac111()
elif SSS == 'nworkscan':
os.system('sudo nmap localhost/24')
elif SSS == 'Virusscan':
os.system('sudo chkrootkit')
elif SSS == 'clear':
subprocess.call('clear')
当我运行pdfdump时,我得到这个错误
Traceback (most recent call last):
File "scapy2.py", line 27, in <module>
ifac111()
File "scapy2.py", line 16, in ifac111
pkts[0].pdfdump()
File "/usr/local/lib/python3.6/dist-packages/scapy3k/packet.py", line 418, in pdfdump
canvas = self.canvas_dump(**kargs)
File "/usr/local/lib/python3.6/dist-packages/scapy3k/packet.py", line 428, in canvas_dump
canvas = pyx.canvas.canvas()
NameError: name 'pyx' is not defined
如果这个问题很愚蠢,我很抱歉,我是编码新手,一直在尝试做一些研究,但没有结果。我以前也在我的旧操作系统上使用ICMP而不是TCP,但在切换到parrot后它不能工作,当我运行pdfdump时,我得到上面的错误
发布于 2018-05-25 20:21:07
这确实是a bug in scapy3k.packet -它尝试导入pyx
并在出现任何导入错误时静默地继续,这会导致您的问题:
try:
import pyx
except ImportError:
pass
你应该在项目的github中填写错误报告--包应该正确地声明它对第三部分包的依赖,这样它们就可以一起安装,而且它绝对不应该屏蔽所需导入失败的事实。
在此期间,您可以尝试自己安装pyx -它可能会正常工作,也可能会在其他地方崩溃,这取决于compat的版本。
发布于 2021-07-20 02:54:55
很难相信这个问题在三年后仍然存在。这是为了通知任何想要知道如何解决这个问题的其他人。
这是由于安装上放置了“预期的”惰性导入,因为它需要1 GB/s的下载文件来支持TeX后端。因此,这是替罪羊项目本身故意犯下的错误。
您需要安装MikTeX
和LiveTex
,因为它并不明显。
可以从here下载LiveTex
https://stackoverflow.com/questions/50528578
复制相似问题