자격증/CCNA

[TCP/IP] - 3. TCP&UDP 서비스

arsenic-dev 2025. 7. 16. 05:45

1. TCP & UDP 포트 번호

1) DHCP

Dynamic Host Configuration Protocol의 약자로, PC가 여러 대 있을 때 IP의 범위 할당 후 PC에서 자동 받기 설정 시, DHCP 서버가 IP 자동 할당해준다. (default gateway, DNS server도 자동 설정)

 

 
 

명령어

 

1. ipconfig /all: 현재 컴퓨터의 모든 네트워크 어댑터의 상세 정보(IP, MAC, DNS 등)를 출력하는 명령어

2. ping [IP 주소]: 해당 IP 주소로 ICMP 요청을 보내 네트워크 연결 상태와 응답 속도를 확인하는 명령어

  • ICMP: Internet Control Message Protocol의 약자로, 네트워크 진단용 메시지

3. arp -a: 현재 컴퓨터가 기억하고 있는 IP 주소와 MAC 주소 간의 매핑 정보를 보여주는 명령어 (ARP 캐시 확인)

  • arp 캐시는 영구적인 게 아니라, PC 재부팅 시 사라짐

 

예제 

▶ TCP&UDP 서비스 예제

 

A, B 요청

  • 출발지 포트 번호: 68
  • 목적지 포트 번호: 67

서버 응답

  • 출발지 포트 번호: 67
  • 목적지 포트 번호: 68

-> DHCP 서비스

 

2) HTTP

HyperText Transfer Protocol의 약자로, 웹 브라우저와 웹 서버 간에 HTML, 이미지, 영상 등의 데이터를 주고받을 때 사용하는 통신 규약이다. (웹에서 데이터를 주고받기 위한 표준 통신 방식)

▶ http는 위와 같이 사람이 읽을 수 있는 평문으로 전송되기에 보안 X

 

※ index.html: 대문 페이지로, 사이트에 접속 시 맨 처음 나오는 페이지를 말한다.

  • e.g., www.naver.com == www.naver.com/index.html (입력하지 않아도 기본값이 index.html)

 

3) HTTPS (SSL)

HTTP에 보안 기능을 추가한 것으로, 평문을 암호화하여 전하기에 사람이 읽을 수 없다. 

 

실습

▶ https가 아닌 http로 된 사이트 로그인 시, wireshark에서 패킷 캡처하면 평문으로 전송된 id, password 확인 가능 (정보 노출)

 

▶ https에선 암호화되어 전송되기에 정보 노출 X

 

4) TELNET

TELecommunication(통신) NETwork의 약자로, 네트워크를 통해 네트워크 장비(e.g., 라우터) 혹은 시스템(e.g., 서버)을 네트워크를 통해 원격 접속할 수 있는 도구이다.

 

실습

 

▶ telnet 단점

 

telnet은 보안이 없기에 전송되는 실시간 문자들이 평문으로 전송된다.

때문에 현재는 telnet을 사용하지 않고, 대신에 ssh를 사용한다. (telnet 사용 시, 보안 감사에 걸림)

 

5) SSH

Secure SHell의 약자로, 원격지 컴퓨터에 암호화된 방식으로 안전하게 접속하여 조작할 수 있게 해주는 원격 접속 프로토콜이다. 즉, 실시간 전송되는 문자들을 전부 암호화하여 전송하기에 사람이 읽을 수 없다.

 

실습

 

※ -l: login name의 약자로, 사용자 계정 이름(로그인할 유저)을 명시할 때 사용한다.

 

6) FTP

File Transfer Protocol의 약자로, 서버와 클라이언트 간에 파일을 주고받기 위한 통신 규약이다.

이때 ftp는 명령어를 주고받는 채널로 제어용 포트이고, ftp-data는 실제 파일 내용을 주고받는 채널로 데이터 전송 포트이다.

 

실습

▶ 포트 번호 21 사용 (ftp)

 

▶ 포트 번호 20 사용 (ftp-data)

  • 요청(명령 전송)은 21번 포트, 응답(데이터 전송)은 20번 포트 사용

 

▶ 포트 번호 20 사용 (ftp-data)

  • 다운로드는 get, 업로드는 put

 

ftp, ftp-data는 모두 암호화되지 않고 평문으로 전송된다. 때문에 암호화 필요 시, https를 같이 사용하는 식으로 구축해야 한다.

 

※ tftp: Trivial(단순한) File Transfer Protocol의 약자로, 로그인 과정이 필요없는 ftp이다.

 

7) DNS

사람이 기억하기 쉬운 도메인 주소(e.g., www.google.com)를 컴퓨터가 이해할 수 있는 IP 주소(e.g., 142.250.206.68)로 변환해주는 시스템이다. 

 

 

▶ nslookup 명령어: DNS 요청 직접하여 IP 확인 가능

 

8) SMTP

Simple Mail Transfer Protocl의 약자로, 메일을 보낼 때 사용하는 프로토콜로, 사용자가 메일을 작성 후 전송하면 SMTP 서버가 수신자 메일 서버로 전달한다. (메일 수신은 POP3가 담당)

 

9) POP3

Post Office Protocol 3의 약자로, 메일 서버에서 메일을 가져올 때 사용하는 프로토콜로, 서버에 저장된 메일을 로컬로 다운로드하고 기본 설정에선 서버에서 삭제된다.

 

▶ A: 네이버 메일 서버 사용자 / B: 구글 메일 서버 사용자

 

smtp, pop3는 모두 암호화되지 않고 평문으로 전송된다. 때문에 암호화 필요 시, 별도의 이메일 보호 기능을 사용해야 한다.

 

10) NTP

Network Time Protocol의 약자로, PC나 서버가 NTP 서버에 접속하면 정확한 현재 시간을 자동으로 받아와서 시스템 시간을 동기화한다.

 

 

※ conf t: configure terminal의 약자로, Cisco 장비에서 설정 모드 진입을 위해 사용하는 명령어이다.

 

11) SYSLOG

System Logging Protocol의 약자로, 네트워크 장비나 서버에서 발생하는 이벤트나 시스템 로그(오류, 접속 기록 등)를 중앙의 Syslog 서버로 전송해 기록하고 관리할 수 있게 해주는 프로토콜이다. (휘발성인 자신의 메모리 대신 따로 하드디스크에 저장)

 

▶ Router에서 로그 발생

 

▶ Syslog 서버에 기록된 모습