【问题标题】:pdfdump in python not working using scapypython中的pdfdump无法使用scapy
【发布时间】:2018-05-25 11:50:59
【问题描述】:
    #!/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 我得到了上面的错误

【问题讨论】:

    标签: python scapy parrot-os


    【解决方案1】:

    这确实是 a bug in scapy3k.packet - 它会尝试导入 pyx 并在出现任何导入错误时静默继续,这会导致您的问题:

    try:
        import pyx
    except ImportError:
        pass
    

    您应该在项目的 github 中填写错误报告 - 包应该正确声明它对第 3 部分包的依赖项,以便它们一起安装,并且它绝对不能忽略所需导入失败的事实。

    与此同时,您可以尝试自己安装 pyx - 它可能会正常工作,或者可能会在其他地方中断,具体取决于版本兼容。

    【讨论】:

    • 这是真的:scapy3k 有问题。这就是为什么人们应该使用原始的 scapy。请参阅下面的答案
    【解决方案2】:

    你应该使用 scapy 而不是 scapy3k,它包含那些修复和更好的 PyX 拦截

    FTR:

    • scapy3k = 基于 scapy 2.2.0 的 fork,它曾经是唯一支持 python 3 的版本
    • scapy(来自 secdev)= 原始版本,自 scapy 2.4.0+ 起也适用于 python 3 的最新版本

    【讨论】:

      【解决方案3】:

      很难相信这个问题在 3 年后仍然存在。这是为了通知任何登陆这里并想知道如何解决此问题的人。

      这是由于安装时放置了“预期的”延迟导入,因为它需要 GB/s 的下载文件来支持 TeX 后端。因此,这是 scapy 项目本身的故意错误。

      你需要安装MikTeXLiveTex,因为它不明显。

      LiveTex 可以从here下载

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-09
        • 2017-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多