Appia의 IT세상

파이썬[Python] 외부IP,내부IP, 맥(MAC)주소 확인하는 방법 본문

Python/Python 응용

파이썬[Python] 외부IP,내부IP, 맥(MAC)주소 확인하는 방법

Appia 2020. 6. 1. 07:13
반응형

파이썬[Python] 외부IP,내부IP, 맥(MAC)주소 확인하는 방법

 

이번 포스팅에서는 파이썬을 이용하여 네트워크 관련된 정보를 확인하는 방법에 대해서 이야기를 해보고자 합니다. 많은 네트워크 관련 개발을 하시는 분들은 이 부분들에 대해서 매우 중요하게 생각합니다. 또 제가 아는 지인들은 관련해서 MAC 주소를 바탕으로 사용권자를 제약을 두는 방식을 두기도 합니다. 그래서 관련해서 확인하는 방법에 대해서 살펴보고자 합니다. 

 

먼저 이번 포스팅을 진행할 때, socket 모듈을 활용할 것입니다. 

import socket
cs

그럼 크게 몇가지 부분에 대해서 살펴보겠습니다. 

 

1) 컴퓨터 이름(Host Name)과 내부 인터넷 주소 확인

먼저 socket모듈을 이용하여 컴퓨터의 이름, 또는 호스트 이름을 확인할 수 있습니다. 먼저 다음 코드를 한번 살펴보겠습니다. 다음 코드에서는 컴퓨터 이름(Host Name)과 내부 인터넷 주소에 대해서 명시 해보도록 하겠습니다. 

example)

import socket
 
print("Host Name ",socket.gethostname())
 
print("IP Address(Internal) : ",socket.gethostbyname(socket.gethostname()))
cs

result)

Host Name  DESKTOP-FF75OO7
 
IP Address(Internal) :  211.44.74.144
cs

위와 같이 작업을 하시면 현재 컴퓨터의 이름과, 관련한 외부IP 정보를 확인할 수 있습니다. 하지만 이 부분이 실제 ipconfig를 입력하여 얻는 정보와 같습니다. ipconfig를 입력해보도록 하겠습니다. 

PC 네트워크 정보 

저의 경우 SK에서 제공하는 모뎀에 바로 연결하여 사용하기 때문에 위와 같은 정보가 나타납니다. 이 부분은 SK 망안에서의 자체 망입니다. 즉 외부 인터넷에서 볼때는 위의 IP를 볼수 없습니다.

 

2) 외부 IP주소 확인

그러면 외부에서 보여지는 IP는 어떻게 될까요? 그 부분에 대해서 한번 확인해보도록 하겠습니다. 

example)

import socket
 
print("Host Name ",socket.gethostname())
 
print("IP Address(Internal) : ",socket.gethostbyname(socket.gethostname()))
 
print("IP Address(External) : ",socket.gethostbyname(socket.getfqdn()))
cs

result) 

Host Name  DESKTOP-FF75OO7
 
IP Address(Internal) :  211.44.74.144
 
IP Address(External) :  218.**.***.**
cs

보이는 바와 같이 외부에서는 "218로 시작하는 IP로 연결이 될 것입니다. 물론 이 부분은 보안상의 이유로 가린점을 양해 부탁드립니다. 

 

3) MAC 주소 확인 

그럼 이제는 MAC 주소에 대해서 확인하는 방법에 대해서 살펴보겠습니다. 이 부분은 크게 2가지 형태로 살펴보겠습니다. 다음과 같이 2가지 모듈을 사용하여 각각 살펴보겠습니다. 

 

1. getmac 이용하기 

2. UUID 이용하기 

 

그럼 다음과 같이 한번 살펴보겠습니다. 

 

1. getmac을 이용한 MAC 주소 확인하기 

간단히 코드를 살펴보겠습니다. 

exmaple) 

import getmac
 
print("MAC Address :", getmac.get_mac_address())
cs

result) 

MAC Address : 2c:f0:5d:26:24:2e
cs

이와 같이 매우 간단하게 사용이 가능합니다. 

 

2. uuid을 이용한 MAC 주소 확인하기 

example)

import re, uuid
 
print("MAC Address : ",':'.join(re.findall('..''%012x' % uuid.getnode())))
cs

result) 

MAC Address :  2c:f0:5d:26:24:2e
cs

위와 같이 2가지 모듈을 이용하여 각각 MAC 주소를 확인하였습니다. 혹 getmac의 경우 설치가 필요할 경우 다음과 같은 명령어를 이용하시길 바랍니다. 

pip install getmac

오늘은 파이썬[Python] 외부IP,내부IP, 맥(MAC)주소 확인하는 방법에 대해서 살펴봤습니다. 알아두면 도움이 되는 방법이 됩니다. 특히나 네트워크 관련 개발을 하는 사람들에게는 매우 도움이 되는 부분이라고 생각합니다. 

 

혹시 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments