Dans le cadre d'un projet de sécurité écrit en python, je dois identifier de manière unique chaque PC.
Je connais les méthodes par l'adresse mac des PC et le n° de série du processeur.
Je ne veux pas utiliser l'identifiant de disque car il peut changer dans le temps.
Pour l'adresse mac pas de soucis. La commande
Code : Tout sélectionner
cat /sys/class/net/$(ip route show default | awk '/default/ {print $5}')/address
Pour le n° de série c'est mieux. la commande
Code : Tout sélectionner
dmidecode | grep -w UUID | sed "s/^.UUID\: //g
Code : Tout sélectionner
sudo chmod +s /usr/sbin/dmidecode
Code : Tout sélectionner
ip address | awk '/link\/ether/ {print $2}' >> tmp.log && head -n 1 tmp.log && rm tmp.log
À vos plus belles plumes !
PS: chez moi un ip address
Code : Tout sélectionner
ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether c8:5a:cf:a6:26:22 brd ff:ff:ff:ff:ff:ff
altname enp2s0
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 14:13:33:82:81:9d brd ff:ff:ff:ff:ff:ff
altname wlp3s0
inet 192.168.1.80/24 brd 192.168.1.255 scope global dynamic noprefixroute wlo1
valid_lft 43041sec preferred_lft 43041sec
inet6 2a01:e0a:13a:8aa0:ca22:1b0a:77cd:7739/64 scope global temporary dynamic
valid_lft 86230sec preferred_lft 85181sec
inet6 2a01:e0a:13a:8aa0:9347:4291:d27f:838a/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86230sec preferred_lft 86230sec
inet6 fe80::e198:3a53:4ed:5b54/64 scope link noprefixroute
valid_lft forever preferred_lft forever