zoukankan      html  css  js  c++  java
  • Python Ethical Hacking

    FUNCTIONS

    • Set of instructions to carry out a task.
    • Can take input, and return a result.
    • Make the code clearer, reusable, and more abstract.
    • input() function prompts the user to enter the value.

    Rewrite the Python script using the function style.

    #!/usr/bin/env python
    
    import subprocess
    import optparse
    
    def change_mac(interface, new_mac):
        print("[+] Changing MAC address for " + interface + " to " + new_mac)
        subprocess.call(["ifconfig", interface, "down"])
        subprocess.call(["ifconfig", interface, "hw", "ether", new_mac])
        subprocess.call(["ifconfig", interface, "up"])
    
    parser = optparse.OptionParser()
    
    parser.add_option("-i", "--interface", dest="interface", help="Interface to change its MAC address")
    parser.add_option("-m", "--mac", dest="new_mac", help="New MAC address")
    
    (options, arguments) = parser.parse_args()
    
    change_mac(options.interface, options.new_mac)

    Execute the following commands successfully to change the MAC.

    python mac_changer.py -i eth0 -m 00:11:22:33:44:22

    Rewrite the Python script.

    #!/usr/bin/env python
    
    import subprocess
    import optparse
    
    def get_arguments():
        parser = optparse.OptionParser()
        parser.add_option("-i", "--interface", dest="interface", help="Interface to change its MAC address")
        parser.add_option("-m", "--mac", dest="new_mac", help="New MAC address")
        return parser.parse_args()
    
    def change_mac(interface, new_mac):
        print("[+] Changing MAC address for " + interface + " to " + new_mac)
        subprocess.call(["ifconfig", interface, "down"])
        subprocess.call(["ifconfig", interface, "hw", "ether", new_mac])
        subprocess.call(["ifconfig", interface, "up"])
    
    (options, arguments) = get_arguments()
    change_mac(options.interface, options.new_mac)

    Execute the following commands successfully to change the MAC.

    python mac_changer.py -i eth0 -m 00:11:22:33:44:33

     Decision Making

    • Execute code ONLY if a condition is true.

    Rewrite the Python code using conditional statements.

    #!/usr/bin/env python
    
    import subprocess
    import optparse
    
    def get_arguments():
        parser = optparse.OptionParser()
        parser.add_option("-i", "--interface", dest="interface", help="Interface to change its MAC address")
        parser.add_option("-m", "--mac", dest="new_mac", help="New MAC address")
        (options, arguments) = parser.parse_args()
        if not options.interface:
            parser.error("[-] Please specify an interface, use --help for more info.")
        elif not options.new_mac:
            parser.error("[-] Please specify a new mac, use --help for more info.")
        return options
    
    def change_mac(interface, new_mac):
        print("[+] Changing MAC address for " + interface + " to " + new_mac)
        subprocess.call(["ifconfig", interface, "down"])
        subprocess.call(["ifconfig", interface, "hw", "ether", new_mac])
        subprocess.call(["ifconfig", interface, "up"])
    
    options = get_arguments()
    change_mac(options.interface, options.new_mac)

    Test the script using the following commands.

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    Linux之流程判断
    Linux之Shell变量
    Linux之RAID
    Y-Sport
    [ST2017] Lab1: Triangle type and Junit test
    [ST2017] Hw3: Prime Path
    [ST2017] Hw2: Fault, Error, Failure and test case for projects
    [SPM2017] Hw1: The outcome of my project [Deadline: 23:59:59, Mar.1, 2017]
    [ST2017] Hw1: An error from my past projects [Deadline: 23:59:59, Feb.27, 2017]
    一个使用Jmeter做接口性能测试的实战案例
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/11333947.html
Copyright © 2011-2022 走看看