파이썬을 이용한 TCP 소켓 프로그래밍.

1. TCP 소켓 프로그래밍 Method.

- socket.bind(('IP address', Port number)) -> IP주소와 포트 번호 지정
- socket.listen(0) -> 클라이언트로부터 연결을 받을 수 있는 상태로 지정.
- socket.accept() -> 클라이언트로부터의 연결을 허가함.
- socket.recv(데이터 사이즈) -> 데이터를 전송받음.
- socket.connect(('IP address', Port number)) -> 지정된 IP와 port 번호로 연결을 시도한다.
- socket.send( Data ) -> 데이터를 전송한다.

2. 간단한 TCP 서버와 클라이언드를 만들어 데이터를 전송해보자.
- TCP 서버를 그림(Figure 2.1)과 같이 만든다.
Figure 2.1 TCP 서버.
- TCP 클라이언트를 그림(Figure 2.2) 과 같이 만든다.
Figure 2.2 TCP 클라이언트.
- TCP 클라이언트에서 HI Gihun 라고 서버로 데이터를 전송하면 결과는 그림(Figure 2.3)와 같이 출력이 된다.
Figure 2.3 결과 출력.
3. TCP 에코서버 만들기
- 클라이언트에서 받은 데이터를 서버가 다시 클라이언트로 돌려주는 서버를 만들어보겠다.

- TCP 에코서버를 그림(Figure 3.1) 과 같이 만든다.
Figure 3.1 에코서버
- TCP 클라이언트를 그림(Figure 3.2)과 같이 만든다.
Figure 3.2 클라이언트.
- 클라이언트가 서버로 Hi Gihun이라는 데이터를 보내면 서버에는 Hi GIhun을 받았다고 출력이 되고(Figure 3.3) 서버는 클라이언트에게 전송받은 데이터를 돌려준다. 클라이언트는 Hi Gihun을 출력한다.(Figure 3.4)

Figure 3.3 에코서버 결과

Figure 3.4 클라이언트 결과
이렇게 TCP 소켓도 만들어 보았다. 다음에는 스니퍼를 만들어 패킷을 가로채는 실습을 해 보겠다.

댓글

이 블로그의 인기 게시물

UDP 헤더의 구조와 스니퍼를 이용한 UDP통신 가로채기

UDP 소켓을 이용하여 에코서버와 통신하기.