«

»

Şub 08

DEB paketi oluşturma (mac adresi değiştirme) örneği (Pardus, Linux …)

Faydanılan Github proje linki:

https://github.com/dogukaneren/Mac-Changer

 

Amaç: İlgili interface’teki mac adresinin değiştirilmesi için .deb paketi oluşturma. Buradan yola çıkarak debian tabanlı yerli ve milli işletim sistemimiz Pardus içinde güzel deb paketleri oluşturulabilir.

 

mac_degistir.py  (python dosya içeriği)

import subprocess
import random
import sys

def generate_random_mac():
mac = [0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff)]
return ‘:’.join(f”{x:02x}” for x in mac)

def change_mac(interface, new_mac):
try:
subprocess.call([‘sudo’, ‘ifconfig’, interface, ‘down’])
subprocess.call([‘sudo’, ‘ifconfig’, interface, ‘hw’, ‘ether’, new_mac])
subprocess.call([‘sudo’, ‘ifconfig’, interface, ‘up’])
print(f”MAC address of {interface} changed to {new_mac}”)
except Exception as e:
print(f”An error occurred: {str(e)}”)

if __name__ == “__main__”:
if len(sys.argv) != 2:
print(“Usage: python3 mac-changer.py <interface>”)
sys.exit(1)

interface = sys.argv[1]
random_mac = generate_random_mac()
change_mac(interface, random_mac)

 

mac_degistir.sh  (shell script dosya içeriği)

#!/bin/bash

old_mac_file=”.old-mac”

if [ “$EUID” -ne 0 ]; then
echo “Please run this script as root (sudo).”
exit 1
fi

generate_random_mac() {
printf “02:%02X:%02X:%02X:%02X:%02X\n” $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256))
}

while getopts “i:m:” opt; do
case “$opt” in
i) interface=”$OPTARG”;;
m) new_mac=”$OPTARG”;;
\?) echo “Usage: $0 -i <interface_name> [-m <new_mac>]”
exit 1;;
esac
done

if [ -z “$interface” ]; then
echo “Usage: $0 -i <interface_name> [-m <new_mac>]”
exit 1
fi

if ! ip link show dev “$interface” &> /dev/null; then
echo “Error: Interface ‘$interface’ does not exist.”
exit 1
fi

if [ -z “$new_mac” ]; then
new_mac=$(generate_random_mac)
fi

ip link set dev “$interface” down

old_mac=$(ip link show dev “$interface” | awk ‘/ether/ {print $2}’)
echo “$old_mac” > “$old_mac_file”

ip link set dev “$interface” address “$new_mac” up

if [ “$?” -eq 0 ]; then
echo “Changed MAC address of ‘$interface’ to ‘$new_mac’.”
else
echo “Error: Failed to change MAC address of ‘$interface’.”
fi

exit 0

 

Deb paketi için dosyanın oluşturulması:

mkdir MC
mkdir MC/DEBIAN
touch MC/DEBIAN/control

Script için dosyanın oluşturulması:
mkdir -p MC/usr/bin
chmod +x mac_degistir.sh
mv mac_degistir.sh MC/usr/bin/mac_degistir


Deb paketi için kontrol dosyasının oluşturulması ve içeriği:
pico MC/DEBIAN/control
Package: mac-degistir
Version: 1.0
Architecture: all
Maintainer: h4ck3r <your-mail>
Description: MAC addresses changing on Linux
Depends: iproute2

Paketin oluşturulması:
dpkg-deb --build mac-degistir

Paketin kurulması:
dpkg -i mac-degistir.deb


İlgili interface'te mac aderinin değiştirilmesi (ip a veya ifconfig ile interfaceler listelenir):
mac-degistir -i enp0s31f6 (bendeki kablolu interface adı = enp0s31f6 olduğu için)
mac-changer -i <interface-name> -m "AA:BB:CC:11:22:33"
 
Umarım faydalı olur :)


 






 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

AlphaOmega Captcha Classica  –  Enter Security Code
     
 

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>