Project2_컴퓨터의 외부 및 내부 IP 확인하기

Song Chae Won·2023년 1월 7일
0
post-thumbnail

컴퓨터의 외부 및 내부 IP 확인하기

자신의 컴퓨터의 외부 및 내부 IP를 확인할 수 있는 코드를 만들어보자. 가상 환경 등으로 내부 IP가 변경되더라도 정확한 IP를 찾을 수 있는 방법에 대해서도 알아보자.

➕ 외부 IP와 내부 IP

IP는 주소를 나타낸다. IPv4 또는 IPv6 등으로 표현되며 숫자로 표현된 접속 주소라고 생각하면 된다. 일반적으로 인터넷 망이 설치된 가정집에는 공유기가 있어 여러 대의 컴퓨터, 스마트폰, TV등의 기기를 연결하여 사용한다. 내부 IP는 집에 있는 공유기가 주소를 할당하여 준다. 하지만 외부 IP는 KT, LG등 인터넷 망 공급자가 주소를 할당하여 준다. 우리는 내부 및 외부 IP를 확인하여 정확하게 자신의 컴퓨터가 연결된 주소를 알 수 있다.


import socket # 컴퓨터가 연결된 접속 정보를 받아올 때 사용하는 모듈
import requests # 사이트에 접속하기 위한 requests모듈 불러오기
import re # IP주소를 찾기 위한 정규식을 사용하기 위한 re모듈 불러오기

in_addr = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 연결된 소켓 이름을 가져와 in_addr변수와 바인딩
in_addr.connect(("www.google.co.kr", 443)) # 구글에 접속한다. https의 기본 접속 포트는 443
print("내부IP: ",in_addr.getsockname()[0]) # 연결된 소켓의 이름을 출력

req = requests.get("http://ipconfig.kr") # ipconfig 사이트에 접속한다
out_addr = re.search(r'IP Address : (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', req.text)[1] # 정규식 표현을 사용하여 IP주소를 가져와 Out_addr 변수와 바인딩
print("외부IP: ",out_addr) # 외부 IP주소를 출력
 

➕ 출력 결과

내부 IP : 172.10.3.173
외부 IP: 211.193.16.234

profile
@chhaewxn

0개의 댓글