【问题标题】:PROBLEM WHILE USING SCAPY (Permission denied)使用 SCAPY 时出现问题(权限被拒绝)
【发布时间】:2020-05-10 23:23:01
【问题描述】:

我正在尝试在 python3 中制作一个简单的网络扫描仪,它可以扫描 LAN 上的整个设备。就在那时我听说了 Scapy。但是,每当我尝试运行我的程序时,它都会返回一个错误 “PermissionError: [Errno 13] Permission denied”

这是我的代码:

import scapy.all as scapy


def scan(ip):

  scapy.arping(ip)

scan("192.168.43.1")

如果你们能解决这个问题,那将对我有很大帮助。谢谢阅读。

完整输出:

          Traceback (most recent call last):
         File "network_scanner.py", line 7, in <module>
         scan("192.168.43.1")
         File "network_scanner.py", line 5, in scan
         scapy.arping(ip)
         File "/usr/local/lib/python3.8/dist- 
         packages/scapy/layers/l2.py", line 628, in arping
         ans, unans = srp(Ether(dst="ff:ff:ff:ff:ff:ff") / 
         ARP(pdst=net), verbose=verbose,  # noqa: E501
         File "/usr/local/lib/python3.8/dist- 
         packages/scapy/sendrecv.py", line 503, in srp
         s = conf.L2socket(promisc=promisc, iface=iface,
         File "/usr/local/lib/python3.8/dist- 
        packages/scapy/arch/linux.py", line 467, in __init__
        self.ins = socket.socket(socket.AF_PACKET, 
        socket.SOCK_RAW, socket.htons(type))  # noqa: E501
       File "/usr/lib/python3.8/socket.py", line 231, in __init__
       _socket.socket.__init__(self, family, type, proto, fileno)
       PermissionError: [Errno 13] Permission denied

【问题讨论】:

  • 您能否编辑您的问题(底部的按钮)以包含完整的错误消息?
  • 我已经添加了输出
  • 你试过arp-scan而不是scapy吗?

标签: python python-3.x networking network-programming scapy


【解决方案1】:

我相信scapy.arping() 方法会打开原始套接字。尝试使用sudo 以root 用户身份运行。

【讨论】:

  • 我正在使用kali linux中的root终端运行该程序
  • 你是直接运行kali还是在某个VM中运行?
  • 我已经在我的 android 上以 chroot 身份安装了 kali linux。
  • @FaiyazAhmad 请将其添加到您的问题中。你的环境很重要!!
  • 在 chroot 环境中成为 root 没有任何意义,如果您不是从 root 环境运行 chroot 本身。尽管 chroot 环境授予打开原始套接字的权限,但您的 android 系统不会。你不能解决这个问题,除非你根你的手机(即使我事后怀疑!)
【解决方案2】:

我遇到了同样的问题,但 "[Errno 1]" ,解决这个问题的方法是通过 sudo (和"-E" 保护环境)

sudo -E python myScriptName.py

也提到了Here。 | ⚠️ “它有自己的安全风险。所以要小心”。

【讨论】:

    【解决方案3】:

    像这样使用 sudo sudo -E python3 Arpt.py

    【讨论】:

    • 欢迎来到 Stack Overflow!请在发布之前检查您的解决方案是否已在 another answers 中提出。
    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 2011-02-17
    • 2015-01-28
    • 2015-05-24
    • 2021-08-30
    • 2015-09-26
    • 2019-04-26
    • 1970-01-01
    相关资源
    最近更新 更多