0Pricing
Cloud & IT Cert Prep · 강의

TCP/IP 모델과 일반 포트

OSI 및 TCP/IP 모델과 잘 알려진 포트 번호를 복습하고, 정상 트래픽을 이해하면 이상 징후를 발견하는 데 도움이 되는 이유를 학습합니다.

TCP/IP 모델과 일반 포트은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

OSI 모델: 7개 계층

OSI(개방형 시스템 상호 연결) 모델은 네트워크 통신을 Physical, Data Link, Network, Transport, Session, Presentation, Application의 7개 계층으로 나눕니다. 각 계층은 고유한 목적을 수행하며 바로 위와 아래에 있는 계층과만 통신합니다. 보안 제어는 어느 계층에도 적용할 수 있으므로 이 모델을 이해하면 특정 공격이나 방어가 어느 위치에서 작동하는지 파악하는 데 도움이 됩니다. Please Do Not Throw Sausage Pizza Away라는 연상 문구를 사용하면 아래쪽에서 위쪽 순서로 계층을 기억할 수 있습니다.

TCP/IP 모델과 OSI 모델 비교

TCP/IP 모델(DoD 모델이라고도 함)은 OSI 계층을 다음 네 가지로 통합합니다. Network Access(OSI 1~2계층), Internet(OSI 3계층), Transport(OSI 4계층), Application(OSI 5~7계층)입니다. 실제 네트워킹 및 보안 분석에서는 대부분 TCP/IP 용어를 사용합니다. 두 모델 간의 대응 관계를 이해하는 것은 Security+에서 필수적입니다. 시험 문제는 공격이나 제어가 어느 위치에서 작동하는지 설명할 때 어느 모델이든 참조할 수 있기 때문입니다.

# OSI to TCP/IP layer mapping:
# Application (OSI 5,6,7) -> Application (TCP/IP)
# Transport  (OSI 4)     -> Transport   (TCP/IP)
# Network    (OSI 3)     -> Internet    (TCP/IP)
# Data Link, Physical (OSI 1,2) -> Network Access (TCP/IP)

IP 주소 지정 및 서브넷

IP 주소는 네트워크에서 장치를 고유하게 식별합니다. IPv4는 점으로 구분된 10진수 표기(예: 192.168.1.10)로 작성되는 32비트 주소를 사용하고, IPv6는 128비트 주소를 사용합니다. 서브넷 마스크는 주소에서 네트워크를 식별하는 부분과 호스트를 식별하는 부분을 결정합니다. CIDR 표기(예: /24)는 서브넷 마스크를 간결하게 표현합니다. 보안 전문가는 서브넷을 사용하여 네트워크를 분할하고 신뢰 영역 간의 트래픽 흐름을 제한합니다.

# Display IP address and routing table on Linux
ip addr show
ip route show

# Check connectivity
ping -c 4 192.168.1.1

TCP 3방향 핸드셰이크

TCP를 통해 데이터를 교환하기 전에 3방향 핸드셰이크로 연결을 설정합니다. Client가 SYN을 보내면 서버가 SYN-ACK으로 응답하고, Client가 ACK으로 프로세스를 완료합니다. 공격자는 핸드셰이크를 완료하지 않은 채 많은 SYN 패킷을 보내 서버 리소스를 고갈시키는 SYN 플러드 DoS 공격으로 이 순서를 악용합니다. 정상적인 핸드셰이크 동작을 이해하면 분석가가 패킷 캡처와 SIEM 로그에서 이상 징후를 발견하는 데 도움이 됩니다.

# Capture TCP handshakes with tcpdump
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'

# View established connections
ss -tnp state established

UDP: 비연결형 전송

UDP (User Datagram Protocol)는 먼저 세션을 설정하지 않고 패킷을 전송하는 비연결형 전송 프로토콜입니다. 확인 응답이나 재전송이 없기 때문에 TCP보다 빠르지만 안정성은 낮습니다. DNS, DHCP, NTP, SNMP와 같은 서비스는 전달이 보장되는 것보다 짧은 지연 시간이 더 중요하므로 UDP를 사용합니다. 보안 측면에서는 UDP 기반 증폭 공격이 문제가 될 수 있습니다. 이 공격에서는 작은 요청이 대규모 응답을 생성하여 피해자의 시스템을 압도합니다.

# Common UDP services and ports:
# DNS       UDP 53
# DHCP      UDP 67/68
# NTP       UDP 123
# SNMP      UDP 161
# Syslog    UDP 514

잘 알려진 포트: 0~1023

잘 알려진 포트(0~1023)는 일반적인 서비스에 할당되도록 예약되어 있으며 IANA가 관리합니다. 가장 중요한 포트를 암기하는 것은 Security+ 시험에 반드시 필요합니다. 포트 22는 SSH, 포트 443은 HTTPS, 포트 80은 HTTP, 포트 25는 SMTP, 포트 53은 DNS에 사용됩니다. 서비스가 어떤 포트를 사용하는지 알면 분석가는 정상적인 트래픽과 공격을 구분하고 정확한 방화벽 규칙을 작성할 수 있습니다.

# Key well-known ports:
# 20/21  FTP (data/control)
# 22     SSH
# 23     Telnet (insecure)
# 25     SMTP
# 53     DNS
# 80     HTTP
# 110    POP3
# 143    IMAP
# 443    HTTPS
# 3389   RDP

등록 포트와 동적 포트

등록 포트(1024~49151)는 일관된 포트가 필요하지만 특권 포트는 필요하지 않은 애플리케이션에서 사용합니다. 예로는 3389(RDP), 3306(MySQL), 1433(MSSQL), 8080(HTTP 대체 포트)이 있습니다. Dynamic (ephemeral) ports(49152~65535)는 OS가 클라이언트 측 연결에 임시로 할당합니다. 공격자는 잘 알려진 포트만 차단하는 방화벽 규칙을 피하기 위해 높은 번호의 포트에서 악성 서비스를 실행하기도 합니다.

# Show all listening ports and associated processes
ss -tlnp

# Check which process owns port 3389
ss -tlnp 'sport = :3389'

ICMP와 보안상의 영향

ICMP (Internet Control Message Protocol)는 진단과 오류 보고에 사용됩니다. ping 명령은 ICMP Echo Request/Reply를 사용하여 연결 가능 여부를 확인합니다. ICMP는 유용하지만 악용될 수 있습니다. ping sweep은 활성 상태인 호스트를 검색하고, ICMP redirect 메시지는 라우팅 테이블을 조작할 수 있으며, 은닉 채널은 ICMP 페이로드 안에 데이터를 넣어 터널링할 수 있습니다. 많은 조직은 문제 해결을 위해 내부에서는 ICMP를 허용하면서 경계 네트워크에서는 차단합니다.

# Ping sweep example (host discovery)
nmap -sn 192.168.1.0/24

# Block ICMP redirects on Linux
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

ARP: IP를 MAC 주소로 확인하기

ARP (Address Resolution Protocol)는 로컬 네트워크 세그먼트에서 IP 주소를 MAC 주소에 대응시킵니다. 호스트가 192.168.1.1로 트래픽을 보내려 하면 ARP 요청을 브로드캐스트하여 '192.168.1.1을 가진 호스트는 누구입니까?'라고 묻고, 해당 주소의 소유자가 자신의 MAC 주소로 응답합니다. ARP에는 인증 기능이 없으므로 ARP 스푸핑(ARP 포이즈닝이라고도 함)에 취약합니다. 이 공격에서 공격자는 가짜 ARP 응답을 보내 트래픽이 자신의 시스템을 거치도록 방향을 바꾸고 중간자 공격을 수행합니다.

# View ARP cache
arp -n

# Dynamic ARP Inspection (DAI) enabled on Cisco switch
# ip arp inspection vlan 10

# Monitor ARP requests with tcpdump
tcpdump -i eth0 arp

DNS: 도메인 이름 확인

DNS (Domain Name System)는 사람이 읽을 수 있는 호스트 이름(www.example.com)을 IP 주소로 변환합니다. DNS 쿼리는 계층 구조를 따라 이동합니다. 클라이언트가 재귀 확인자에 쿼리를 보내면, 재귀 확인자가 루트 서버, TLD 서버, 권한 있는 이름 서버 순서로 쿼리를 전달합니다. 보안 측면에서도 중요한 의미가 있습니다. DNS 캐시 포이즈닝은 가짜 레코드를 삽입하고, DNS 터널링은 쿼리에 데이터를 인코딩하여 데이터를 유출하거나 C2 서버에 접속하며, 타이포스쿼팅은 사용자를 피싱하기 위해 비슷하게 생긴 도메인을 등록합니다.

# Query DNS records
nslookup example.com
dig example.com A
dig example.com MX

# Check for DNS tunneling indicators
# Look for unusually long subdomain labels or high query volume

Wireshark와 Nmap으로 트래픽 읽기

TCP/IP 트래픽을 분석하는 두 가지 필수 도구는 Wireshark와 Nmap입니다. Wireshark는 개별 프레임을 검사하고 프로토콜별로 필터링하며 TCP 스트림을 따라가 세션을 재구성할 수 있는 패킷 분석기입니다. Nmap은 활성 호스트, 열린 포트, 실행 중인 서비스, OS 버전을 식별하는 네트워크 스캐너입니다. 두 도구를 함께 사용하면 보안 전문가는 실제로 네트워크를 통과하는 내용을 파악할 수 있으므로 이상 징후를 탐지하고 방화벽 규칙이 의도대로 작동하는지 확인할 수 있습니다.

# Nmap scan examples
nmap -sV 192.168.1.0/24          # Version detection
nmap -sS -O 192.168.1.10         # SYN scan + OS detection
nmap -p 22,80,443 192.168.1.0/24 # Specific ports

# Wireshark capture filter examples
# tcp.port == 443
# ip.src == 192.168.1.10

빠른 확인

이 lesson에서 다룬 CompTIA Security+ (SY0-701) 개념을 얼마나 이해했는지 확인해 보십시오.

lesson 요약

이 lesson에서는 다음을 배웠습니다. OSI 및 TCP/IP 모델은 보안 제어가 작동하는 네트워크 계층을 설명합니다. 잘 알려진 포트(0~1023)는 일반적인 서비스를 식별하며 시험을 위해 암기해야 합니다. 또한 ARP, DNS, ICMP와 같은 프로토콜은 각각 스푸핑, 캐시 포이즈닝, 터널링을 비롯한 고유한 보안 위험을 수반합니다. 다음 lesson에서는 방화벽과 방화벽이 네트워크 트래픽을 필터링하는 방법을 살펴봅니다.

자주 묻는 질문

“TCP/IP 모델과 일반 포트” 강의는 무료인가요?

네 — “TCP/IP 모델과 일반 포트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“TCP/IP 모델과 일반 포트”에서 뭘 배우나요?

OSI 및 TCP/IP 모델과 잘 알려진 포트 번호를 복습하고, 정상 트래픽을 이해하면 이상 징후를 발견하는 데 도움이 되는 이유를 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“TCP/IP 모델과 일반 포트” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. TCP/IP 모델과 일반 포트
  2. 방화벽: 패킷 필터링과 차세대 방화벽
  3. 네트워크 세분화와 VLAN
  4. 일반적인 네트워크 공격: DoS, 스푸핑, MITM
← Cloud & IT Cert Prep(으)로 돌아가기