Member 14056957 Ответов: 1

Я создаю программу Python для изменения запроса внутри пакета, но получаю ошибку Layer TCP not found в netfilterqueue.global_callback ignored error. Почему эта ошибка приходит?


[+] Запрос >>
Исключение TypeError: "объект'module' не имеет атрибута '__getitem__'" в 'netfilterqueue.global_callback' игнорируется

Исключение IndexError: IndexError('Layer [TCP] not found',) в 'netfilterqueue.global_callback' игнорируется

Эти две ошибки возникают при выполнении моего кода python.:

Что я уже пробовал:

#!/usr/bin/env python
импорт netfilterqueue
импорт scapy.all как scapy
импорт заново

def set_load(пакет, загрузка):
scapy[scapy.Raw].load = нагрузка
пакет дель[scapy.ИС].chksum
пакет дель[scapy.ИС].лен
пакет дель[scapy.ПТС].chksum
обратный пакет

def process_packet(пакет):
scapy_packet = scapy.ИП(пакет.get_payload())
если scapy_packet.haslayer(scapy.Raw):
if scapy_packet[scapy.TCP].dport == 80:
print("[+] запрос >>")
modified_load = ре.суб("принять кодирования:.*?\\р\\п", "", scapy_packet[scapy.Сырья].загрузить)
new_packet = set_load(scapy_packet, modified_load)
packet.set_payload(str(new_packet))
elif scapy_packet[scapy.TCP].sport == 80:
print("[+] Response >>")
печати(scapy_packet.показывать())

пакет.принять()

очереди = netfilterqueue.NetfilterQueue()
queue.bind(0, process_packet)

очереди.запустить()

1 Ответов

Рейтинг:
2

Member 14888563

Привет я бы изменил ваше заявление if на:

если скапи.Raw в scapy_packet и scapy.TCP в scapy_packet:

вместо:

если scapy_packet.haslayer(scapy.Raw):