📄 2025.11.28 (Day 25) [TCP/IP 네트워크 보안: IPv4 프로토콜 & Wireshark 패킷 분석]

1. 핵심 개념 정리 (Concepts & Theory)

#핵심 개념간결한 설명
1OSI 7계층 vs TCP/IP 모델OSI는 7계층(물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용)으로 이론적 모델이며, TCP/IP는 4계층(네트워크 접근, 인터넷, 전송, 응용)으로 실제 인터넷 프로토콜 스택입니다. 각 계층은 **캡슐화(Encapsulation)**를 통해 상위 계층 데이터를 하위 계층 헤더로 감쌉니다.
2IPv4 주소 체계32비트 주소(8비트씩 4개 옥텟)로 구성되며, 네트워크부와 호스트부로 나뉩니다. 클래스(A, B, C, D, E)와 서브넷 마스크를 통해 네트워크를 구분합니다. 사설 IP(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)는 NAT를 통해 공인 IP로 변환됩니다.
3IPv4 헤더 구조Version(4bit), Header Length(4bit), TOS(8bit), Total Length(16bit), Identification(16bit), Flags(3bit), Fragment Offset(13bit), TTL(8bit), Protocol(8bit), Header Checksum(16bit), Source IP(32bit), Destination IP(32bit), Options(가변) 필드로 구성됩니다.
4Wireshark 패킷 분석Wireshark는 네트워크 패킷을 실시간으로 캡처하고 분석하는 도구입니다. 캡처 필터(BPF 문법)로 원하는 패킷만 수집하고, 디스플레이 필터로 캡처된 패킷에서 특정 조건을 검색합니다. 각 계층별 헤더를 시각적으로 확인할 수 있습니다.

2. 실습 코드 & 응용 (Practice & Code Walkthrough)

(A) 핵심 개념 실습

IPv4 주소 계산 실습:

#IIM#//////PPa222223:s456780k:======1:2::11::2222221:11:55555519011C5555559220119:I......2.50192D222222.15012.1R55555516.01.1955555568201162......8.5..68.222222.15118.155555510.01.165555550.211108.......15010..01122213511.212924530.0115082402010125./20181((((((28..(2216314501(9524260168/01~2015111,)019,,,1112,,2010.631..)1212041165200)84600.001000-00.)))102P005))24P(126))

Wireshark 캡처 필터 (BPF 문법):

#h#n#pp#t#sd#toeoocrscstrrTpctptttC1Phha1984/oon9204ssd2.3tt.1(s16111r68I999c8.P222.1...h1.111o.0666s1/888t02...041111...91212000.000168.810.100andTCdPstpo)rt80

Wireshark 디스플레이 필터:

#iii#tttt#hhh#thpppcccctttctI...TppppHtttptPasdC....Tppp.pdrsPffffT...f.dctllllPrrrlrraaaaeeeae==ggggqqqgq===ssssuuusu=....eee.e11sarssssss199yceytttyt922nksn..n.2..emum.11==t=er=e166===ti=t688=hh8..11=1oc1o.11dod1..1ana.12n=tn=100d=ad=000i0t"ni"cPspPpO.O.S"sSfTlrTl"oc"aggi=asn=n."da1c9h######k###2t.tSAR=HPU1pYCS=TOR6.NKTTSI8r0PT.e1ql.u#o1eg0sSi0tYn.Naunrditc(co3pn-.twdaasiytnpshoar"ntadds=mh=iank2"e2)

리눅스에서 네트워크 명령어:

# 네트워크 인터페이스 확인
ip addr show
ifconfig

# 네트워크 연결 상태 확인
netstat -tunap
ss -tunap

# 패킷 캡처 (tcpdump)
tcpdump -i eth0                    # eth0 인터페이스 모니터링
tcpdump -i eth0 port 80            # 80번 포트만
tcpdump -i eth0 -w capture.pcap    # 파일로 저장
tcpdump -r capture.pcap            # 캡처 파일 읽기
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'  # SYN 패킷만

(B) 실습 결과 및 분석

IPv4 헤더 분석 (Wireshark에서 확인한 내용):

InterVHTIFFTPHSDneeodlrireoeerateaamoaustsdanggetdrtieltsmoeciPori:etcrenrnLfnooao:Lei0tlCAttencxL:hdio4nga4Oiedocgtt0fvTcrnothi0feCkelh:o0s:PssA:neusdV6:(t6(m:de20D:46:rr00o)1esxn009sib1'x2soyatb.:nt211ebFe614sr889a.2(g1.5m.1)e16n08t0.)1.200

주요 필드 분석:

  • TTL (Time to Live): 64 → 일반적으로 Linux/Unix는 64, Windows는 128로 설정. 비정상적으로 낮은 TTL 값은 루프나 변조를 의심할 수 있습니다.
  • Flags - Don’t Fragment: 설정 시 패킷이 MTU보다 크면 ICMP “Fragmentation Needed” 메시지를 받습니다. Path MTU Discovery에 사용됩니다.
  • Protocol: 6 = TCP, 17 = UDP, 1 = ICMP. 상위 계층 프로토콜을 식별합니다.

비정상 패킷 탐지 예시:

#---#--#---SSWITPWYYiPToiNNrLrr-eSteFSAspRslYChoSShoNKaocTaorfardkiInknPngin(A:g:CKttccpp..ffllIa)aPggss..sryense=t==1=a1ndtcp.flags.ack==0

3. 실무/보안 관점 분석 (Insight & Scenario Mapping)

분야적용 시나리오
SOC / 관제실시간 트래픽 모니터링: IDS/IPS에서 Wireshark와 유사한 패킷 분석 엔진(Suricata, Snort)을 사용하여 비정상 패턴을 탐지합니다. 베이스라인 트래픽을 설정하고, 통계적 이상(급증하는 SYN 패킷, 비정상 TTL, 알려지지 않은 프로토콜)을 자동 알림합니다.
CERT / 사고 대응포렌식 패킷 분석: 침해 사고 시 네트워크 탭(SPAN/Mirror Port)이나 방화벽에서 수집한 PCAP 파일을 Wireshark로 분석합니다. 공격 타임라인 재구성: 초기 침투 패킷 식별 → C&C 통신 추적 → 데이터 유출 탐지. DNS 쿼리 분석(dns.qry.name)으로 DGA(Domain Generation Algorithm) 기반 멀웨어 탐지.
네트워크 운영성능 최적화 및 문제 해결: tcp.analysis.retransmission 필터로 재전송 패킷을 찾아 네트워크 품질 문제를 식별합니다. 서브넷 설계: 부서별/보안 등급별로 서브넷을 분리하여 VLAN과 결합, 방화벽 규칙으로 Micro-Segmentation 구현. (DMZ, Internal, Management 서브넷 분리로 측면 이동 차단)

4. 개인 인사이트 및 다음 단계 (Reflection & Next Steps)

  • 배운 점/느낀 점:

    • 네트워크는 보안의 기초 중 기초입니다. 모든 통신은 네트워크를 통해 이루어지므로, IP 헤더와 TCP/UDP 헤더를 읽을 수 있는 능력은 공격과 방어 모두의 필수 역량입니다.
    • Wireshark의 강력함: 교재에서 배운 이론적 개념(OSI 7계층, IPv4 헤더)을 실제 패킷으로 직접 확인하니 훨씬 명확하게 이해되었습니다. 특히 3-Way Handshake를 패킷 단위로 보면서 TCP의 연결 지향적 특성을 체감했습니다.
    • 서브넷의 중요성: 단순히 IP 주소를 나누는 것이 아니라, 보안 경계를 만드는 것임을 깨달았습니다.
  • 심화 방향:

    • TCP/UDP 심화: TCP의 흐름 제어, 혼잡 제어, UDP의 특성과 활용 사례 학습
    • 공격 시나리오 재현: 실습 환경에서 SYN Flood, ARP Spoofing, DNS Spoofing 등의 공격을 직접 재현하고 Wireshark로 탐지 시그니처 개발
    • IDS/IPS 룰 작성: Suricata나 Snort 룰을 작성하여 특정 공격 패턴을 자동 탐지하는 시스템 구축

5. 추가 참고사항 (Quick Reference)

IPv4 주소 클래스

CCCCClllllaaaaa111sssssI079sssssP.220..ABCDE(.11:::::R066F..801122C00..2924.00824010......90000001.....8~~~00000)....:1110000079.222..531~~~~~516..81122222.2923555271395555.......52222222.5555555255555555.....5222225555555555(((.....1112222207955555.22555550...11066(((((..800./.080.)01/0111121)0111)6)011))01))///81264/

IPv4 헤더 필드 요약

VITIFFTPHSDeHodlrTreoerLteaaLoaussanggtdrti(ltsm(oecio4ie8crennbLf(nboaiei3tilCIt(tncbthPi4)gaiO)(eobtttf8c(nihi)fbk3tosis2I)(netubP1t)mi6(t(b1(()3i6112tb36b)ibbitiit)tt))):::::::::::IRPeserv((e45d),(=((1D=2FI0C+(MDPo,,n-'16)t)=TFCrPa,)gm1e7n=tU)D,P)MF(MoreFragments)

주요 프로토콜 번호

161455877019:::::::ITUGEAOCCDRSHSMPPEPPP(F(IIPPsseecc))

Wireshark 단축키

CCCCCtttttrrrrrlllll+++++KEFGAl::::t+Shift+T:TCPStream

tcpdump 주요 옵션

-------ttticwrnvAXccc,:ppp<<<<dddicffuuunoiimmmtullvpppenee,rt>>---f>iiiaceaeetnt>hyh00-::::::::-c-wAPPDA11CCNS6c0'AASCa0tPPIpcIt-p+un(rpAe'oS.srCprtIccIa8)ph0o('sattncd)p19(p2to.cr1pt6[818.301]'.1&002'!=0)'#SYN