티스토리 뷰
반응형
1. 내부 인터페이스 IP 확인하기
1) socket.gethostbyname()
python을 통해 내 PC의 내부 IP 확인하는 방법으로 대부분의 검색 결과에서 아래와 같이 안내하고 있습니다.
하지만 가상 인터페이스 등으로 인터페이스가 여러개인 환경에서는 다른 인터페이스의 IP가 나올 수 있습니다.
import socket
print(socket.gethostbyname(socket.gethostname()))
==========
Output: 192.168.68.2
2) socket.getsockname()
이 방법은 socket으로 외부 페이지에 접근하고, 그 접근한 소켓의 정보를 가져오는 방법입니다.
따라서, 실제로 인터넷에 연결된 인터페이스의 IP를 알 수 있습니다.
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("pwnbit.kr", 443))
print(sock.getsockname()[0])
==========
Output: 192.168.68.2
2. 외부 IP 확인하기
1) requests
이 방법은 IP를 알려주는 사이트를 알아야하고, 언제 사이트가 없어질지도 모르는 문제가 있습니다.
import requests
print(requests.get("http://ip.jsontest.com").json()['ip'])
==========
Output: xxx.xxx.xxx.xxx
2) re, requests
외우기 쉬운 ipconfig.kr에서 알려주는 공인 IP를 이용한 방법으로 사이트는 외우기 쉽지만,
정규표현식이 익숙하지 않다면 좀 더 복잡한 방법인 것 같습니다.
import request
import re
req = requests.get("http://ipconfig.kr")
print(re.search(r'IP Address : (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', req.text)[1])
==========
Output: xxx.xxx.xxx.xxx
3. 내부/외부 IP 한 번에 확인하기
가장 쉽고 정확한 방법으로 짠다면 아래와 같은 코드가 될 것 같습니다.
import socket
import requests
import re
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("pwnbit.kr", 443))
print("내부 IP: ", sock.getsockname()[0])
req = requests.get("http://ipconfig.kr")
print("외부 IP: ", re.search(r'IP Address : (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', req.text)[1])
==========
Output:
내부 IP: 192.168.68.2
외부 IP: xxx.xxx.xxx.xxx
반응형
'Development' 카테고리의 다른 글
파이썬 cx_Oracle에서 한글 쿼리 전송 방법 (271) | 2016.10.29 |
---|---|
python list 중복제거 (509) | 2016.07.06 |
python requests unicode 출력 문제 (369) | 2016.06.24 |
python send mail - 간단한 메일 전송 프로그램 (391) | 2016.06.20 |
python raw_input() 개행없이 문자열 입력 받기 (403) | 2016.06.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바스크립트
- DoH
- 파이썬
- BOF
- 티스토리
- 사이버테러
- Sublime Text 2
- 프로그래밍
- exploit
- python
- 해커스쿨
- 프로그래밍 언어
- TISTORY
- network
- CODEGATE 2014
- CK Exploit Kit
- CloudFlare
- 문제풀이
- www
- 개발
- 스크립트
- hackerschool
- 웨일브라우저
- FTZ
- DNSOverHTTPS
- writeup
- 분석
- 악성코드
- 웹
- Wargame
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
300x250