#!/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,但在更改为鹦鹉操作系统后它不起作用,当我运行 pdfdump 时,我收到上面的错误
这确实是 scapy3k.packet 中的一个错误 - 如果有任何导入错误,它会尝试导入pyx
并静默地继续,这会导致您的问题:
try:
import pyx
except ImportError:
pass
您应该在项目的 github 中填写错误报告 - 包应该正确声明它对第 3 部分包的依赖关系,以便它们一起安装,并且它绝对不应该沉默所需的导入失败的事实。
同时,您可以尝试自己安装 pyx - 它可能只是工作,或者它可能会在其他地方中断,具体取决于版本兼容性。
你应该使用 scapy 而不是 scapy3k,它包含这些修复和更好的 PyX 拦截
FTR:
- scapy3k = 基于 scapy 2.2.0 的 fork,它曾经是唯一支持 Python 3 的
- scapy(来自secdev(=原始的,最新的,也适用于Python 3,因为scapy 2.4.0 +
很难相信这个问题在 3 年后仍然存在。这是为了通知任何登陆这里想知道如何解决这个问题的人。
这是由于安装在安装上的"预期"延迟导入,因为它需要 GB/s 的下载文件来支持 TeX 后端。因此,这是scapy项目本身的故意错误。
您需要安装MikTeX
并LiveTex
,因为它并不明显。
LiveTex可以从这里下载