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 |