osi 7계층과 네트워킹 - wordpress.com · 2012-09-16 · tcp가 가진 주소를...

66
영동대학교 스마트IT학부: 컴퓨터와 해킹 이호준 [email protected] OSI 7계층과 네트워킹

Upload: others

Post on 21-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

영동대학교 스마트IT학부: 컴퓨터와 해킹

이호준 [email protected]

OSI 7계층과 네트워킹

Page 2: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

2/42

Contents

학습목표

네트워크 계층 구조의 필요성을 이해한다.

네트워크 계층 구조인 OSI 7계층을 이해한다.

OSI 7계층의 주요 동작 원리를 이해한다.

라우팅과 스위칭을 이해한다.

패킷에 대한 분석 능력을 키운다.

내용

네트워크 구조에 대한 이해

물리 계층

데이터 링크 계층

네트워크 계층

전송 계층

계층별 패킷 분석

Page 3: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

3/42

1970년대 중앙 집중식 네트워크에서 분산형 네트워크로 변하면서 중소형 네트워크 발달

IBM과 DEC가 대기업 네트워크의 대부분 차지, 이들은 SNA, DECnet이라는 각각의 네트워크 구조 모델 사용

개인 컴퓨터가 널리 보급되면서 중소형 네트워크의 필요성 제기. 업체마다 자사 제품끼리만 통신이 가능하게 만들어 이기종 통신에 문제 발생

ISO는 여러 업체가 만든 시스템을 상호 연동 가능하게 하는 표준 네트워크 모델 제정의 필요성 요구를 수용해 1984년 OSI 네트워크 모델 발표

네트워크 계층 구조

Page 4: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

4/42

물리 계층(1계층) 사용자나 응용 프로그램 사이에 데이터 교환을 가능하게 함

데이터 링크 계층(2계층) 응용 프로그램 계층 개체 간의 정보를 표현하는 구문을 하나의 통일된 형식으로 표현

네트워크 계층(3계층) 프로세스 간의 대화 연결 확립/관리/해제하려고 체크포인트, 재시작, 차단 서비스 수행

전송 계층(4계층) 점대점 연결에 신뢰성 있고 투명한 데이터 전송 제공. 이를 위해 양단간에 오류 제어, 통

신량 제어, 다중화 제공

세션 계층(5계층) 네트워크를 통한 데이터 패킷 전송 담당. 경로 제어(routing)와 통신량 제어 등을 수행

표현 계층(6계층) 물리적인 링크를 통해 신뢰성 있는 정보 제공. 즉, 동기화, 오류 제어, 흐름 제어 등을

통해 프레임 전송

응용 프로그램 계층(7계층) 기계적, 전기적, 기능적, 절차적 특성을 정의하여 구조화되지 않은 비트 스트림을 물리

적 매체를 통해 전송

OSI 7계층 기능

Page 5: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

5/42

복잡하고 다양한 유형의 통신 기능을 하나의 큰 프로토콜로 정의하기 거의 불가능하여 프로토콜 계층화

기능별로 계층을 구분하여 각 기능에 맞게 표준화 진행

네트워크의 추가, 변경, 유지 보수 등의 문제 해결 편리

프로토콜 계층화

Page 6: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

6/42

1계층으로, 시스템 간의 연결선(랜 케이블, 동축 케이블, 전화선, 전자 파장 전달 공간 등)

실제 장치를 연결하는 데 필요한 전기적, 물리적 세부 사항 정의

물리 계층 장치 : 허브나 리피터

ANSI/EIA 표준 568의 데이터 속도에 따른 1계층 케이블 구분(표 3-1)

물리 계층

Page 7: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

7/42

케이블의 구분(표 3-2)

커넥터에도 여러 표준이 있음 전화선의 연결 커넥터를 RJ(Registered

Jack)-11이라고 부르고, 랜 케이블의 연결 커넥터를 RJ-45라고 부름

물리 계층

[그림 3-3] RJ-11 [그림 3-4] RJ-45

Page 8: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

8/42

리피터(Repeater) 네트워크 연장 장비

거리가 일정 이상이 되면 신호 세기가 약해져서 0과 1의 디지털 신호를 분석하기 어려워진다는 점을 해결하기 위해 리피터 사용

불분명해진 신호 세기를 다시 증가시키는 역할을 함

더미 허브(Hub) 허브는 요즘에 쓰이는 스위치의 옛날 형태

흔히 최근의 스위치를 스위칭 허브라고 부르고, 이전 허브를 더미 허브라 부름

더미 허브는 네트워크 구조 관점에서 버스 구조를 하고 있다고 볼 수 있음

물리 계층 관련 장비

[그림 3-5] 리피터

Page 9: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

9/42

랜 카드나 네트워크 장비의 하드웨어 주소만으로 통신하는 계층

MAC(Media Access Control) 주소는 네트워크 카드마다 붙는 고유 이름. 윈도우 명령 창에서 ipconfig /all 명령으로 확인

총 12개의 16진수로 구성. 앞쪽 6개는 네트워크 카드를 만든 회사를 나타내는

OUI(Organizational Unique Identifier) → 어느 회사에서 만든 제품인지 알 수 있음

뒤쪽 6개는 호스트 식별자(Host Identifier)로 각 회사에서 임의로 붙이는 일종의 시리얼 → OUI가 같은 회사도 없고, 한 회사에서 시리얼이 같은 네트워크 카드를 만들지 않기 때문에, 같은 MAC 주소는 존재하지 않음

데이터 링크 계층

Page 10: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

10/42

X.25 ITU-T(구 CCITT)에 의해 1980년경부터 규격화된 통신 규약

딘말장치(DTE)와 회선종단장치(DCE) 간의 상호 접속에 대해서만 규정하며 DCE 간의 네트워크 내부 접속에 대한 사항은 규정하지 않음

단말장치와 회선종단장치 간의 통신 절차를 규정한 계층화된 프로토콜

프레임 릴레이(Frame Relay) 불필요한 전송 오류 제어나 흐름 제어 등 복잡한 기능을 최소화하고, 망 종단 장치에서

처리하도록 함으로써 고속 전송을 실현하는 고속 데이터 전송 기술

X.25 패킷 교환망의 10배까지 고속 데이터 전송이 가능

ATM(Asynchronous Transfer Mode) 고속 데이터를 53Byte 셀로 처리하는 VLSI 기술로, 실시간 영상 전송 같은 고속 통신

에 사용

ATM 망은 스타형의 성격

데이터 링크 계층

Page 11: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

11/42

데이터 링크 계층 관련 장비

브리지(Bridge) 초기의 랜과 랜을 연결하는 네트워크 장치

데이터 링크 계층에서 통신 선로를 따라 한 네트워크에서 그 다음 네트워크로 데이터 프레임을 복사하는 역할

브리지에 프레임이 들어오면 MAC 주소를 확인해 목적지 MAC 주소가 프레임이 들어온 인터페이스에 있으면 해당 패킷을 막고, 프레임이 들어온 인터페이스가 아닌 다른 인터페이스 쪽에 있으면 전달

스위치(Switch) 기본적으로 L2(Layer 2), 즉 데이터 링크 계층에서 작동하는 스위치

L3, L4 스위치는 L2 스위치에 상위 계층의 네트워킹 기능을 추가한 것

L2 스위치는 스타형 네트워크로 더미 허브가 연결된 시스템이 늘어날수록 패킷 간 충돌 때문에 매우 낮은 속도로 동작하는 문제점을 해결하는 획기적인 방안

[그림 3-9] 브리지 [그림 3-10] 스위치

Page 12: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

12/42

스위칭

스위칭 방식 패킷 전송 방식에 따라 컷스루(cut-through) 방식, 저장 후 전송(store & forward) 방식과

인텔리전트 스위칭(intelligent switching) 방식으로 구분

제공 경로의 대역폭에 따라 전이중(full-duplex)과 반이중(half-duplex) 방식으로 구분

컷스루 방식

• 수신한 프레임의 목적지 주소를 확인하고 목적지 주소의 포트로 프레임을 즉시 전송

• 지연 시간이 최소화되나 수신한 패킷에 오류가 발생할 때는 목적지 장치에서 폐기

저장 후 전송 방식

• 완전한 프레임을 수신하여 버퍼에 보관했다가 전 프레임을 수신한 후 CRC 등 오류를 확인하고 정상 프레임을 목적지 포트로 전송

• 패킷 길이에 비례해 전송 지연이 발생하지만 브리지나 라우터보다 훨씬 신속하게 이루어짐

인텔리전트 스위칭 방식

• 보통 컷스루 모드로 작동하다가 오류가 발생하면 저장 후 전송 모드로 자동 전환하여 오류 프레임을 전송하는 것을 중지

• 오류율이 0이 되면 자동으로 다시 컷스루 방식으로 전환

전이중 방식

• 송신 포트와 수신 포트를 분리해 반이중 방식보다 성능 두 배. 충돌이 없으므로 전송 거리 제한 연장 가능

• 공유 방식의 이더넷은 반이중 방식만 지원하고 기술적으로는 스위치에서만 전이중 방식 지원

Page 13: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

13/42

스위칭

스위치 테이블 서버가 스위치에 연결되어 있을 때 스위치의 메모리 정보

클라이언트의 랜 케이블을 스위치의 3번 포트 꽂음

스위치의 메모리에 포트별로 MAC 주소가 매칭된 테이블이 존재하고, 이것이 갱신됨

Page 14: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

14/42

랜을 벗어난 통신을 하기 위해 네트워크 계층에서 IP 주소 사용

IP 주소는 각 랜의 주소, 즉 세계에 펼쳐진 네트워크의 주소

라우터 네트워크 계층의 대표 장비

게이트웨이라고도 하는데, 게이트웨이는 원래 서로 다른 프로토콜을 사용하는 네트워크를 연결해주는 장비

게이트웨이처럼 논리적으로 분리된 둘 이상의 네트워크를 연결하는 역할과 반대로 로컬 네트워크에서 브로드캐스트를 차단하여 네트워크를 분리하는 역할 수행

가장 중요한 기능은 패킷 교환망에서 패킷의 최적 경로를 찾기 위한 라우팅 테이블을 구성하고, 이 라우팅 테이블에 따라 패킷을 목적지까지 가장 빠르게 보내는 길잡이 역할

네트워크 계층

[그림 3-11] 소형/대형 라우터

Page 15: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

15/42

네트워크 계층 통신을 하는 모든 장치는 라우팅 테이블을 가지고 있음

PC의 라우팅 테이블 예

➊ 목적지 0.0.0.0은 라우팅 테이블에 목적지로 따로 명시되지 않은 모든 목적지 주소. 라

우팅 테이블에서 직접 구체적으로 지정한 주소 외의 모든 목적지 주소는 192.168.0.4 인터페이스를 통해서 게이트웨이 192.168.0.1로 보내라

➋ 목적지 주소가 127로 시작하는 모든 패킷에 대해 루프백 주소인 127.0.0.1로 보내라

➌ 로컬 네트워크(LAN)에 있는 호스트므로 192.168.0.1로 보내지 않고, LAN에서 상대방을 찾으라

라우팅

Page 16: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

16/42

tracert 명령을 사용해 127로 시작하는 경로로 ICMP 패킷 전송

• 두 경우 모두 127.0.0.1로 패킷을 보냄

라우팅

Page 17: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

17/42

정적 라우팅 관리자의 권한으로 특정 경로를 통해서만 패킷이 지날 수 있도록 설정한 것

경로 설정이 실시간으로 이루어지지 않기 때문에 초기에 관리자가 다양한 라우팅 정보를 분석하여 최적의 경로 설정이 가능

라우팅 알고리즘을 통한 경로 설정이 이루어지지 않기 때문에 라우터의 직접적인 처리 부하가 감소

네트워크 환경 변화에 능동적인 대처가 어려움

네트워크 환경 변화 시 관리자가 새로운 라우팅 정보를 통해 경로를 재산출하여 각 라우터에 제공해야 함

비교적 환경 변화가 적은 형태의 네트워크에 적합

라우팅

[그림 3-15] 정적 라우팅

Page 18: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

18/42

동적 라우팅 라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송하는 방식

경로 설정이 실시간으로 이루어지기 때문에 네트워크 환경 변화에 능동적인 대처 가능

라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어지기 때문에 관리 쉬움

주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래

네트워크 환경 변화 시 라우터에 의한 경로 재설정으로 라우터의 처리 부하가 증가하고 지연 발생

수시로 환경이 변하는 형태의 네트워크에 적합

라우팅

[그림 3-16] 동적 라우팅

Page 19: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

19/42

정적/동적 라우팅 비교(표 3-3)

라우팅

Page 20: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

20/42

대표 프로토콜은 TCP

TCP가 가진 주소를 포트(port)라 함 MAC 주소가 네트워크 카드의 고유 식별자고 IP가 시스템의 논리적인 주소라면, 포트

는 시스템에 도착한 후 패킷이 찾아갈 응용 프로그램과 통하는 통로 번호

포트는 0~65535(216)번까지 존재하며, IP나 MAC 주소처럼 출발지와 목적지에 응용 프로그램별로 포트 번호를 가지고 통신

전송 계층

Page 21: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

21/42

주요 포트와 서비스 0~1,023번(1,024개)을 잘 알려진 포트(Well Known Port)라고 부름(표 3-4)

보통 0번 포트는 사용하지 않으며, 1,023번 포트까지는 대부분 고유의 사용 용도가 있음

전송 계층

Page 22: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

22/42

패킷 구조와 예 출발지 포트는 운영체제나 응용 프로그램마다 조금씩 다르나 보통 1,025번~65,535번

중 사용하지 않는 임의의 포트를 응용 프로그램별로 할당하여 사용

클라이언트가 인터넷에 존재하는 웹 서버에 접속한다고 가정하면, 웹 서버의 서비스 포

트는 보통 80번

출발지 포트는 시스템에서 임의로 정해져 알 수가 없으나 대략 3000번 대의 임의 포트가 할당

전송 계층

Page 23: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

23/42

Wireshark 다운로드와 설치

Wireshark 실행 : Wireshark의 [Capture]-[Interface] 메뉴를 선택한 후 패킷 캡처가 가능한 네트워크 선택

실습 3-1 Wireshark 설치하고 실행하기

인터넷에 연결된 클라이언트 시스템(윈도우 XP)

실습환경

1

2

Page 24: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

24/42

패킷 캡처가 시작되며, 다음과 비슷한 결과를 확인 가능

실습 3-1 Wireshark 설치하고 실행하기

➊ ➋ ➌

➊ 해당 인터페이스를 통해 캡처된 패킷 목록

➋ 위의 ➊ 목록에서 패킷

을 하나 선택하여 각 계층별 패킷의 정보

➌ 패킷 전체에 대한 내용

을 HEX와 ASCII 형식으로 보여줌

패킷 스니핑 중지

Page 25: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

25/42

Wireshark에서 특정 패킷만 캡쳐하기 위한 옵션 : [Capture]-[Capture Filters] 메뉴 선택

실습 3-1 Wireshark 설치하고 실행하기

Page 26: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

26/42

실습 3-2 데이터 링크 계층 패킷 분석하기

• 스위치 또는 허브에 연결된 클라이언트(윈도우 XP)와 서버 시스템(윈도우 서버 2003, IIS 설치)

• 필요 프로그램 : Wireshark(서버와 클라이언트에 각각 설치)

실습환경

Page 27: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

27/42

실습 3-2 데이터 링크 계층 패킷 분석하기

2계층에서의 OSI 계층의 패킷 흐름 이해

➊단계 전 : 패킷 송신 컴퓨터는 ARP를 통해 패킷 수신 컴퓨터의 MAC 주소를 확인

➊단계 : 패킷의 목적지 MAC 주소를 패킷 수신 컴퓨터의 MAC 주소로 적어 스위치로 보냄

➋단계 : 스위치에서는 2번 포트로 수신된 패킷의 목적지 MAC 주소가 3번 포트와 연결된 시스템이라는 사실을 메모리에서 확인한 뒤, 패킷을 3번 포트로 흘려보냄

➌단계 : 패킷이 패킷 수신 시스템으로 흘러감

1

Page 28: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

28/42

패킷 캡쳐 준비: 서버와 클라이언트에서 불필요한 패킷 생성 방지([제어판]-[네트워크 연결] 선택하여 각 네트워크 카드의 속성에서‘인터넷 프로토콜(TCP/IP)’만 활성화 설정)

실습 3-2 데이터 링크 계층 패킷 분석하기

2

Page 29: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

29/42

패킷 캡쳐 : 서버와 클라이언트의 Wireshark를 동작 → 클라이언트의 랜선을 스위치에 연결 → 웹 브라우저로 서버의 IIS에 접속 → 클라이언트로 IIS 서버에 접속하는 과정이 끝나면, Wireshark 중단

패킷 분석 : 클라이언트의 Wireshark에 캡처된 패킷 목록

4-1 ARP를 통한 MAC 주소 확인 요청 패킷

실습 3-2 데이터 링크 계층 패킷 분석하기

3

4

Page 30: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

30/42

4-2 ARP를 통한 MAC 주소 응답 패킷

4-3 서로의 MAC 주소 확인 후 최초 전송되는 HTTP 패킷

통신 중 서버측의 ARP 테이블

실습 3-2 데이터 링크 계층 패킷 분석하기

Page 31: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

31/42

실습 3-3 네트워크 계층 패킷 분석하기

• 스위치 또는 허브에 연결된 클라이언트(윈도우 XP)와 서버 시스템(윈도우 서버 2003, IIS 설치)

• 필요 프로그램 : Wireshark(서버와 클라이언트에 각각 설치)

**[실습 3-2] 환경에서 허브나 스위치를 라우터나 IP 공유기로 교체

실습환경

Page 32: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

32/42

3계층에서의 OSI 계층의 패킷 흐름 이해

➊단계 전 : 패킷 송신 컴퓨터는 ARP를 통해 패킷 수신 컴퓨터의 MAC 주소 확인. 보통 라우터는 게이트웨이로 자신의 존재를 알리기 때문에 일반적인 통신 전에 각 시스템은 라우터의 MAC 주소를 알고 있음

➊단계 : 패킷 송신 시스템은 패킷의 목적지 IP를 패킷 수신 시스템의 IP를 사용하여 전송하지만, 패킷의 목적지 MAC 주소를 라우터의 내부 인터페이스MAC 주소로 적어 스위치로 보냄

➋단계 : 라우터는 패킷의 2계층 정보, 즉 출발지와 목적지의 MAC 주소를 패킷에서 벗겨내고, 자신의 외부 인터페이스를 출발지 MAC 주소로 하고 패킷 송신 시스템의 MAC 주소를 목적지MAC 주소로 하여 패킷을 보냄

➌단계 : 패킷이 패킷 수신 시스템으로 흘러감

실습 3-3 네트워크 계층 패킷 분석하기

1

Page 33: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

33/42

패킷 캡쳐 : 서버를 IP 공유기의 WAN 포트에 연결 → 클라이언트는 일반 포트에 연결한 → [실습 3-2]의 2단계처럼 불필요한 프로토콜 제거 → 서버와 클라이언트의 Wireshark를 실행하고, 웹 브라우저로 서버의 IIS에 접속

※ MAC 주소와 IP 설정

실습 3-3 네트워크 계층 패킷 분석하기

2

Page 34: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

34/42

패킷 분석 : 서버와 클라이언트에서 캡처한 패킷 목록

실습 3-3 네트워크 계층 패킷 분석하기

4

Page 35: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

35/42

4-1 클라이언트에서 라우터로 전송된 SYN 패킷

4-2 라우터에서 서버로 전송된 SYN 패킷

실습 3-3 네트워크 계층 패킷 분석하기

Page 36: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

36/42

4-3(1) 서버에서 라우터로 전송된 SYN+ACK 패킷

4-3(2) 라우터에서 클라이언트로 전송된 SYN+ACK 패킷

실습 3-3 네트워크 계층 패킷 분석하기

Page 37: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

37/42

패킷 내용 확인 : 맨 위 창에서 패킷을 하나 선택한 후 가운데 창에서 ‘Ethernet II ~’

로 시작하는 행을 선택하면 맨 아래 창의 일부분이 강조됨(전기 신호로 전달되는 패킷의 2

계층 정보의 실체). 3계층과 4계층의 패킷도 가운데 창에서 ‘Internet Protocol ~’과

‘Transmission Control ~’ 부분을 각각 선택하여 확인 가능

실습 3-4 계층별 패킷 분석하기

• IP 공유기에 연결된 클라이언트(윈도우 XP)와 서버 시스템(윈도우 서버 2003, IIS 설치)

• 필요 프로그램 : Wireshark(서버와 클라이언트에 각각 설치)

실습환경

1

Page 38: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

38/42

마지막으로 7계층 정보인 HTTP 패킷의 부분을 제외한 패킷의 마지막 부분 확인

실습 3-4 계층별 패킷 분석하기

Page 39: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

39/42

2계층 이더넷 패킷 헤더 분석

실습 3-4 계층별 패킷 분석하기

2

Page 40: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

40/42

3계층 IP 패킷 헤더 분석

실습 3-4 계층별 패킷 분석하기

3

Page 41: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

41/42

4계층 TCP 패킷 헤더 분석

7계층 HTTP 패킷 헤더 분석

실습 3-4 계층별 패킷 분석하기

4

5

Page 42: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

영동대학교 스마트IT학부: 컴퓨터와 해킹

이호준 [email protected]

Whois와 DNS 조사

Page 43: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

43/25

Contents

학습목표

Whois 서버가 무엇인지 알고, 이용할 수 있다.

DNS 서비스를 이해한다.

DNS 서버의 구조와 동작 원리를 이해한다.

DNS 서버의 취약점을 이해하고, 이를 이용해 정보를 획득할 수 있다.

내용

Whois 서버

hosts 파일과 DNS에 대한 이해

DNS의 동작에 대한 이해

DNS를 이용한 정보 습득

Page 44: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

44/25

Whois 서버 탄생 배경 인터넷이 ARPANET으로부터 분리될 당시에는 DARPA가 유일한 도메인 관리 기관

도메인은 1984년에 만들어진 RFC 920에 따라 등록

1993년에 도메인 등록 및 관리의 책임이 DARPA에서 InterNIC으로 이전되고, 1999년에는 다시 ICANN으로 이전

Whois(후이즈)는 비슷한 시기에 도메인을 확인하고, 도메인과 관련된 사람과 인터넷의 자원을 찾아보기 위한 프로토콜로 만들어짐

Whois 서버로 얻을 수 있는 정보 등록, 관리 기관

도메인 이름, 도메인 관련 인터넷 자원 정보

목표 사이트 네트워크 주소와 IP 주소

등록자, 관리자, 기술 관리자의 이름 및 연락처, 이메일 계정

레코드 생성 시기와 갱신 시기

주DNS 서버와 보조DNS 서버

IP 주소의 할당 지역 위치

Whois 서버

Page 45: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

45/25

지역별 Whois 서버 목록(표 4-1)

Whois 서버

Page 46: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

46/25

Whois 서버 접속 : ws.arin.net 서버의 Whois 쿼리 입력

정보 획득 대상 확인 : ws.arin.net 서버에서 구글에 대한 Whois 서버 검색

실습 4-1 Whois 서버를 이용해 정보 획득하기

인터넷이 연결된 클라이언트 시스템(윈도우 XP)

실습환경

1

2

클릭

선택한 서버의 정보 확인

Page 47: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

47/25

실습 4-1 Whois 서버를 이용해 정보 획득하기

Whois 서버의 다른 이용법 : john이라는 이름과 관련된 Whois 서버 정보 검색

n john

3

Page 48: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

48/25

이름의 해석 DNS가 만들어지기 전에는 PC의 hosts 파일에 ‘별명’같은 명칭을 IP 주소와 매칭시

켜 인터넷 사용

hosts 파일은 각자가 임의로 정한 별명을 사용하기 때문에 사용자마다 해당 IP를 다른 명칭으로 부를 수 있음

DNS는 이러한 별명을 하나의 공통된 명칭으로 바꾸었는데, 그것이 www.hanb.co.kr과 같은 형태의 도메인 이름

hosts 파일에 대한 이해 리눅스는 /etc/hosts, 윈도우 계열 시스템은 (윈도우 운영체제 설치 디렉토리

)\system32\drivers\etc\hosts

hosts 파일 기본 구조

hosts 파일

Page 49: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

49/25

DNS(Domain Name System) 개념 트워크의 숫자로 구성된 주소(IP 주소)를 사람이 이해하기 쉬운 명칭(도메인 이름)으로

상호 매칭시켜주는 시스템

DNS에 대한 이해

Page 50: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

50/25

DNS 계층 구조(1) 가장 상위 개체는‘.(루트, root)’

두 번째 개체는 국가와 조직체의 특성(표 4-3)

• 두 번째 개체가 국가 이름이면 세 번째 개체는 조직 특성이 세 번째 개체. 고유한 조직 이름이 오면 보통 맨 앞에 자신의 DNS 서버에서 지정해놓은 www, ftp 같은 특정 서버의 이름이 옴

www.wishfree.co.kr처럼 완성된 이름을 FQDN(Fully Qualified Domain Name)

DNS에 대한 이해

Page 51: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

51/25

DNS 계층 구조(2)

DNS에 대한 이해

Page 52: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

52/25

도메인 등록 : ping 명령으로 해당 도메인의 IP 확인 후 ‘C:\Windows\system32\ drivers\etc\hosts’ 파일에 등록

1-1 www.hanb.co.kr에 대한 ping 수행 ping www.hanb.co.kr

1-2 hosts 파일에 도메인 등록

실습 4-2 hosts 파일을 이용해 이름 해석하기

인터넷이 연결된 클라이언트 시스템(윈도우 XP)

실습환경

1

Page 53: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

53/25

실습 4-2 hosts 파일을 이용해 이름 해석하기

hosts 파일 동작의 확인 2-1 한빛미디어에 대한 ping 수행 ping 한빛미디어

2-2 한빛미디어 사이트에 접속

2

Page 54: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

54/25

실습 4-2 hosts 파일을 이용해 이름 해석하기

잘못된 이름 해석 입력 : hosts 파일에 잘못된 주소 등록 후 접속 시도

2218.237.200.200 www.hanb.co.kr

3

Page 55: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

55/25

운영체제별 DNS 서버 등록 리눅스 : /etc/resolv.conf 파일에 DNS 서버 입력 가능

윈도우 : [인터넷 프로토콜(TCP/IP) 등록 정보]에서 설정

DNS에 동작에 대한 이해

Page 56: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

56/25

현재 이용 중인 DNS 서버 확인 ipconfig /all

DNS에 동작에 대한 이해

Page 57: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

57/25

DNS 서버로부터 도메인 이름에 대한 IP 주소를 얻는 순서

DNS에 동작에 대한 이해

Page 58: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

58/25

DNS 서버로부터 도메인 이름에 대한 IP 주소를 얻는 순서

○클라이언트가 www.wishfree.com에 접속하기 위해 이 사이트의 IP 주소가 캐시에

존재하는지 확인한다. 과거에 접속한 사이트는 캐시에 정보가 남아 바로 접속할 수 있다

. 캐시에 IP 주소 정보가 없으면 hosts 파일을 다시 참조한다. hosts 파일에 임의의 사

이트에 대한 IP 주소를 설정해줄 수 있다.

① hosts 파일에도 없으면 시스템에 설정된 DNS 서버인 로컬 DNS 서버에 질의한다.

② 로컬 DNS 서버에 해당 정보가 없으면 루트 DNS 서버에 질의를 보낸다.

③ 루트 DNS에 www.wishfree.com에 대한 정보가 없으면 com을 관리하는 DNS 서

버에 대한 정보를 보내준다.

④ 로컬 DNS 서버는 com에 대해 www.wishfree.com에 다시 질의한다.

⑤ com DNS 서버는 해당 정보가 없을 경우 다시 wishfree.com에 질의하도록 로컬

DNS 서버에 보낸다.

⑥ 로컬 DNS 서버는 마지막으로 wishfree.com의 DNS 서버에 질의한다.

⑦ wishfree.com의 DNS 서버로부터 www.wishfree.com에 대한 IP 주소를 얻는다.

⑧ 해당 IP 주소를 클라이언트에 전달한다.

DNS에 동작에 대한 이해

0

Page 59: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

59/25

윈도우에서 캐시된 DNS 정보 확인과 삭제 DNS 정보 확인 : ipconfig /displaydns

윈도우에 캐시된 DNS 정보 삭제 : ipconfig /flushdns

DNS에 동작에 대한 이해

Page 60: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

60/25

부 DNS 서버는 주 DNS 서버로부터 존에 대한 정보를 전송받아 도메인정보 유지

DNS 서버의 기본 보안 문제는 존이 전송되는 대상을 부 DNS 서버로 제한하지 않은 데서 발생 부 DNS 서버로만 전달되어야 할 존 정보를 해커가 획득하는 것

윈도우에서 특정 DNS에 대한 영역 전송 설정 [영역 전송] 탭에서 확인

윈도우 서버 2003의 영역 전송 허용의 기본 값은 ‘이름 서버 탭에 나열된 서버로만’ 윈도우 2000은 아무 서버로

윈도우 서버 2003 보안성>윈도우 2000 보안성

그대로 사용 or 다음 서버로만에 부 DNS 서버 입력

DNS를 이용한 정보 습득

Page 61: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

61/25

리눅스에서 특정 도메인에 대한 영역 전송 설정 /etc/named.conf에서 설정

일부 서버에만 존 전송으로 설정

일부 존에 대한 전송 규제

DNS를 이용한 정보 습득

Page 62: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

62/25

nslookup 실행과 DNS 설정

1-1 nslookup 명령 실행

nslookup

1-2 기본 DNS 서버 변경 : 형식은 server ***.***.***.*** server 168.126.63.1

실습 4-3 DNS 서버 검색을 이용해 정보 습득하기

인터넷이 연결된 클라이언트 시스템(윈도우 XP)

실습환경

1

Page 63: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

63/25

실습 4-3 DNS 서버 검색을 이용해 정보 습득하기

도메인 정보 수집 : 정보를 알고 싶은 특정 도메인 이름 입력

2-1 www.google.co.kr에 대한 DNS 룩업(lookup) www.google.co.kr

2-2 www.google.co.kr의 DNS 서버 목록 확인 ➊ set type=ns ➋ google.co.kr

2

Page 64: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

64/25

실습 4-3 DNS 서버 검색을 이용해 정보 습득하기

2-3 google.co.kr에 대해 등록된 모든 DNS 레코드 확인 ➊ set type=all ➋ google.co.kr

Page 65: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

65/25

실습 4-3 DNS 서버 검색을 이용해 정보 습득하기

set type 명령으로 확인할 수 있는 DNS의 레코드(표 4-4)

2

Page 66: OSI 7계층과 네트워킹 - WordPress.com · 2012-09-16 · TCP가 가진 주소를 포트(port)라 ... 끝나면, Wireshark 중단 패킷 분석 : 클라이언트의 Wireshark에

영동대학교 스마트IT학부: 컴퓨터와 해킹