[네트워크] 클라이언트는 서버와 어떻게 연결될까? (실습)

한강섭·2025년 10월 12일

네트워크

목록 보기
6/8
post-thumbnail

실습

  • telnet, nc로 TCP/UDP 포트 상태 확인
  • netstat 또는 ss 명령어를 사용하여 로컬 시스템의 TCP 상태 분석
  • Wireshark로 TCP 3-way 핸드셰이크 및 연결 종료 패킷 캡처 분석

챌린지

  • SYN Flood 공격 시뮬레이션 후 TCP 연결 보호 방법을 실습하고, Firewall을 이용하여 공격을 차단하는 방법 구현.


포트 상태 확인

실습을 위해 python 서버를 8080 포트로 열고 실습을 진행한다.

Test-NetConnection

8080은 TCP 연결이 되는 모습 (9999는 실패..)

netstat -an

netstat -an 을 통해서 연결 상태를 분석할 수 있다.

TCP는 상태가 존재하고 UDP는 상태정보가 없는 모습

8080 쓰는 놈 찾기 (PID)

netstat -ano 를 사용하면 (관리자 권한) 프로세스 ID를 포함해서 볼 수 있는데 이걸로 어떤 프로세스인지 확인이 가능하다.

TCP 3-Way Handshake 캡처


python 서버를 8080에 열어두고 localhost:8080으로 접속을 한다면

TCP Handshake 과정인 SYN -> SYN, ACK -> ACK 과정을 확인할 수 있다.

패킷 상세 분석

SYN 패킷의 모습

TCP 4-Way Handshake 캡처

연결 종료 하였을 때

FIN, AKC -> ACK 과 FIN, ACK -> ACK 과정을 확인할 수 있다.

profile
기록하고 공유하는 개발자

0개의 댓글