[python] socket 모듈로 내부 IP 확인하기. socket(), getsockname(), gethostname(), 정규표현식

2022. 10. 11. 17:40·프로그래밍/python

socket 모듈

import socket

in_addr = socket.gethostbyname(socket.gethostname())
print(in_addr)

#socket 모듈: 컴퓨터가 연결된 접속정보를 받아올 때 사용하는 모듈

 

in_addr = socket.gethostbyname(socket.gethostname())
#gethostbyname(): 도메인정보로 ip, 별칭 등 host에 대한 정보를 구하는 함수
#gethostname(): 호스트 이름을 얻어오거나 설정한다.

 

socket.socket()

import socket

in_addr = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
in_addr.connect(("www.google.co.kr", 443))
print(in_addr.getsockname()[0])

socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# socket의 socket함수: 소켓 객체 생성
# AF_INET: ipv4 주소 패밀리

#SOCK_STREAM: TCP 스트림 통신

#socket() 함수는 소켓 디스크립터를 반환한다. (-1는 반환 실패)

 

getsockname()

#소켓 자신의 주소를 반환

#튜플타입

#주소 패밀리에 따른 주소와 포트 반환하는 것 같다.

 

 

컴퓨터 외부 IP 알아보기

import requests
import re

req = requests.get("http://ipconfig.kr")
out_addr = re.search(r"IP Address: (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", req.text)[1]
print(out_addr)

[결과] 123.456.789.100

#re 모듈: 정규 표현식 모듈

 

out_addr = re.search(r"IP Address: (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", req.text)[1]

#정규표현식 표현. \d는 숫자를 의미
#\d{1,3}은 숫자가 1개 또는 2개 있어야 함.
#search(패턴, 문자열, 플래그), 패턴과 일치하면 전부 찾아서 반환해준다.
#req.text: 홈페이지 코드 다긁어옴

#배열의 첫번째 요소 출력하지 않으면 다음과 같이 출력된다.

매치되는 부분은 'IP Address: 123.456.789.100'이다

#0번째 요소는 'IP Address: 123.456.789.100' 출력

 

 

저작자표시 (새창열림)

'프로그래밍 > python' 카테고리의 다른 글

[python] pyautogui 라이브러리 기능들  (0) 2022.10.26
[python] qrcode 모듈 사용 중 "No module named 'Image'" 예외 발생  (0) 2022.10.11
혼공학습단 8기 파이썬 5주차  (0) 2022.08.14
혼공단 5주차.. 하기 전에 복습먼저 ✅  (1) 2022.08.11
혼공학습단 8기 파이썬 4주차  (0) 2022.07.31
'프로그래밍/python' 카테고리의 다른 글
  • [python] pyautogui 라이브러리 기능들
  • [python] qrcode 모듈 사용 중 "No module named 'Image'" 예외 발생
  • 혼공학습단 8기 파이썬 5주차
  • 혼공단 5주차.. 하기 전에 복습먼저 ✅
병뚜
병뚜
열정!
  • 병뚜
    열려라 뚜껑
    병뚜
  • 전체
    오늘
    어제
    • all (372)
      • 일상X사랑X돈 (0)
        • 보안이슈 (114)
        • 뜨거운감자 (9)
        • 맛집 (2)
        • 혼잣말 (16)
      • 보안 (87)
        • 웹·모바일 (46)
        • 인프라 (19)
        • 리버싱 (8)
        • Security-Gym (10)
        • 리뷰 (4)
      • 프로그래밍 (66)
        • python (14)
        • java (12)
        • js (40)
      • System (47)
        • OS (14)
        • 침투 (33)
      • Play (20)
        • wargame (20)
      • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼자공부하는파이썬
    파이썬
    프로세스
    파이썬초보
    파이썬입문
    보안이슈
    악성코드
    정보보안교육
    자바스크립트 상속
    파이썬공부
    랜섬웨어
    윈도우인터널스
    공급망공격
    IT뉴스
    정보보호
    뉴스요약
    혼공
    보안뉴스
    it이슈
    jwt
    리버싱초보
    kisa
    드림핵리버싱
    혼공파
    정보보안
    windows internals
    커널디버깅
    혼공학습단
    혼공단
    리버싱
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
병뚜
[python] socket 모듈로 내부 IP 확인하기. socket(), getsockname(), gethostname(), 정규표현식
상단으로

티스토리툴바