
Wireshark (네트워크 패킷 분석 도구)
- 정의: 네트워크 패킷 분석의 대표적인 툴임
- 가상 머신 사용의 이점: 호스트 PC의 카카오톡, 윈도우 업데이트 등 불필요한 패킷이 섞이는 것을 방지하고, 공격 테스트 시에도 시스템이 망가질 염려가 없음
- 패킷 정보 필드: No, Time, Source, Destination, Protocol, Length, Info 등 다양한 필드로 구성됨
- 주요 필터링 옵션:
- IP 필터링:
ip.src, ip.dst, ip.addr를 사용해 출발지, 목적지, 또는 둘 모두를 기준으로 필터링함
- 포트 필터링:
tcp.srcport, tcp.dstport, tcp.port를 사용해 TCP 포트를 기준으로 필터링함
- 데이터 필터링:
data.len > 0와 같이 데이터 길이나 특정 바이트 값을 기준으로 필터링함
- 비교/논리 연산자:
==, !=, and, or, not 등을 사용해 복합적인 필터링이 가능함
Wireshark를 활용한 프로토콜 분석
- DNS (Domain Name System):
- 웹 주소를 IP 주소로 변환하는 역할을 함
- 주로 UDP를 사용하며, 필터링은
dns 키워드를 사용함
- TCP 3-way Handshake:
- HTTP/HTTPS 연결을 위해 안정적인 전송 채널(TCP)을 생성하는 과정임
SYN, SYN-ACK, ACK 패킷 순서로 진행되며, 이 단계가 끝나면 요청을 보낼 준비가 완료됨
- TLS Handshake:
- HTTPS 연결 시 안전한 암호화 채널을 구축하는 과정임
ClientHello, ServerHello, 인증서 전송, 키 교환 등의 단계로 이루어지며, 이후 모든 트래픽은 암호화됨
- ICMP (Internet Control Message Protocol):
ping 명령에 사용되는 프로토콜임
Echo (ping) request와 Echo (ping) reply 패킷이 쌍으로 존재함
- NTP (Network Time Protocol):
- 네트워크 상의 컴퓨터 시계를 동기화하는 프로토콜임
- 분석 대상이 아니기 때문에 필터에서 제외하는 경우가 많음
기타 트래픽 모니터링 도구
- Fiddler: 웹(HTTP, HTTPS) 패킷 분석에 특화된 디버깅 프록시임
- Microsoft Network Monitor: 윈도우에서 프로세스별로 네트워크 패킷을 정리해 분석하기에 용이함
- NetworkUsageView: 윈도우에서 애플리케이션의 네트워크 사용량을 추적하는 가벼운 툴임
- NetBalancer: 프로세스별 트래픽 속도 제어, 우선순위 설정, 그리고 국가별 IP를 시각화해주는 기능을 제공함