본문 바로가기

Forensics

프로토콜

TCP (Trasmission Control Protocol)

- 연결 지향 프로토콜

- 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜

- 반드시 연결이 형성되어야 데이터 전송이 가능

- 일련의 옥텟을 안정적으로, 순서대로, 오류 없이 교환할 수 있게 함

- 1:1 통신만 가능

- HTTP 통신, 이메일 전송, 파일 전송 등에 사용

- 3-way Handshake

   - SYN 패킷 전송: 연결 수행을 위한 연결 생성

   - SYN/ACK 패킷 전송: 서버 연결 가능 시에

   - ACK 패킷 전송: 서버로부터 SYN/ACK 패킷을 받았을 경우

https://kotlinworld.com/94

 

 

 

 

 

UDP (User Datagram Protocol)

- 비연결 지향 프로토콜

- 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 프로토콜

- 전송 방식이 단순해서 데이터 전달의 신뢰성이 떨어짐

- 실시간으로 빠른 전송이 필요한 데이터 전송에 사용됨

https://vpnguru.com/blog/tcp-vs-udp/

 

 

 

 

 

IP (Internet Protocol)

- 다른 네트워크 간 데이터 전송을 가능하게 하는 경로 제어 프로토콜

- 비신뢰성: IP 데이터그램 목적지로 보냄 (but 도착 유무가 중요하지 않음)

- 비접속성: 연결 설정 없이 논리적 주소로만 패킷을 전송하여 통신

- 주소 지정: 중간에 다른 라우터가 존재해도 물리적인 주소를 바꾸면서 목적지 (IP) 도달

- 경로 설정: 라우팅 알고리즘에 따라 최적의 경로 설정

 

 

 

 

 

ICMP (Internet Control Message Protocol)

- IP의 비신뢰성의 한계를 보충해주는 프로토콜

- 주로 네트워크 컴퓨터로 동작하는 운영체제에서 오류 메시지를 전송받는 데 쓰임

- 시스템 사이에 데이터 교환을 하지 않고, 최종 사용자에 적용되지 않음

https://www.comparitech.com/net-admin/what-is-icmp/

 

 

 

 

 

ARP (Address Resolution Protocol)

- IP 주소를 MAC 주소로 대응시켜주는 주소 결정 프로토콜

https://0xbharath.github.io/art-of-packet-crafting-with-scapy/networking/protocols/index.htmlProtocols - The Art of Packet Crafting with Scapy! (0xbharath.github.io)

 

 

 

 

 

 

HTTP (Hyper Text Transfer Protocol)

- 서버와 클라이언트의 데이터 교환을 요청, 응답 형식으로 정의한 프로토콜

- 클라이언트가 서버에게 요청하면 서버가 응답하는 메커니즘

- HTTP 서버는 HTTP 서비스 포트에 대기 (웹 서버에 의해) → TCP/80 or TCP/8080

- 인터넷 상에서 통신한 패킷의 평문이 그대로 노출됨

https://ryanclaire.blogspot.com/2020/10/HTTP-Overview.html

 

 

 

 

 

FTP (File Transfer Protocol)

- 인터넷 상에서 파일을 주고  받기 위한 클라이언트와 서버 사이에 이루어지는 요청 / 응답 프로토콜

- 연결을 기준으로 제어 연결과 데이터 연결로 구분

- 제어 연결: 클라이언트에서 서버로 명령과 서버의 응답을 위한 연결

- 데이터 연결: 파일이 전송될 때 생성되는 데이터 연결

- 보안 취약점 많음 (무차별 대입 공격, FTP 바운스 어택, 패킷 가로채기 등)

https://mac.eltima.com/what-is-ftp.html

 

 

 

 

 

TELNET

- 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜

- 양방향 대화형 통신기능 제공

- 네트워크의 다른 컴퓨터의 로그인 기능

 

 

 

 

 

SSL/TLS (Secure Socket Layer/Transport Layer Security)

- 기존 프로토콜에 통신 보안을 제공하기 위해 설계된 프로토콜

- 연결지향 통신을 위한 3-HandShake 수행

 

 

 

 

 

HTTPS (HTTP over Secure socket layer)

- TLS (Transport Layer Security) 프로토콜을 도입하여 HTTP의 문제점 보완

TLS는 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화

- 제정 초기에는 민감한 데이터를 취급하는 웹 서비스 위주였으나 현재는 규모에 상관없이 HTTPS를 사용하는 추세

https://kimkoungho.github.io/network/https/

 

 

 

 

 

FTPS (File Transfer Protocol Secure)

- 일반적으로 쓰이는 FTP의 확장형

- 기존 FTP에 TLS와 SSL 암호화 프로토콜에 대한 지원 추가

https://www.goanywhere.com/managed-file-transfer/connectivity/ftps

 

 

 

 

 

SSH (SFTP; Secure File Transfer Protocol)

- 신뢰할 수 있는 데이터 스트림을 통해 파일 접근, 전송, 관리를 제공하는 네트워크 프로토콜

- 보안 채널을 통해 수행

   - 서버가 이미 클라이언트와 인증이 되어 있으면서 클라이언트 사용자 증명을 프로토콜에 이용할 수 있는 상태여야 함을 의미

https://ko.101-help.com/hdg-seolmyeong-sftp-mic-ftpran-mueosibnigga-3ea6f83fe4/

 

 

 

 

 

https://www.educba.com/ftp-vs-sftp/