помогите найти проблему. Script не работает никаких ошибок не выдает

#!/usr/bin/env python3
import subprocess 
import netifaces 
import re 
import random 
import time
   

def change_mac(interface, new_mac):    
    subprocess.call(["ifconfig", interface, "down"])    
    subprocess.call(["ifconfig", interface, "hw", "ether", new_mac])    
    subprocess.call(["ifconfig", interface, "up"])
   
def get_current_mac(interface):    
    ifconfig_result = subprocess.check_output(["ifconfig", interface])    
    mac_address_search_result = re.search(r"\w\w:\w\w:\w\w:\w\w:\w\w:\w\w", str(ifconfig_result))    
    if mac_address_search_result:
       return mac_address_search_result.group(0)    
    else:
       print("[-] Could not read MAC address.")
   
def get_random_mac_address():    
    characters = "0123456789abcdef"    
    random_mac_address = "00"    
    for i in range(5):
        random.choice(characters)     
    return random_mac_address
   
print("[+] Searching for Network Interfaces[+]") 
interface_list =    netifaces.interfaces() 
interface_list.remove("lo") 
print("[+] Please    choose interface to change MAC address[+]") print(interface_list)

interface = input("interface > ")
print("[+] How are you going to change MAC address?") 
print("[+] 1.    Randomly \n[+] 2. Custom") 
change_type = input("==>")

if change_type == 1:    
    get_random_mac_address()    
    new_mac = random_mac_address    
    interface_mac = get_current_mac(interface)    
    print("[+] MAC address for ", interface, str(interface_mac))    
    change_mac(interface, new_mac)    

    current_mac = get_current_mac(interface)    
    if current_mac == new_mac:
        print("[+] MAC address randomly changed to ", current_mac)

if change_type == 2:    
    new_mac = input("new MAC > ")    
    interface_mac = get_current_mac(interface)    
    print("[+] MAC address for ", interface, str(interface_mac))    
    change_mac(interface, new_mac)    
    current_mac = get_current_mac(interface)    

    if current_mac == new_mac:
        print("[+] MAC address was successfully changed to ", current_mac)    
    else:
        print("[-] MAC address did not changed!")

if change_type < "1":    
    print("[-] Type 1 or 2 for select!") 

if change_type > "2":    
    print("[-] Type 1 or 2 for select!")

Ответы (1 шт):

Автор решения: Orkhan

1 у вас то change_type == 1, то change_type < "1", вы получаете change_type = input("==>") как строку, так и сравнивайте со строкой; get_random_mac_address() присвойте переменной; сами-то знаете, как оно должно работать? ;) – Jack_oS вчера

1 Вы вызываете функцию get_random_mac_address(), но не присваиваете ее значение в переменную. То что она возвращает random_mac_address, не означает что в следующей строке "new_mac = random_mac_address" вы можете этим значением оперировать. – alex just вчера

→ Ссылка