더북(TheBook)

하찮은 TFTP 서버로 간단하게 파일 전송하기

TFTPTrivialFileTransferProtocol는 간단한 원리로 동작하는 파일 전송 프로토콜입니다. FTPFileTransferProtocol에서 사용자 인증 과정이나 권한 설정과 같은 부분을 생략하기 때문에 Trivial이라는 이름이 붙었지만 실제로는 작은 자료를 재빠르게 전송하기 위해 사용합니다. 자동 설치 과정에서 네트워크를 통해 부팅 이미지를 클라이언트로 전송하는 데 TFTP를 사용합니다.

TFTP가 동작하는 원리 또한 단순합니다. 클라이언트의 요청에 서버가 사용 가능한 포트를 알려주고 해당 포트로 자료를 전송하는 동작이 전부입니다.

그림 9-2 TFTP의 동작 원리

1. TFTP 클라이언트가 udp 69번 포트로 TFTP 서버에 특정 자료에 대한 읽기를 요청(read request)합니다.

2. TFTP 서버는 자료를 전송할 포트를 열어서 클라이언트로 자료(data)를 전송합니다.

3. 전송이 끝나면 TFTP 클라이언트가 전송완료를 알리는 패킷(ack)을 서버로 보냅니다.

4. 이번에는 TFTP 클라이언트가 udp 69번 포트로 TFTP 서버에 쓰기를 요청(write request)합니다.

5. TFTP 서버는 임의의 자료 포트를 열어서 클라이언트로 요청을 허가하는 패킷(ack)을 보냅니다.

6. TFTP 클라이언트는 자료 포트를 통해 서버로 자료(data)를 전송합니다.

언급한대로 TFTP는 사용자 인증 과정이 없는 프로토콜로 보안에 매우 취약합니다. 따라서 자동 설치가 끝나는 대로 TFTP 서버의 동작을 중지시켜야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.