zoukankan      html  css  js  c++  java
  • 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)

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    pywinauto首页、文档和下载
    Android UI自动化测试最佳实践
    5个最佳的Android测试框架(带示例) – 码农网
    (转)使用graphviz绘制流程图
    使用 Graphviz 生成自动化系统图
    程序员的绘图利器 — Graphviz
    绘图工具graphviz学习使用
    Git Book 中文版
    [git] 更新到某个指定版本
    LindDotNetCore~Aspect面向方面编程
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/11366960.html
Copyright © 2011-2022 走看看