Python chuyển đổi định dạng địa chỉ mac

Trong vài ngày gần đây, tôi đã bắt đầu học python và hơi phát điên với nó, kết quả là tôi có một loạt các kịch bản thử nghiệm mà tôi đã học để làm mọi thứ. Đây là một trong những cái đầu tiên của tôi, về cơ bản, tôi đã sử dụng kỹ thuật chuẩn hóa của anh chàng craig này và sử dụng để tạo đầu ra

Tiền đề cơ bản là bạn có thể nhập địa chỉ MAC ở bất kỳ định dạng nào trong ba định dạng [EUI, Microsoft, Cisco] và nó sẽ đưa ra địa chỉ mac ở cả ba định dạng. đơn giản hóa việc sao chép/dán nếu bạn đã cung cấp MAC ở một định dạng và cần một định dạng khác. ]

 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

#!/usr/bin/env python

# My Post: //www.linickx.com/3970/python-and-mac-addresses

# REF: //craigbalfour.blogspot.co.uk/2008/10/normalizing-mac-address-string.html
# REF //www.cyberciti.biz/faq/python-command-line-arguments-argv-example/

# Lib
import sys, getopt

# Function

def printhelp[]:
  print["Usage: %s -m MAC " % sys.argv[0]]
  print["\n MAC can be in any of the following formats: "]
  print[" - 00:00:00:00:00:00"]
  print[" - 00-00-00-00-00-00"]
  print[" - 0000.0000.0000"]
  print["\n Version %s" % version]

# Defaults

addr=""
version="1.01"

# CLI input
try:
    myopts, args = getopt.getopt[sys.argv[1:],"m:h"]
except getopt.GetoptError as e:
    print [str[e]]
    printhelp[]
    sys.exit[2]

# o == option
# a == argument passed to the o

for o, a in myopts:
    if o == '-m':
        addr=a
    if o == '-h':
        printhelp[]
        sys.exit[]

if addr == "":
  addr = raw_input["Enter the MAC address: "]

# Determine which delimiter style out input is using
if "." in addr:
  delimiter = "."
elif ":" in addr:
  delimiter = ":"
elif "-" in addr:
  delimiter = "-"

# Eliminate the delimiter
m = addr.replace[delimiter, ""]

m = m.lower[]
u = m.upper[]

# convert!
cisco= ".".join[["%s%s%s%s" % [m[i], m[i+1], m[i+2], m[i+3]] for i in range[0,12,4]]]
eui= ":".join[["%s%s" % [m[i], m[i+1]] for i in range[0,12,2]]]
ms= "-".join[["%s%s" % [u[i], u[i+1]] for i in range[0,12,2]]]

print "Cisco: " + cisco
print "EUI: " + eui
print "Microsoft: " + ms

Tôi chắc chắn sẽ có nhiều hơn trong số này đến

CẬP NHẬT. Tôi đã tạo một ý chính cho convertmac. py. Đoạn mã trên đã được sửa đổi để hỗ trợ đối số dòng lệnh. như vậy

Làm cách nào để xác thực địa chỉ MAC trong Python?

Xác thực địa chỉ MAC .
Nhập mô-đun cần thiết [i. e. nhập lại]
Lấy chuỗi đầu vào của người dùng
Tạo một biểu thức chính quy để kiểm tra địa chỉ MAC hợp lệ
Khớp chuỗi với biểu thức chính quy
Cuối cùng, trả về true nếu chuỗi khớp, ngược lại trả về false

Đó là một ví dụ về địa chỉ MAC?

Địa chỉ MAC là địa chỉ thập lục phân 48 bit. Nó thường là sáu bộ gồm hai chữ số hoặc ký tự, được phân tách bằng dấu hai chấm. Một địa chỉ MAC ví dụ sẽ là 00. 00. 5e. 00. 53. af . Nhiều nhà sản xuất card mạng và phần cứng khác sử dụng một chuỗi duy nhất ở đầu địa chỉ MAC của sản phẩm của họ.

Địa chỉ MAC của thiết bị là gì?

Địa chỉ MAC [Kiểm soát truy cập phương tiện], đôi khi được gọi là địa chỉ vật lý hoặc phần cứng, là thuộc tính chữ và số 12 ký tự duy nhất được sử dụng để xác định từng thiết bị điện tử . .

Chủ Đề