• Python Ethical Hacking


    DICTIONARIES

    • Similar to lists but use key instead of an index.

    LISTS

    • List of values/elements, all can be stored in one variable.

    Improving the Program Using a List of Dictionaries:

    #!/usr/bin/env python
    
    import scapy.all as scapy
    
    def scan(ip):
        arp_request = scapy.ARP(pdst=ip)
        broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
        arp_request_broadcast = broadcast/arp_request
        answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
    
        clients_list = []
        for element in answered_list:
            clients_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc}
            clients_list.append(clients_dict)
        return clients_list
    
    def print_result(results_list):
        print("IP			MAC Address
    ------------------------------------------")
        for client in results_list:
            print(client["ip"] + "		" + client["mac"])
            
    scan_result = scan("10.0.0.1/24")
    print_result(scan_result)

    Result:

    Complete the Python code:

    #!/usr/bin/env python
    
    import scapy.all as scapy
    import argparse
    
    def get_arguments():
        parser = argparse.ArgumentParser()
        parser.add_argument("-t", "--target", dest="target", help="Target IP / IP range.")
        options = parser.parse_args()
        return options
    
    def scan(ip):
        arp_request = scapy.ARP(pdst=ip)
        broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
        arp_request_broadcast = broadcast/arp_request
        answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
    
        clients_list = []
        for element in answered_list:
            clients_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc}
            clients_list.append(clients_dict)
        return clients_list
    
    def print_result(results_list):
        print("IP			MAC Address
    ------------------------------------------")
        for client in results_list:
            print(client["ip"] + "		" + client["mac"])
    
    options = get_arguments()
    scan_result = scan(options.target)
    print_result(scan_result)

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    学习使人快乐9--eclipse常用快捷键总结
    5.20新一周
    Mybatis+Spring框架整合
    Mybatis3
    Mybatis2
    Mybatis1
    查找算法
    Spring3:spring的事务操作
    Spring2:
    Spring:
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/11366960.html
Copyright © 2020-2023  润新知