Python과 API를 사용하여 MAC 주소 찾기
12255 단어 macprogrammingapipython
개술
네트워크 엔지니어로서, 나는 때때로 포트에 연결된 어떤 종류의 장치가 있는지, 아니면 ARP를 통해 방화벽에 등록된 것이 무엇인지 검증해야 한다.한 개의 MAC 주소가 손에 있는 것이 유용하다. 원인은 매우 많지만, 나의 예에서 한 개의 MAC 주소는 네트워크 고장 제거에 매우 유용하다.
MAC 주소를 API로 보내고 응답은 이 주소의 공급자가 될 Python 스크립트에 대해 알려 드리겠습니다.따라서 브라우저를 열고 웹에서 검색할 필요가 없도록 스크립트를 만듭니다.🧑💻
MAC 주소란?
MAC 주소는 IEEE(전기 및 전자 엔지니어 협회)에 등록되어 있습니다.MAC 주소의 접두사는 공급업체, 제조업체 또는 기타 조직을 고유하게 식별하는 숫자입니다.
위키백과:
A media access control address (MAC address) is a unique identifier assigned to a network interface controller (NIC) for use as a network address in communications within a network segment. MAC addresses are primarily assigned by device manufacturers, and are therefore often referred to as the burned-in address, or as an Ethernet hardware address, hardware address, or physical address.
따라서 만약 인터넷에 연결된 장치가 있다면, 네트워크 인터페이스 카드는 IEEE에 등록되어 있습니다.
이것은 공급업체 명단이다.
http://standards-oui.ieee.org/oui/oui.txt
요구 사항
인코딩 해달라고!
라이브러리 가져오기부터 시작합시다.
import sys
from requests import get
대상을 대상으로 프로그래밍하는 것이 멋있기 때문에 클래스를 만듭니다.😎class Macpyoui:
def __init__(self, api):
self.api = api
site = "https://api.macvendors.com/"
data = Macpyoui(site)
macaddress = input("Please enter the MAC address: ")
우리 반을 몇 조로 나누어 우리가 무엇을 했는지 봅시다.Macpyoui
라는 클래스를 만들었습니다.이것은 우리가 우리의 정보를 호출하는 것을 허락할 것이다.__init__
을 만들고 매개 변수self
와 api
를 추가했습니다.self.api
는api
이다.site
- MAC 주소를 보낼 웹 사이트입니다.data
- 여기에 데이터라는 변수를 만들고 매개 변수site
를 클래스Macpyoui
에 분배합니다.이것은 내가 함수에서 그것을 호출할 수 있도록 허락할 것이다.macaddress
- 스크립트를 실행하는 사람에게 MAC 주소가 무엇인지 macaddress
함수로 물어보고 문자열을 추가해서 MAC 주소를 물어봅니다.def searchmac():
macsend = data.api + macaddress
vendorsearch = get(macsend).text
if "Not Found" in vendorsearch:
print("MAC address not found.")
elif len(sys.argv) == 1:
print("No MAC address entered.")
else:
print(vendorsearch)
분해 함수.def searchmac():
input
macsend = data.api + macaddress
searchmac
라는 변수를 만들었다.macsend
합니다.data.api + macaddress
를 사용했는데 이것은 사이트에 대한 요구이다.data.api
중data
은 호출된 클래스data.api
였고Macpyoui
는 해당 클래스에 요청된 사이트였다..api
에 대해 말하자면 이것은 사용자가 제공한 것이고 우리는 결합macaddress
이다.그래서 써봤는데 +
+https://api.macvendors.com/
vendorsearch = get(macsend).text
mac address
를 분배하여 vendorsearch
요청을 사용하고 매개 변수get
에서 MAC 주소를 보냅니다.우리는 그것을 간단한 텍스트로 바꾸고, 마지막에 macsend
덧붙일 것을 확보했다.if "Not Found" in vendorsearch:
print("MAC address not found.")
elif len(sys.argv) == 1:
print("No MAC address entered.")
else:
print(vendorsearch)
.text
문구를 만들어서 어떤 정보를 입력했는지 확인한다.if "Not Found" in vendorsearch:
print("MAC address not found.")
if
인 경우 인쇄Not Found
합니다.elif len(sys.argv) == 1:
print("No MAC address entered.")
- 사용자가 MAC 주소를 입력하지 않으면 인쇄MAC address not found
합니다.else:
print(vendorsearch)
if __name__ == "__main__":
searchmac()
이렇게!우리는 간단한 검사를 실행하기 위해 너무 많은 것을 필요로 하지 않는다.테스트해 봅시다!
검색 성공
~ ❯ python3 macpy.py
Please enter the MAC address: F4BD9E
Cisco Systems, Inc
검색 실패
~ ❯ python3 macpy.py
Please enter the MAC address:
MAC address not found.
항목을 빠뜨리다
~ ❯ python3 macpy.py
Please enter the MAC address:
No MAC address entered
다음은 전체 코드입니다.import sys
from requests import get
__version__ = "1.0"
class Macpyoui:
def __init__(self, api):
self.api = api
site = "https://api.macvendors.com/"
data = Macpyoui(site)
macaddress = input("Please enter the MAC address: ")
def searchmac():
macsend = data.api + macaddress
vendorsearch = get(macsend).text
if "Not Found" in vendorsearch:
print("MAC address not found.")
elif len(sys.argv) == 1:
print("No MAC address entered.")
else:
print(vendorsearch)
if __name__ == "__main__":
searchmac()
GitHub의 코드를 확인합니다.https://github.com/applericky/macpy
읽어주셔서 감사합니다!
피드백 또는 질문?알려줘!
Reference
이 문제에 관하여(Python과 API를 사용하여 MAC 주소 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/applericky/mac-address-lookup-using-python-and-an-api--59ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)