본문 바로가기

Python

IP확인

IP확인



자신의 IP를 알아야 할 경우가 있다

Private IP, Public IP 모두 알아내보자


1. Private IP



당연한 얘기지만 사설망에 속해 있지 않다면 Public IP가 반환될 것이다



import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 0))
ip = s.getsockname()[0]


어딘가에 접속하는 것으로 보이지만 UDP의 connect이므로 실제로 접속은 일어나지 않는다



2. Public IP



사설망에 속해 있다면 Public IP는 1의 방법으로 알 수 없다

따라서 인터넷의 누군가에게 질문하는 것으로 알아내면 된다



import urllib.request

ip = urllib.request.urlopen('https://api.ipify.org/').read().decode()


Public IP를 알아내기 위해 ipify의 서비스를 사용했다

'Python' 카테고리의 다른 글

python multiprocessing AttributeError  (0) 2016.02.08
os.path 사용하기  (0) 2016.01.13
메일 발송  (0) 2015.12.08
Random  (0) 2015.12.08
Python Time  (0) 2015.11.17