본문 바로가기
python/python

[python] python에서 원격 서버 연결하기

by ilp 2024. 5. 26.
반응형

1. 'pwntools' 라이브러리

  • 'pwntools'는 CTF(해킹 대회) 와 리버스 엔지니어링을 위해 설계된 python 라이브러리이다.
  • 원격 서버와의 통신을 단순화하여 빠르고 쉽게 네트워크 프로그래밍을 할 수 있게 한다.

2. 'pwntools' 설치

  • 먼저 'pwntools' 라이브러리를 설치해야 한다. 이를 위해 터미널이나 명령 프롬프트에서
    아래 명령어를 작성해야 한다.
pip install pwntools

3. 원격 서버에 연결

  • 먼저 기본적인 예시로 시작하자.
from pwn import *

# 원격 서버에 연결
p = remote("host3.dreamhack.games", 14160)

# 서버로부터 데이터 수신
response = p.recv()
print(response)

# 서버로 데이터 전송
p.send(b'Hello, server!')

# 연결 종료
p.close()

3-1. 코드 설명

  • 라이브러리 임포트
    'pwntools' 라이브러리를 임포트 한다.
from pwn import *

 

  • 원격 서버 연결:
    'remot' 함수를 사용하여 원격 서버에 연결한다. ("host..."은 서버 호스트 명, '14160'은 포트 번호 이다.)
p = remote("host3.dreamhack.games", 14160)

 

  • 데이터 수신:
    서버로부터 데이터를 수신하고 출력한다. 'recv'함수는 서버로 부터 데이터를 읽어온다.
response = p.recv()
print(response)

 

  • 데이터 전송:
    서버로 데이터를 전송한다.  바이트 문자열 " b'hello, server!'"을 전송한다.
p.send(b'Hello, server!')

 

  • 열결 종로:
    서버와 연결을 종료한다.
p.close()

 

 

 

참고

https://iloveprogramming.tistory.com/205

 

[python] pwn

pwn보안 취약점을 테스트하고 이용하는데 도움을 주는 파이썬 라이브러리이다. 주로 메모리 취약점, 버퍼 오버플로우, 포맷 스티링 공격 등을 할떄 사용한다.설치 방법설치가 필요하다. pip를 사

iloveprogramming.tistory.com


반응형

'python > python' 카테고리의 다른 글

[python] 비트 연산자-오른쪽 시프트  (0) 2024.08.10
[python] 비트 연산자  (0) 2024.08.10
[python] 서버와 통신하는 방법(pwn)  (1) 2024.06.18
[python] 리눅스에서 python 실행  (0) 2024.05.26
1-1. python 사용해보기  (2) 2023.12.22