Hello à toutes et à tous.
J’ai récupéré ce script sur ce site :
#!/bin/bash
login='fti/abcdefg'
pass='hijklmn'
tohex() {
for h in $(echo $1 | sed "s/\(.\)/\1 /g"); do printf %02x \'$h; done
}
addsep() {
echo $(echo $1 | sed "s/\(.\)\(.\)/:\1\2/g")
}
r=$(dd if=/dev/urandom bs=1k count=1 2>&1 | md5sum | cut -c1-16)
id=${r:0:1}
h=3C12$(tohex ${r})0313$(tohex ${id})$(echo -n ${id}${pass}${r} | md5sum | cut -c1-32)
echo 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D$(addsep $(tohex ${login})${h})
J’essaie de l’intégré dans mon script mais également en tenant compte de certains paramètres ( le salt et le byte) issu de générateur
Voici mon script fini :
#!/bin/bash
sudo python /diagbox/web/scripts/gpio/led_32_on.py
#Variables
readonly dhclient_files=/diagbox/web/tmp/dhclient.conf
readonly dhclient_def=/etc/dhcp/dhclient.conf
readonly error_log=/diagbox/web/tmp/error.log
readonly iptables_rescue=/etc/iptables.ipv4.nat.backup_rescue
readonly iptables_normal=/etc/iptables.ipv4.nat
readonly iptables_diagbox=/etc/iptables.ipv4.nat.backup_diagbox
readonly interfaces_rescue=/etc/network/interfaces_RESCUE
readonly interfaces_normal=/etc/network/interfaces
readonly interfaces_dhcp=/etc/network/interfaces_DHCP
readonly dhcpleases=/var/lib/dhcp/dhclient.orange.leases
#Effacer les fichier tempo si presents
if [ -f $error_log ];then
echo "Le log error existe déjà";
sudo rm $error_log
fi
if [ -f $dhclient_files ];then
echo "Le fichier de configuration existe !";
if sudo rm $dhclient_files; then
echo "fichier dhclient efface"
else
echo "Echec suppression tempo dhclient deja existant" >> $error_log
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
fi
#leases dhcp
if [ -f $dhcpleases ];then
echo "Le fichier de configuration existe !";
if sudo rm $dhcpleases; then
echo "fichier dhclient leases"
else
echo "Echec suppression dhcp leases" >> $error_log
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
fi
if sudo touch $dhcpleases; then
echo "creation leases dhcp ok"
else
echo "Echec creation leases dhcp" >> $error_log
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
#modprobe
if sudo modprobe 8021q; then
echo "modprobe 8021q"
else
echo "Echec modprobe 8021q" >> $error_log
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
#Modification interfaces eth0
if sudo cp $interfaces_rescue $interfaces_normal; then
echo 'configuration interfaces modifié';
else
echo "Echec modification configuration ethO" >> $error_log
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
#fti conversion
login=$2
pass=$3
AUTHSTRING=00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D
tohex() {
for h in $(echo $1 | sed "s/\(.\)/\1 /g"); do printf %02x \'$h; done
}
addsep() {
echo $(echo $1 | sed "s/\(.\)\(.\)/:\1\2/g")
}
r=$(dd if=/dev/urandom bs=1k count=1 2>&1 | md5sum | cut -c1-16)
id=1234567890123456
h=3C12$(tohex ${r})0313$(tohex ${id})$(echo -n ${id}${pass}${r} | md5sum | cut -c1-32)
AUTHSTRING=${AUTHSTRING}$(addsep $(tohex ${login})${h})
echo ${AUTHSTRING}
#Fichier dhclient
#Ecriture
if echo 'option rfc3118-authentication code 90 = string;' >> $dhclient_files; then
echo "ok"
else
echo "Echec écriture fichier dhclient partie 1" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo "interface \"orange\" {" >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 2" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo "send vendor-class-identifier \"sagem\";" >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 3" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo "send user-class \"+FSVDSL_livebox.Internet.softathome.Livebox3\";" >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 4" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo "send rfc3118-authentication ${AUTHSTRING} ;" >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 5" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo 'request subnet-mask, routers,' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 6" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo 'domain-name, broadcast-address, dhcp-lease-time,' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 7" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo 'dhcp-renewal-time, dhcp-rebinding-time,' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 8" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo 'rfc3118-authentication;' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 9" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo 'supersede domain-name-servers 8.8.8.8, 8.8.4.4;' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 10" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if echo '}' >> $dhclient_files; then
echo "ok"
else
"Echec écriture fichier dhclient partie 11" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
#Deplacement
if [ -f $dhclient_def ];then
echo "Le fichier de configuration existe !";
if sudo rm $dhclient_def; then
echo "fichier dhclient efface"
else
echo "Echec suppression dhclient deja existant" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
fi
if sudo cp $dhclient_files $dhclient_def; then
echo 'fichier dhclient modifie';
else
echo "Echec déplacement fichier dhclient" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
#iptables
if sudo iptables -t mangle -I POSTROUTING -o orange -j CLASSIFY --set-class 0:1; then
echo "sudo iptables -t mangle -I POSTROUTING -o orange -j CLASSIFY --set-class 0:1 ok"
else
echo "echec sudo iptables -t mangle -I POSTROUTING -o orange -j CLASSIFY --set-class 0:1" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
if sudo cp $iptables_rescue $iptables_normal; then
echo 'fichier iptables modifié';
else
echo "Echec déplacement fichier iptables" >> $error_log
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
sudo iptables-restore < /etc/iptables.ipv4.nat
#Relancer la machine
if sudo ifup -a;then
sudo python /diagbox/web/scripts/gpio/led_32_off.py
sudo python /diagbox/web/scripts/gpio/led_22_off.py
sudo python /diagbox/web/scripts/gpio/led_24_off.py
sudo python /diagbox/web/scripts/gpio/led_26_on.py
echo "ifup ok"
else
echo "Echec ifup ok"
#retour interfaces en dhcp
sudo cp $interfaces_dhcp $interfaces_normal
#retour iptables
sudo cp $iptables_diagbox $iptables_normal
sudo python /diagbox/web/scripts/gpio/led_32_off.py
exit
fi
Ai-je bien intégré le script voulu dans le mien ou ai-je fait des erreurs?
En vous remerciant par avance
Doudou Tiana