goodthings4me.tistory.com
내 아이피 검색을 위해 구글에서 '내 아이피'로 검색한 결과, 공인 ip 주소를 알려주는 사이트는 수없이 많다. 그러나 파이썬을 공부하는 입장에서 자신의 컴퓨터가 어떤 ip인지 확인할 수 있는 파이썬으로 코드를 만들어보는 것도 좋을 것이다.
내 IP (공인 아이피 및 내부 아이피) 알아내기
여기서, 공인 ip(외부 ip)와 내부 ip를 구분하기 위해 예를 들어 간단히 설명하면 공인 ip는 가정(아파트 등)에 있는 공유기마다 부여된 하나의 ip 주소이고, 내부 ip는 이 공유기에 연결되는 모든 기기에 배당하는 ip이다. 그래서 공인 아이피는 우리가 변경할 수 없으나 내부 아이피는 변경할 수 있다는 특징이 있다. (공인 아이피가 없이 내부 아이피만으로는 인터넷을 할 수 없음)
내 컴퓨터의 공인 ip 검색은 아래 사이트 등에서 확인할 수 있다.
http://ipconfig.kr
https://www.findip.kr
https://ip.pe.kr
...
내부 ip는 컴퓨터에서 확인할 수 있는데, 윈도우10 좌측 하단의 시작 버튼 옆 검색(또는 검색 버튼 클릭)에서 'cmd'를 입력하거나 단축키(윈도우키 + Q (또는 R))를 누르고 'cmd'를 입력하고 엔터를 치면 윈도우 명령 프롬프트 창이 뜬다 거기에서 ipconfig 또는 ipconfig /all 을 입력하면 자신의 내부 ip를 확인할 수 있다.
IPv4 주소 부분이 내부 아이피임
[파이썬 소스 코드]
import socket
import requests
from bs4 import BeautifulSoup
import re
## host name
host_name = socket.gethostname()
print(host_name)
## 내부 IP 찾기
host_ip = socket.gethostbyname(host_name)
print(host_ip) # 172.30.1.23
## 내부 IP 찾기 다른 방법
socket_open = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_open.connect(('www.google.co.kr', 443))
print(socket_open.getsockname()[0]) # 172.30.1.23
## 외부 IP (크롤링으로 추출)
url = 'http://ipconfig.kr/'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
ip = soup.select_one('#content-main > h2 > font:nth-child(3)')
print(ip.text.strip())
- 내부 ip는 socket 모듈을 활용해서 찾고,
- 공인 아이피 찾는 부분에서는 ipconfig.kr에서 ip 부분을 크롤링하는 방법으로 공인 ip를 가져왔다.
'코딩 연습' 카테고리의 다른 글
엑셀 파일 병합하기 - openpyxl 활용 (0) | 2022.06.01 |
---|---|
python 가상 환경 오류 - 'activate' 용어가 cmdlet, 함수,... 조치 방법 (0) | 2022.05.26 |
엑셀 파일 합치기 [파이썬 openpyxl, pandas DataFrame] (0) | 2022.05.11 |
유튜브 다운로드 에러 - 파이썬 pytube 오류 조치 (0) | 2022.01.25 |
유튜브 영상 다운로드 (파이썬 라이브러리 pytube.YouTube) (1) | 2021.12.14 |
댓글