Я новичок в программировании, а также python, я пытаюсь использовать приведенный ниже код для прослушивания http-пакетов.
Я получаю сообщение об ошибке ниже, я знаю, что вместо этого я могу использовать метод .encode (), попробуйте преобразование этого списка в байты сохраняет его в переменной.
просто хотел понять мой список ключевые слова это можно преобразовать в байты.
TypeError: объект 'str' не может быть интерпретированным как целое число
Мой код
#!/bin/python3
import scapy.all as scapy
from scapy.layers import http
def sniff(interface):
scapy.sniff(iface=interface, store=False, prn=process_sniffed_packets)
def process_sniffed_packets(packet):
if packet.haslayer(http.HTTPRequest):
if packet.haslayer(scapy.Raw):
load = (packet[scapy.Raw].load)
keywords = ["usr", "username", "uname", "pwd", "pass", "password"]
keyword_b = bytes(keywords)
for eachword in keyword_b:
if eachword in load:
print(load)
break
sniff(eth0)
Полная трассировка назад
root@kali:~/python_course_zaid/Writing a Packet Sniffer# ./packet_sniffer.py
Traceback (most recent call last):
File "./packet_sniffer.py", line 24, in <module>
sniff("eth0")
File "./packet_sniffer.py", line 7, in sniff
scapy.sniff(iface=interface, store=False, prn=process_sniffed_packets)
File "/usr/lib/python3/dist-packages/scapy/sendrecv.py", line 972, in sniff
sniffer._run(*args, **kwargs)
File "/usr/lib/python3/dist-packages/scapy/sendrecv.py", line 925, in _run
session.on_packet_received(p)
File "/usr/lib/python3/dist-packages/scapy/sessions.py", line 47, in on_packet_received
result = self.prn(pkt)
File "./packet_sniffer.py", line 14, in process_sniffed_packets
keyword_b = bytes(keywords)
TypeError: 'str' object cannot be interpreted as an integer
Я знаю, что ниже работает код
keywords = ["usr", "username", "uname", "pwd", "pass", "password"]
for eachword in keywords:
if eachword.encode() in load:
print(load)
break