-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmac-address.py
43 lines (43 loc) · 2.83 KB
/
mac-address.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
####################################################################################
'''
MAC-адрес, также известный как физический адрес,
является уникальным идентификатором, который
назначается сетевой карте сетевого адаптера компьютера.
NIC помогает в соединении компьютера с другими
компьютерами в сети. MAC-адрес является уникальным
для всех сетевых карт.
'''
####################################################################################
# Программа Python для вычисления
# MAC-адрес хоста
# используя модуль UUID (uuid – универсальные уникальные идентификаторы)
# getnode() - извлечение MAC-адреса компьютера (устройства)
from uuid import getnode
print('**********Способ 1: использование uuid.getnode ()**********')
# печать значения уникального MAC
# адрес с использованием функций uuid и getnode ()
# вывод не в отформатированном виде
print(getnode())
# вывод не в отформатированном шестнадцатеричном виде
print(hex(getnode()))
####################################################################################
print('**********Способ 2: использование getnode () + format ()**********')
print('----------[для лучшего форматирования]----------')
# Python 3 код для печати MAC
# в отформатированном виде
# соединяет элементы getnode () после каждых 2 цифр
print ("The MAC address in formatted way is : ", end="")
print (':'.join(['{:02x}'.format((getnode() >> ele) & 0xff) for ele in range(0, 8*6, 8)][::-1]))
####################################################################################
print('**********Способ 3: использование getnode () + findall () + re ()**********')
print('----------[для уменьшения сложности]----------')
# Python 3 код для печати MAC
# отформатировано и проще понять
# модуль re - регулярные выражения
# findall() - находит все совпадения
from re import findall
# соединяет элементы getnode () после каждых 2 цифр
# используя регулярное выражение
print ("The MAC address in formatted and less complex way is : ", end="")
print (':'.join(findall('..', '%012x' % getnode())))
####################################################################################