Python Ethical Hacking - MAC Address & How to Change(1)

MAC ADDRESS

  • Media Access Control
    • Permanent
    • Physical
    • Unique
  • Assigned by manufacturer

WHY CHANGE THE MAC ADDRESS

1.Increase anonymity

2.Impersonate other devices

3.Bypass filters

 

Change the MAC Address manually.

ifconfig

ifconfig eth0 down

ifconfig eth0 hw ether 00:11:22:33:44:55

ifconfig eth0 up

ifconfig

 

MAC_CHANGER USING A PYTHON MODULE TO EXECUTE SYSTEM COMMANDS

  • The subprocess module contains a number of functions.
  • These functions allow us to execute system commands.
  • Commands depend on the OS which executes the script.

Refer to the Python Documentation: https://docs.python.org/3/library/subprocess.html

Simple sample:

#!/usr/bin/env python

import subprocess

subprocess.call("ifconfig", shell=True)

 

The Python script to change the MAC Address:

#!/usr/bin/env python

import subprocess

subprocess.call("ifconfig eth0 down", shell=True)
subprocess.call("ifconfig eth0 hw ether 00:11:22:33:44:66", shell=True)
subprocess.call("ifconfig eth0 up", shell=True)

 It works.

 

The updated Python script to change the MAC address using variables.

#!/usr/bin/env python

import subprocess

interface = "eth0"
new_mac = "00:11:22:33:44:77"

print("[+] Changing MAC address for " + interface + " to " + new_mac)

subprocess.call("ifconfig " + interface + " down", shell=True)
subprocess.call("ifconfig " + interface + " hw ether " + new_mac, shell=True)
subprocess.call("ifconfig " + interface + " up", shell=True)

Run the script successfully.

 

The updated Python script using the user's input.

#!/usr/bin/env python

import subprocess

interface = input("interface > ")
new_mac = input("new MAC > ")

print("[+] Changing MAC address for " + interface + " to " + new_mac)

subprocess.call("ifconfig " + interface + " down", shell=True)
subprocess.call("ifconfig " + interface + " hw ether " + new_mac, shell=True)
subprocess.call("ifconfig " + interface + " up", shell=True)

 Run the new scripts successfully.

 

Enhance the security of the Python script by changing the use of the call function.

#!/usr/bin/env python

import subprocess

interface = raw_input("interface > ")
new_mac = raw_input("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"])

 Run the script successfully and more secure.

 

Update the Python script to handle command-line arguments.

Use the module Parser: https://docs.python.org/2/library/optparse.html

#!/usr/bin/env python

import subprocess
import optparse

parser = optparse.OptionParser()

parser.add_option("-i", "--interface", dest="interface", help="Interface to change its MAC address")

parser.parse_args()

interface = raw_input("interface > ")
new_mac = raw_input("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"])

Initializing the variables based on the command arguments.

#!/usr/bin/env python

import subprocess
import optparse

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()

interface = options.interface
new_mac = options.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"])

 

Execute the following commands.

python mac_changer.py --interface eth0 --mac 00:11:22:33:44:55

or 

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

 

转载于:https://www.cnblogs.com/keepmoving1113/p/11333651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值