从 MAC 地址获取设备供应商名称的Python脚本
先决条件: Python请求
MAC 地址是网络接口的唯一标识,用于对计算机网络中的设备进行寻址。
MAC地址由什么组成?
MAC 地址由 12 个十六进制数字和 6 个八位字节组成,以 ':' 分隔。 MAC 地址有 6 个八位字节。在前半部分,存储制造商信息。
我们如何获得制造商的详细信息?
在本文中,我们将使用一个 API 来为我们获取 MAC 地址。我们将使用Python脚本来自动化获取过程,以便我们稍后可以在可能需要此功能的软件和网站中使用它。
我们将使用 requests 模块来处理这个 API。
下面是实现。
Python3
import requests
import argparse
print("[*] Welcome")
# Function to get the interface name
def get_arguments():
# This will give user a neat CLI
parser = argparse.ArgumentParser()
# We need the MAC address
parser.add_argument("-m", "--macaddress",
dest="mac_address",
help="MAC Address of the device. "
)
options = parser.parse_args()
# Check if address was given
if options.mac_address:
return options.mac_address
else:
parser.error("[!] Invalid Syntax. "
"Use --help for more details.")
def get_mac_details(mac_address):
# We will use an API to get the vendor details
url = "https://api.macvendors.com/"
# Use get method to fetch details
response = requests.get(url+mac_address)
if response.status_code != 200:
raise Exception("[!] Invalid MAC Address!")
return response.content.decode()
# Driver Code
if __name__ == "__main__":
mac_address = get_arguments()
print("[+] Checking Details...")
try:
vendor_name = get_mac_details(mac_address)
print("[+] Device vendor is "+vendor_name)
except:
# Incase something goes wrong
print("[!] An error occured. Check "
"your Internet connection.")
将此代码另存为 macdetails.py。我们可以使用 '-h' 或 '–help' 来查看有关如何从终端运行此脚本的帮助。
输出 :