
skshieldusrookies19기 4주 5일차.
1) Windows 11 VMware Image 다운로드
https://developer.microsoft.com/ko-kr/windows/downloads/virtual-machines/
2) 다운로드 받은 파일을 압축 해제
3) VMware > File > Open...

4) 2)에서 압축 해제한 폴더에 WinDev2401Eval 파일 선택 후 열기 버튼 클릭

5) 가상머신 이름 입력 후 Import 버튼 클릭

6) settings 에서 Host Only 네트워크 인터페이스는 삭제(Remove)

Kali 가상머신에서 dig(Domain Information Groper) 명령으로 naver.com 도메인 정보를 조회
┌──(kali㉿kali)-[~]
└─$ dig www.naver.com ⇐ 사용법 dig 도메인이름 [레코드유형]
; <<>> DiG 9.19.17-2~kali1-Kali <<>> www.naver.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61471
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION: ⇐ 질의 내용 → www.naver.com 도메인 이름으로 A 유형의 레코드를 질의
;www.naver.com. IN A
;; ANSWER SECTION: ⇐ 질의 결과
www.naver.com. 5 IN CNAME www.naver.com.nheos.com.
www.naver.com.nheos.com. 5 IN A 223.130.200.219
www.naver.com.nheos.com. 5 IN A 223.130.192.248
www.naver.com.nheos.com. 5 IN A 223.130.192.247
www.naver.com.nheos.com. 5 IN A 223.130.200.236
;; Query time: 19 msec
;; SERVER: 192.168.40.2#53(192.168.40.2) (UDP)
;; WHEN: Thu Mar 21 20:34:03 EDT 2024
;; MSG SIZE rcvd: 140
┌──(kali㉿kali)-[~]
└─$ dig blog.naver.com SOA
; <<>> DiG 9.19.17-2~kali1-Kali <<>> blog.naver.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15808
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;blog.naver.com. IN SOA
;; ANSWER SECTION:
blog.naver.com. 5 IN CNAME blog.naver.com.nheos.com.
;; AUTHORITY SECTION:
nheos.com. 5 IN SOA gns1.nheos.com. hostmaster.nheos.com. 2024032101 10800 3600 604800 180
;; Query time: 19 msec
;; SERVER: 192.168.40.2#53(192.168.40.2) (UDP)
;; WHEN: Thu Mar 21 20:37:25 EDT 2024
;; MSG SIZE rcvd: 142
gns1.nheos.com. Primary Name Server
hostmaster.nheos.com. 관리자 이메일 주소 ⇒ hostmaster@nheos.com 의미
2024032101 시리얼 번호
10800 Refresh 값 : 3시간 주기로 Secondary DNS가 Zone Transfer를 수행
3600 Retry 값 : Secondary DNS가 응답을 받지 못 하면 1시간 후 재시도
604800 Expire 값 : 7일 동안 Secondary DNS가 응답을 받지 못 하면 더 이상 해당 Zone 파일을
Secondary DNS에서 사용하지 않음
180 SOA 레코드 TTL(Time To Live) 값 : DNS Resolver에서 캐시되는 시간 (180초)
호스트의 IP 구성 관리를 단순화하는 IP 표준
IP 주소와 관련된 기타 구성 정보(Subnet mask, Gateway IP 주소, DNS 서버 IP 주소 등)를 DHCP 클라이언트에게 동적으로 할당하는 서비스
사용자 이동이 많고 한정된 IP 주소를 가진 경우 유용
서비스 포트: 서버 67(bootps), 클라이언트 38(bootpc)
DHCP 동작 (4단계)

DHCP 갱신
DHCP 서버로부터 IP를 할당 받은 후 임대 시간(Lease Time)의 50%가 지나면 DHCP 갱신 과정을 수행
이미 사용 중인 IP 정보가 있으므로 DHCP Discover, DHCP Offer 과정은 생략
첫번째 갱신에 실패하면 남은 시간의 50%가 지난 시점(즉, 초기 임대 시간의 75%가 지난 시점)에 다시 갱신을 시도
두번째 갱신에 실패함녀 추가 갱신 없이 임대 시간이 모두 지난 시점에 IP를 반납하고 처음부터 다시 IP를 할당 받음

네트워크 세그먼트의 데이터 링크 계층(L2)에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자
LAN 카드(=네트워크 인터페이스 카드 =네트워크 인터페이스 컨트롤러 =NIC)에 새겨진 주소(BIA, Burned-In Address)
48bit ⇒ OUI(Organizationally unique identifier, 24bit) + UAA(Universally Administered Address, 24bit)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IEEE가 제조사에 할당 각 제조사에서 네트워크 구성 요소에 할당
https://standards-oui.ieee.org/oui/oui.txt
LAN 영역에서 내부 통신을 수행하기 위해 필요한 주소
MAC 주소 동작

무차별 모드 (Promiscuous Mode)
기본적으로 NIC는 패킷의 목적지 MAC 주소가 자신의 MAC 주소와 다르면 폐기
무차별 모드로 NIC를 구성하면 자신의 MAC 주소와 상관 없는 패킷이 들어와도 이를 분석할 수 있도록 메모리에 올려 처리할 수 있게 함
네트워크 상태를 모니터링하거나 디버깅, 분석 용도로 네트워크 전체 패킷을 수집해야 하는 경우 사용
IP 주소와 MAC 주소
구분 구성 기능
------------ ---------------------------------------- ---------------------
IP 주소 32비트 ⇒ 네트워크ID + 호스트ID IP 주소 기반 라우팅
MAC 주소 48비트 ⇒ OUI + UAA MAC 주소 기반 라우팅
네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위해 사용되는 프로토콜
상대방의 MAC 주소를 알아내기 위해 사용되는 프로토콜
데이터 통신을 위해 2계층의 MAC 주소와 3계층 IP 주소 두 개를 사용
⇒ IP 주소 체계는 MAC 주소와 전혀 연관성이 없으므로 두 주소를 연계시키 주는 메커니즘이 필요
⇒ ARP

#1 목적지 MAC 주소를 모르기 때문에 정상적인 패킷을 만들 수 없음

#2 ARP 요청을 네트워크에 브로드캐스터
목적지 MAC 주소를 브로드캐스트(ff-ff-ff-ff-ff-ff)로, 대상 MAC 주소를 00-00-00-00-00-00으로 채워서 전달(뿌림)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
이더넷 헤더 ARP 헤더

#3 ARP 요청에 있는 대상자 IP 주소가 자신의 IP와 동일한 경우, 출발지로 ARP 응답을 유니캐스트

#4 ARP 캐시 테이블 갱신 후 패킷을 생성해 전송

패킷을 보낼 때 마다 ARP 브로드캐스트를 수행하면 네트워크 통신의 효율성이 크게 저하되므로 ARP Reply 정보를 메모리에 정보를 저장해서 재사용하도록 하는 것
C:\Users\User> arp -d ⇐ ARP 캐시 테이블 삭제
C:\Users\User> ping 8.8.8.8 ⇐ 구글 DNS
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=33ms TTL=128
Reply from 8.8.8.8: bytes=32 time=31ms TTL=128
Reply from 8.8.8.8: bytes=32 time=33ms TTL=128
Reply from 8.8.8.8: bytes=32 time=33ms TTL=128
Ping statistics for 8.8.8.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 31ms, Maximum = 33ms, Average = 32ms
C:\Users\User> arp -a ⇐ ARP 캐시 테이블 확인
Interface: 192.168.40.131 --- 0x6 ⇐ 해당 호스트의 IP 주소
Internet Address Physical Address Type
192.168.40.2 00-50-56-f3-7b-bd dynamic ⇐ 기본 게이트웨이의 NIC
224.0.0.22 01-00-5e-00-00-16 static
C:\Users\User> ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : WinDev2401Eval
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : localdomain
Ethernet adapter Ethernet1:
Connection-specific DNS Suffix . : localdomain
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection #2
Physical Address. . . . . . . . . : 00-0C-29-DA-3C-1F
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::98be:455e:650f:f92f%6(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.40.131(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Tuesday, February 14, 1888 2:36:12 AM
Lease Expires . . . . . . . . . . : Thursday, March 21, 2024 7:49:29 PM
Default Gateway . . . . . . . . . : 192.168.40.2
DHCP Server . . . . . . . . . . . : 192.168.40.254
DHCPv6 IAID . . . . . . . . . . . : 167775273
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2D-8F-64-61-00-0C-29-DA-3C-15
DNS Servers . . . . . . . . . . . : 192.168.40.2
Primary WINS Server . . . . . . . : 192.168.40.2
NetBIOS over Tcpip. . . . . . . . : Enabled
#1 출발지 IP와 목적지 IP의 네트워크 ID를 비교
출발지 IP 목적지 IP
IP 192.168.40.131 8.8.8.8
Subnet mask 255.255.255.0 255.255.255.0 ⇐ 출발지의 Subnet mask를 적용
Network ID 192.168.40. 8.8.8. ⇒ 두 개의 Network ID가 서로 상이
⇒ 목적지 주소를 게이트웨이 주소로 변경
#2 게이트웨이의 MAC 주소 확인을 위해 ARP Request(질의)를 브로드캐스팅
⇐ 수신처 미정 (목적지 MAC이 설정되지 않음)
출발지 목적지
IP 192.168.40.131 192.168.40.2
MAC 00-0C-29-DA-3C-1F 00-00-00-00-00-00 ⇐ LAN 영역의 모든 호스트는 ARP 브로드캐스팅 질의를 수신
목적지 IP 주소가 일치하는 호스트가 ARP Reply를 전송
#3 게이트웨이가 자신의 MAC 주소를 유니캐스트
출발지 목적지
IP 192.168.40.2 192.168.40.131
MAC 00-50-56-f3-7b-bd 00-0C-29-DA-3C-1F
#4 응답을 받은 출발지 호스트는 자신의 ARP 캐시 테이블을 업데이트
C:\Users\User> arp -a
Interface: 192.168.40.131 --- 0x6
Internet Address Physical Address Type
192.168.40.2 00-50-56-f3-7b-bd dynamic
224.0.0.22 01-00-5e-00-00-16 static
#5 이후부터는 게이트웨이와 통신하기 위해서는 로컬 ARP 캐시 테이블에 MAC 주소를 이용해서 유니캐스팅
출발지 목적지
IP 192.168.40.131 192.168.40.2
MAC 00-0C-29-DA-3C-1F 00-50-56-f3-7b-bd
ARP 요청과 응답이 일어나는 영역
⇒ LAN 영역 = 동일한 네트워크 ID를 공유하는 호스트가 MAC 주소에 기반해서 스위칭 방식으로 내부 통신을 수행하면서
단일 ARP 영역을 생성하는 공간
네트워크에서 출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식

유니캐스트
1 → 1
출발지와 목적지가 1:1로 통신
대부분의 통신은 유니케스트 방식으로 진행
TCP, UDP 모두 지원
브로드캐스트
1 → All
통일 네트워에 존재하는 모든 호스트가 목적지
목적지 주소가 All(ff-ff-ff-ff-ff-ff)으로 표기되어 있는 통신 방식
로컬 네트워크에서 모든 호스트에 패킷을 전달해야 할 때 사용
유니케스트 통신 전에 상대방(목적지)의 MAC 주소를 취득하기 위해 사용 ⇒ ARP Request
UDP 지원
멀티캐스트
1 → N (멀티캐스트 구독 호스트 = 그룹)
하나의 출발지에서 다수의 특정 목적지로 데이터를 전송
멀티캐스트 그룹 주소를 이용해서 해당 그룹에 속한 다수의 목적지로 패킷을 전송하기 위한 통신 방식
IPTV와 같은 실시간 방송, 사내 방송, 증권 시세와 같은 단방향으로 다수에게 동일한 내용을 전달할 때 사용
UDP 사용
애니캐스트
1 → 1 (동일 그룹 내의 1개 호스트)
다수의 동일 그룹 중 가장 가까운 호스트에서 응답
애니캐스트 주소가 같은 호스트들 중 가장 가깝거나 효율적으로 서비스할 수 있는 호스트와 통신하는 방식
가장 가까운 DNS 서버를 찾을 때 사용
LAB. 본인 환경에 맞춰서 ping 8.8.8.8 동작 순서를 기술(설명)해 보세요.
계층(layer)
- 비음성 통신에서 데이터를 전송하기 위한 일련의 과정, 단계, 절차
- 송신자 운영체제가 응용 계층에서 시작해 전송, 네트워크, 데이터 링크 계층 순으로 데이터를 전송
- 수신자 운영체제가 역으로 물리 계층에서 시작해 데이터 링크, 네트워크, 전송, 응용 계층 순으로 데이터를 수신
--------------- 데이터 송신 ------------------>
<-------------- 데이터 수신 -------------------
응용 → 전송 → 네트워크 → 데이터 링크 → 물리
논리적이고 추상적 >>> ................................... >>> 물리적이고 구체적
헤더를 추가하는 과정
인캡슐레이션
ISO(International Organization for Standardization, 국제 표준 기구)에서 서로 다른 시스템(개방형 시스템, Open System)간 통신을 허용(상호 연결, Inter Connection)하기 위해 만든 모델
OSI(Open System Interconnection)

L7 응용 계층
L6 표현 계층
L5 세션 계층
L4 전송 계층
L3 네트워크 계층
L2 데이터 링크 계층
L1 물리 계층
전기적, 기계적, 기능적, 절차적 수단을 제공
들어온 전기 신호를 그대로 전달
주소 개념이 없기 때문에 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 신호를 전송
(더미) 허브, 리피터 , 케이블, 커넥터, 트랜시버, 탭
네트워크 장비에서 패킷 전송 방법
Forwarding - 하나의 송신지 포트에서 하나의 수신지 포트로 트래픽을 전달
Flooding - 송신지 포트를 제외한 나머지 포트들로 트래픽을 전달
Hub - 주소가 없으므로 모든 포트로 Flooding 처리 `

Switch - MAC Address Table을 이용해서 Forwarding 처리
(만약, MAC Address Table에 목적지 MAC 주소가 없는 경우 Flooding 처리)


Router - Routing Table을 기반으로 Forwarding 처리 (Routing Table에 없는 목적지 주소는 Drop 처리)

- ps
스위치 MAC 로컬에서 연결 -> 스위치가 맥 다 갖고 있어야 함
스위치가 받아서 연결
보내야 할 곳의 Mac 없으면 받은 전기신호 다 쏨 -> Local 이니까 기껏해야 255 -> 가능
물리적인 장비니까
스위치 거쳐서 라우터로 나가고 다른 라우터와 연결 되어야 함
어디로 가야하는지가 routing 테이블에 있음
라우터에도 포트 여러개 있음 -> 해당 포트로 감
인터넷 있는 모든 라우터로 신호 보냄 -> 인터넷 엉망 -> 드랍
라우터는 우리 네트워크 밖으로 나가는 것임
1계층 : 주소 개념 없음 -> 플로딩 해버림 (포트 꽃힌 장비한테 다 보냄)
2계층 : 스위치 : Mac 주소 보고 있으면 그 포트만, -> 좀더 네트워크 트래픽 줌 -> 없으면 플러딩 함
3계층 라우터 : 외부 네트워크 : 함부로 플러딩 X -> 네트워크 불필요한 혼란 -> 드랍
통신체계 프로토콜 종류 용도
-------- ---------------------------- ---------------------------------------------------
TCP/IP HTTP, Telnet, TCP, UDP, ... 인터넷과 LAN에서 사용
IPX/SPX IPX, SPX, NPC, ... 노벨 사가 개발 및 판매하는 Netware 시스템에서 사용
Appltalk DDP, RTMP, ATP, ... 애플 사 제품의 LAN에서 사용
DECnet DPR, NSP, SCP, ... 덱 사의 미니 컴퓨터에서 사용
XNS IDP, SPP, PEP, ... 제록스 사의 네트워크에서 사용
Vender Specific Protocol (독점적 프로토콜)
Open Protocol (비독점적 프로토콜)
TCP/IP

헤더3 + 헤더2 + 헤더1 + 페이로드
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
| payload : 사용자가 상대방에게 전송하고자 하는 실제 정보가 담긴 공간
+-- 보내는 호스트의 주소(출발지 주소)와 받는 호스트의 주소(목적지 주소)가 담긴 공간
메시지(message) : 페이로드만으로 이루어진 데이터 전송 단위
인캡슐레이션 & 디캡슐레이션

ㄴ 그림 주제 일부 잘못댐
인캡슐레이션
페이로드 앞에 헤더를 붙이는 과정
운영체제가 데이터를 송신하는 과정
메시지 → 데이터그램/세그먼트 → 패킷 → 프레임 → 비트
디캡슐레이션
헤더를 떼는 과정
데이터를 수신하는 과정
비트 -> 프레임 -> 패킷 -> 데이터그램/세그먼트 -> 메시지
인캡슐레이션 역할
정보은닉
라우터는 패킷 헤더만 읽을 수 있을 뿐 데이터그램/세그먼트 헤더 이하는 읽을 수 없음
스위치는 프레임 헤더만 읽을 수 있을 뿐 패킷 헤더 이하는 읽을 수 없음
데이터그램 헤더 + UDP 페잉로드
or
세그먼트 헤더 + TCP 페이로드
데이터그램/세그먼트 헤더
패킷 헤더 + 데이터 그램 헤더 + UDP 페이로드
or
패킷 헤더 + 세그먼트 헤더 + TCP 페이로드
패킷 헤더
위 패킷에 프레임 헤더 추가
프레임 헤더 + 패킷 헤더 + 데이터 그램 헤더 + UDP 페이로드
or
프레임 헤더 + 패킷 헤더 + 세그먼트 헤더 + TCP 페이로드
프레임 헤더
| LAN 영역 | WAN 영역 | |
|---|---|---|
| 데이터그램/세그먼트 헤더 | 출발지/목적지 포트 번호 | 출발지/목적지 포트 번호 |
| 패킷 헤더 | 출발지/목적지 IP 주소 | 출발지/목적지 IP 주소 |
| 프레임 헤더 | 출발지/목적지 MAC 주소 | WAN 영역에 대한 정보 |
UDP (User Datagram Protocol, 사용자 데이터그램 프로토콜)

TCP (Transmission Control Protocol, 전송 제어 프로토콜
인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나
IP와 함께 TCP/IP라는 명칭
TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환 하도록
TCP는 전송 계층에 위치
네트워크의 정보 전달을 통제하는 프로토콜이자 인터넷을 이루는 핵심 프로토콜의 하나 국제 인터넷 표준화 기구(IETF)의 RFC 793에 기술되어 있다.
연결 지향형 프로토콜 -> 수신측 데이터 흘리지 않게 -> 데이터 흐름 제어 (flow control) -> 전송 중 에러 발생 경우 -> 자동 재전송 에러 제어(error control) 등 기능 -> 데이터 확실한 전송 보장
Today is...
오늘은 불금~!! ㅎㅎ
가장 시간이 안가는 날이기도 한데, 오늘 수업이 무척 흥미로워서 잘 지나갔다.
지금까지 프로그램으로 인한 실습 등은 너무 어려워서 힘들었는데,
오늘은 정보처리기사 공부하며 주워들은 내용이 있어서 추가적인 설명을 이해하는 게 훨씬 수월했다!
아 생각해보니 애플리케이션 보안은 내가 모르는 분야기도 하지만, 예비군 등으로 4일 놓친 게 엄청 커가지구... 감당할 수가 없는 것도 있었다..ㅋㅋ
다시 수업 따라갈만 하니까 공부 잘 해두자!
주말 나이스!
ARP | OSI 7 Layer | OSI 7 계층 | SKshieldusrookies | UDP | sk쉴더스루키즈 | tcp | 네트워크보안 | 디캡슐레이션 | 시스템보안 | 인캡슐레이션 | 클라우드 | 패킷 | 프레임