首页 > 解决方案 > AttributeError:模块“scapy.all”没有属性“RAW”

问题描述

因此,每当我运行代码时,都会出现以下错误,但是当我尝试安装每个模块时,它会说它们已经安装并且是最新的。

代码:

#!usr/bin/env python
import netfilterqueue
import scapy.all as scapy
import os

def process_packet(packet):
    scapy_packet = scapy.IP(packet.get_payload())
    if scapy_packet.haslayer(scapy.Raw):
    # if scapy.Raw in scapy_packet and scapy.TCP in scapy_packet:
        if scapy_packet[scapy.TCP].dport == 80:
            print("HTTP Request")
            if ".exe" in scapy_packet[scapy.RAW].load:
                print("[+] exe Request")
                print(scapy_packet.show())
        elif scapy_packet[scapy.TCP].sport == 80:
            print("HTTP Response")
            print(scapy_packet.show())


    packet.accept()

os.system("iptables --flush")
os.system("iptables -I INPUT -j NFQUEUE --queue-num 0")
os.system("iptables -I OUTPUT -j NFQUEUE --queue-num 0")

queue = netfilterqueue.NetfilterQueue()
queue.bind(0, process_packet)
queue.run()

错误:

HTTP Request
Exception ignored in: 'netfilterqueue.global_callback'
Traceback (most recent call last):
  File "/root/Tools/replace_downloads/main.py", line 12, in process_packet
    if ".exe" in scapy_packet[scapy.RAW].load:
AttributeError: module 'scapy.all' has no attribute 'RAW'
^CTraceback (most recent call last):

标签: pythonscapy

解决方案


推荐阅读