λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ
πŸ’» Computer Science/- Network

[Network] Wireshark 으둜 λΆ„μ„ν•˜λŠ” OSI 7 Layer 의 Basic Header

by Wonit 2021. 7. 17.

OSI 7 Layer

 

μ§€λ‚œ μ‹œκ°„ κ°„λ‹¨ν•˜κ²Œ OSI 7 Layer 에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μ•˜κ³ , 각각 Layer λ₯Ό λŒ€ν‘œν•˜λŠ” 것듀에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μ•˜λ‹€.

 

μ΄λ²ˆμ—λŠ” Wireshark 둜 λ„€νŠΈμ›Œν¬ 톡신이 이루어지면 OSI 7 Layer κ°€ μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”μ§€, μ–΄λ–€ 헀더λ₯Ό 가지고 μžˆλŠ”μ§€ μ•Œμ•„λ³΄λ € ν•œλ‹€.

 

OSI 7 Layer NO. TCP/IP Ohters
Application L7 HTTP FTP, SMTP, SSH
Presentation
Session
Transport L4 TCP UDP
Network L3 IP IPv6, ARP
Data Link L2 Ethernet SDLC
Physical  

 

μ‹€μ§ˆμ μœΌλ‘œ ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ λ‹€λ£° 수 μžˆλŠ” Layer λŠ” Physical 을 μ œμ™Έν•œ 6개의 Unit 이닀.

 

κ·Έ 이후 Data Link λΆ€ν„° Application Layer κΉŒμ§€ μ°¨λ‘€λ‘œ L2, L3, L4, L7 이라 λΆ€λ₯΄κ³  L7 μ—λŠ” Session + Presentation + Application μ˜μ—­μ΄ κ°œλ…μ μœΌλ‘œ ν•©μ³μ„œ κ΅¬λΆ„ν•˜κ³€ ν•œλ‹€.

 

각각의 Layer λ₯Ό λŒ€ν‘œν•˜λŠ” νƒ€μž…μ„ μ΄λ²ˆμ— Wireshark 둜 λΆ„μ„ν•΄λ³΄μž.

 

Wireshark 둜 νŒ¨ν‚· μΊ‘μ³ν•˜κΈ°

 

μš°μ„  λ„€νŠΈμ›Œν¬ νŒ¨ν‚·μ„ μΊ‘μ³ν•˜κΈ° μœ„ν•΄μ„œ Wireshark λ₯Ό μ΄μš©ν•  것이닀.

 

νŒ¨ν‚·μ„ μΊ‘μ³ν•˜κΈ° μœ„ν•΄μ„œ ν˜„μž¬ λ„€νŠΈμ›Œν¬λ₯Ό μΊ‘μ³ν•œλ‹€.

 

 

λ‚˜λŠ” WAN 으둜 μž‘ν˜€μžˆκΈ° λ•Œλ¬Έμ— Wifi λ₯Ό Target 으둜 μ„€μ •ν•˜λ„λ‘ ν•˜κ² λ‹€.

 

그리고 http fileter λ₯Ό κ±Έμ–΄μ„œ λ‚ μ•„λ‹€λ‹ˆλŠ” 아무 νŒ¨ν‚·μ΄λ‚˜ μž‘μ•„λ³΄μž

 

 

그럼 μ•„λž˜ Packet Details λΆ€λΆ„μ—μ„œ 4 개의 Detail 정보가 λ‚˜μ˜€κ²Œ λœλ‹€.

 

μ—¬κΈ°μ„œ λ³΄μ΄λŠ” 이 4개의 Detail 이 L2, L3, L4, L7 을 λͺ¨λ‘ λ‚˜νƒ€λ‚΄λŠ” κ³³μ΄λ‹ˆ λˆˆμ—¬κ²¨ λ³΄λ„λ‘ν•˜μž.

 

총 4개의 Expandable Column 이 μ‘΄μž¬ν•œλ‹€.

 

  1. Ethernet II
  2. Internet Protocol Version 4
  3. Transmission Control Protocol
  4. Hypertext Transfer Protocol

 

이듀은 각각 L2, L3, L4, L7 에 ν•΄λ‹Ήν•˜λŠ” μ‹€μ œ νŒ¨ν‚· 데이터인데, 각각을 λΆ„μ„ν•΄λ³΄μž.

 

L2 Data Link 의 Ethernet

 

L2 에 ν•΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œλ‘œ ν•œ μ§€μ—­μ—μ„œ λ‹€λ₯Έ μ§€μ—­μœΌλ‘œ 데이터λ₯Ό 전솑 λ˜λŠ” μˆ˜μ‹ ν•  λͺ©μ μ΄ μžˆλŠ” λ ˆμ΄μ–΄μ˜ ν”„λ‘œν† μ½œμ΄λ‹€.

 

Ethernet 은 물리 μ£Όμ†ŒμΈ MAC Address μ£Όμ†Œλ₯Ό ν¬ν•¨ν•˜μ—¬, λͺ©μ μ§€μ˜ MAC Address와 μΆœλ°œμ§€μ˜ MAC Address λ₯Ό ν¬ν•¨ν•œλ‹€.

 

μš°λ¦¬κ°€ νŒ¨ν‚·μ„ μž‘μ„ λ•Œ, κ°€μž₯ λ¨Όμ € 확인할 수 μžˆλŠ” λ°μ΄ν„°λ‘œ, λ‹€μŒκ³Ό 같이 Destination, Source MAC Address κ°€ μ‘΄μž¬ν•˜λŠ” 것을 μ•Œ 수 μžˆλ‹€.

 

 

μ—¬κΈ°μ—μ„œ μžμ„Ένžˆ 보면 3κ°€μ§€μ˜ 정보가 λ‚˜μ˜¨λ‹€.

 

이 정보듀을 μ•Œμ•„κ°€κΈ° μœ„ν•΄ 헀더λ₯Ό 쑰금 λΆ„μ„ν•΄λ³΄μž

Ethernet Header

 

μ΄λŠ” 이더넷 ν”„λ ˆμž„μ˜ ν—€λ”λŠ” 총 14 byte 의 크기둜 μ‘΄μž¬ν•˜λŠ”λ°, λ‹€μŒκ³Ό 같은 정보λ₯Ό 가지고 μžˆλ‹€.

 

  • Destination MAC Address (6 byte)
  • Source MAC Address (6 byte)
  • ethertype (2byte)

 

λ‹€μŒμ— μ–΄λ–€ PDUκ°€ λ‚˜μ˜€λŠ”μ§€λŠ” ν˜„μž¬ ν—€λ”μ—μ„œ 결정을 ν•΄μ€˜μ•Ό ν•˜λŠ” νŒ¨ν‚·μ˜ νŠΉμ„±μƒ μœ„μ˜ ethertype 이 κ½€ μ€‘μš”ν•œ 역할을 μˆ˜ν–‰ν•œλ‹€.

 

ethertype 은 2 byte둜 L3 에 무엇이 λ‚˜μ˜¬μ§€ μ§€μ •ν•΄μ£ΌλŠ”λ°, ν˜„μž¬ Type 은 IPv4 (0x0800) 이닀.

 

λ§Œμ•½ IPv4κ°€ μ•„λ‹ˆλΌ IPv6 라면 0x8100 이 올 것이고, ARP 라면 0x0806이 올 것이닀

 

L3 : Network 의 Ipv4

 

L3에 ν•΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œλ‘œ μš°λ¦¬κ°€ 잘 ν•˜λŠ” IPκ°€ λ‚˜μ˜€λŠ”λ°, L4λŠ” 쀑간 λΌμš°ν„°λ₯Ό ν†΅ν•œ λΌμš°νŒ…μ„ ν¬ν•¨ν•˜μ—¬ νŒ¨ν‚· ν¬μ›Œλ”©μ„ λ‹΄λ‹Ήν•œλ‹€.

 

Ethernet Frame Header λ°”λ‘œ λ‹€μŒμ— μœ„μΉ˜ν•œ ν—€λ”λ‘œ, 항상 IPv4κ°€ μ˜€λŠ” 것은 μ•„λ‹ˆκ³ , Ethernet Frame Header μ—μ„œ ethertype 으둜 λͺ…μ‹œλœ ν”„λ‘œν† μ½œλ§Œ 올 수 μžˆλ‹€.

 

Ipv4 Header

 

IPv4 λŠ” λ‹€μŒκ³Ό 같은 정보가 λ‹΄κΈ°κ²Œ λœλ‹€.

 

  • Source Address (4 byte)
  • Destination Address (4 byte)
  • Protocol (1 byte)

 

μ—¬κΈ°μ„œ Ethernet Header κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ λ‹€μŒμ— μ–΄λ–€ ν”„λ‘œν† μ½œμ΄ μ˜¬μ§€ μ •ν•΄μ£ΌλŠ”κ²Œ λ°”λ‘œ Protocol μ˜μ—­μ΄λ‹€.

 

 

ν˜„μž¬λŠ” TCP라 6μ΄λΌλŠ” 정보가 λ‹΄κ²¨μžˆμ§€λ§Œ λ§Œμ•½ ICMP라면 1, UDPλ©΄ 11? 17 μ΄λΌλŠ” 정보가 λ‹΄κ²¨μžˆκ²Œ λœλ‹€.

 

L4 : Transport 의 TCP

 

L4에 ν•΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œλ‘œ TCPλ₯Ό μ‚¬μš©ν•œλ‹€.

 

L4 μ—μ„œλŠ” L7κ³Ό L3 λ₯Ό μ—°κ²°ν•˜κ³  μ‹ λ’°μ„±, 흐름 μ œμ–΄, 닀쀑화와 같은 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” κ²ƒμœΌλ‘œ μ•Œλ €μ Έ μžˆλ‹€.

 

TCP Header

 

TCP Header μ—μ„œ μ€‘μš”ν•˜κ²Œ 봐야할 것은 λ°”λ‘œ Source Port와 Destination Port 이닀

 

μ‹€μ§ˆμ μΈ λ°μ΄ν„°λŠ” Payload에 λ‹΄κ²¨μžˆμ§€λ§Œ, Port 둜 μ„œλΉ„μŠ€λ₯Ό κ΅¬λΆ„ν•˜λŠ” νŒ¨ν„΄μ΄ 자주 μ‚¬μš©λ˜λ―€λ‘œ 두 포트λ₯Ό μ•Œμ•„λ‘λŠ” 것도 μ€‘μš”ν•˜λ‹€.

 

Wireshark둜 λŒμ•„κ°€μ„œ 보면 μ—­μ‹œ Source Port와 Destination Port λ₯Ό μ‰½κ²Œ 확인할 수 μžˆλ‹€.

 

 

Session + Presentation + Application 의 HTTP

 

L7 에 ν•΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œλ‘œ 이전 PDU인 TCP μ—μ„œ Payload에 μ‘΄μž¬ν•˜λŠ” μ‹€μ§ˆμ μΈ 데이터 이닀.

 

 

TCP μ—μ„œ μ–΄λ–€ Payload κ°€ λ˜μ—ˆλŠλƒμ— λ”°λΌμ„œ FTPκ°€ 될 수 있고 SSHκ°€ 될 수 μžˆλ‹€.

 

ν•˜μ§€λ§Œ ν˜„μž¬ μž‘μ€ νŒ¨ν‚·μ€ http νŒ¨ν‚·μ΄λ―€λ‘œ TCP Payload μ—λŠ” Hypertext Transport Protocol 이 μ‘΄μž¬ν•˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

 

λŒ“κΈ€