프로토콜 읽기
TCP, HTTP, DNS를 분석합니다
프로토콜 읽기은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
계층별 프로토콜
네트워크 트래픽은 계층으로 구성됩니다. 각 패킷은 봉투 속에 봉투가 들어 있는 것처럼 상위 계층의 프로토콜을 하위 계층 안에 감쌉니다.
트래픽을 읽으려면 이 계층을 올바른 순서로 하나씩 벗겨 내야 합니다.
Ethernet -> IP -> TCP -> HTTP
(frame) (pkt) (seg) (data)TCP 핸드셰이크
TCP 연결은 SYN, SYN-ACK, ACK로 이루어진 3방향 핸드셰이크로 시작합니다. 이를 확인하면 실제 연결이 설정되었다는 뜻입니다.
SYN에 대한 SYN-ACK 응답이 없으면 닫힌 포트이거나 방화벽이 패킷을 차단했을 가능성이 큽니다.
Client -> SYN
Server -> SYN, ACK
Client -> ACK (connection up)TCP 플래그와 상태
TCP 플래그는 연결 상태를 보여 줍니다. 통신을 추적하려면 자주 사용되는 플래그를 익히십시오.
- SYN: 시작
- ACK: 확인 응답
- FIN: 정상적인 종료
- RST: 갑작스러운 초기화
스트림 따라가기
와이어샤크에서는 TCP 스트림을 따라가며 흩어진 패킷을 읽을 수 있는 대화 내용으로 재구성할 수 있습니다.
패킷을 마우스 오른쪽 버튼으로 클릭하고 Follow를 선택하면 전체 요청과 응답을 함께 볼 수 있습니다.
Right-click -> Follow -> TCP StreamHTTP 읽기
암호화되지 않은 경우 HTTP 트래픽은 평문입니다. 방식, 경로, 헤더, 본문을 직접 읽을 수 있습니다.
따라서 암호화되지 않은 HTTP는 분석에 매우 유용하지만 네트워크 소유자에게는 위험 요소가 됩니다.
GET /admin HTTP/1.1
Host: intranet.local
Cookie: session=abc123
HTTP/1.1 200 OKHTTPS와 TLS
HTTPS는 HTTP를 TLS로 감싸므로 페이로드가 암호화됩니다. 그래도 TLS 핸드셰이크, SNI 호스트 이름, 인증서는 볼 수 있습니다.
키가 없으면 본문을 읽을 수 없지만 메타데이터만으로도 상황을 파악할 수 있습니다.
TLS Client Hello
server_name: bank.example.com (SNI)
TLS Server Hello + CertificateDNS 읽기
DNS 쿼리를 보면 호스트가 어느 도메인에 연결하려 하는지 알 수 있으며, 연결이 이루어지기 전인 경우도 많습니다.
쿼리와 응답을 함께 보면 요청한 이름과 확인된 주소를 알 수 있습니다.
DNS query: A cdn.example.com
DNS response: cdn.example.com -> 93.184.x.x지표로 활용하는 DNS
DNS는 분석가에게 매우 풍부한 정보원입니다. 알려진 악성 도메인에 대한 조회, 길고 무작위적인 하위 도메인, 비정상적으로 많은 쿼리는 모두 의심스러운 동작을 가리킵니다.
이상 징후를 찾을 때 이러한 정보를 적극적으로 활용하게 됩니다.
UDP와 ICMP
모든 트래픽이 TCP인 것은 아닙니다. UDP는 연결을 유지하지 않으며(DNS, DHCP, QUIC에서 사용됨), ICMP는 핑이나 연결할 수 없음과 같은 제어 메시지를 전달합니다.
비정상적으로 많은 ICMP 트래픽은 스캔이나 터널링을 나타낼 수 있습니다.
통계 메뉴 사용하기
와이어샤크의 통계 메뉴는 캡처 데이터를 요약하여 프로토콜 계층 구조, 통신, 종단점을 보여 줍니다.
여기서 분석을 시작하면 어떤 프로토콜이 대부분을 차지하는지, 어떤 호스트가 가장 많이 통신하는지 확인할 수 있습니다.
Statistics -> Protocol Hierarchy
Statistics -> Conversations
Statistics -> Endpoints머릿속 모델 만들기
숙련된 분석가는 네트워크의 정상 상태에 대한 그림을 그립니다. 정상 상태를 알면 이상 징후가 눈에 띄기 시작합니다.
프로토콜을 능숙하게 읽는 능력은 이후에 배울 모든 내용의 토대입니다.
빠른 확인
프로토콜 읽기에 대한 이해도를 확인해 보십시오.
복습
네트워크 프로토콜을 읽는 방법을 배웠습니다.
- 트래픽은 이더넷, IP, TCP/UDP, 애플리케이션 계층으로 나뉩니다.
- TCP는 SYN, SYN-ACK, ACK로 시작하며 플래그가 상태를 보여 줍니다.
- TCP 스트림 따라가기를 사용하면 통신 내용을 재구성할 수 있습니다.
- HTTP는 읽을 수 있고, HTTPS에서는 TLS 메타데이터와 SNI만 노출됩니다.
- DNS는 목적지를 보여 주며, 통계 기능으로 정상 상태를 파악할 수 있습니다.
다음에는 이상 징후와 악성 트래픽을 탐지합니다.
자주 묻는 질문
“프로토콜 읽기” 강의는 무료인가요?
네 — “프로토콜 읽기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“프로토콜 읽기”에서 뭘 배우나요?
TCP, HTTP, DNS를 분석합니다 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“프로토콜 읽기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.