블로그 이미지
22Hz 22Hz

카테고리

분류 전체보기 (109)
모의해킹 침해대응 전문가 과정 (99)
리눅스 설정 (10)
Total
Today
Yesterday

달력

« » 2025.7
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

 


  네트워크(Network) 이론
  - OSI 7 Layer & TCP/IP 5 Layer

 

 

INDEX
------------------------------------
1.   네트워크 개요
2.   OSI 7 Layer
3.   TCP/IP 5 Layer
------------------------------------

 

 

1
 개요(Overview)

 

(1) 표준화와 네트워크 표준 기구(Networking Standards Organizations)

표준화(Standard)
● 기술적인 특성 또는 명확한 표준의 보장을 포함하여 승인된 내용을 문서화 하는것이다.
● 특정 제품 또는 특정 서비스가 설계되고 수행된다.(최소 허용 성능을 정의)
● 많은 서로 다른 조직들이 컴퓨터 산업 표준을 이끌어 내고 있다.[참고] 대표적인 산업표준 기구

■ 대표적인 산업 표준 기구들

ANSI(American National Standards Institute)
● 수천의 산업, 정보기관 대표자들로 구성되어 있다.
● 미국 내의 규격이지만, ISO에 앞서서 제정되는 경우도 많으며, ANSI 표준이 ISO 표준이 되기도 한다.

EIA(Electronic Industries Alliance)
● 미국의 Washington DC에 본부를 두고 있는 전자 산업 연합
● 통신 조건의 표준화를 위한 만들어진 전자 제품 생산자들의 모임
● 직렬 통신 장치 사이의 연결을 위하여 사용되는 RS232-C에 대한 표준은 EIA의 대표적인 업적이다.
● 이들에 의해 제정된 통신 전송방식을 말하기도 한다.

TIA(Telecommunications Industry Association)
● 1988년 미국전화공급자 협회와 미국전자공업협회(EIA)의 정보 통신 기술 그룹(ITG)이 합병하여 설립된 협회
● EIA의 전기 통신부로서 활동하고 있다.
● 표준화의 초점이 정보기술(IT), 무선, 위성통신, 광케이블, 전화장치에 있다.

IEEE(Institute of Electrical and Electronics Engineers)
● 전기전자공학 전문가들의 국제조직이다.
● 국제 사회의 엔지니어링 전문가들로 구성되어 있다.
● 미국의 뉴욕에 위치하고 있다.
● 2004년 현재 150개국 35만명의 회원으로 구성된 전기전자 공학에 관한 최대 기술 조직으로 주요 표준 및 연구 정책을 발전시키고 있다.

ISO(International Organization for Standardization)
● 국제표준화 기구
● 국제 표준화 기구는 1947년에 설립되었으며, 146여개 나라에서 온 대표자들로 구성된 국가표준화 기구의 세계적인 연합체이다.
● ISO가 육성하는 표준들 가운데 하나인 OSI는 통신 프로토콜의 보편적인 참조 모델이다. 많은 나라들이 ANSI 등과 같은 국가 표준화 기구를 가지고 있으며, 이들은 ISO의 표준안 작성에 참여하고 기여한다.

ITU(International Telecommunication Union)
● 국제 전기통신연합
● 국제 전송 규정- 라디오, TV 주파수- 적외선, 전화기 특성- 네트워킹 인프라- 국제적인 통신에 적용되는 관세율
● 전형적으로 산업표준을 성문화하는 것이 아니라 국제적인 전송 규정에 관여한다.

 

 


(3) 프로토콜(Protocol)

  프로토콜 = 통신 규약
  프로토콜 : 데이터형식(syntax), 의미(semantics), 순서/속도(sequence)

(3.1) 프로토콜의 이해

● 네트워크 통신을 위한 규약과 처리절차
● 통신을 위해서 컴퓨터는 프로토콜 기준을 맞추어야 한다.
● 프로토콜 형태- 비접속 지향형(Connectionless)- 접속 지향형(Connection-Oriented)- 라우팅형(Routable)- 비라우팅형(Nonroutable)

(3.2) 프로토콜의 기능

● 각각의 모든 프로토콜은 서로 다른 기능과 목적을 가진다.
● 프로토콜은 1계층 내지 그 이상의 계층에서 동작한다.
● 프로토콜 스택 또는 프로토콜 슈트는 협력하여 동작하기 위한 프로토콜의 묶음이다.
● 대다수 공통적인 프로토콜 스택은 TCP/IP이고 인터넷을 위한 거의 대다수 운영체제에서 사용된다.

 


2
 OSI 7 Layer(OSI 7 Model)

 

■ OSI 7 Layer(OSI 7 Model)

● OSI(Open Systems Interconnection) Model국제 표준화 기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하고 있다.
● 계층(Layer)의 종류- 물리적 계층(Physical Layer)- 데이터링크 계층(Datalink Layer)- 네트워크 계층(Network Layer)- 전송 계층(Transport Layer)- 세션 계층(Session Layer)- 프레젠테이션 계층(Presentation Layer)- 응용 계층(Application Layer)
● 각 계층에서 독립적인 프로토콜이 동작한다.
● 이 모델은 프로토콜을 기능별로 나눈것이다.
● 일반적으로 하위 계층은 하드웨어로 상위 계층은 소프트웨어로 구현된다.


(1) 7계층 응용 계층(Application Layer)
● 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
● 응용계층 프로토콜의 종료 예- SMTP(Simple Mail Transport Protocol)- FTP(File Transfer Protocol)- SNMP(Simple Netowrk Management Protocol)- HTTP(Hypertext Transfer Protocol)- API(Application Program Interface)


(2) 6계층 - 표현 계층(Presentation Layer)
● 네트워크가 요구하는 포맷과 컴퓨터가 요구로하는 포맷간의 데이터를 번역한다.- 프로토콜 전환- 데이터 전환(Encrypt/Decrypt)- 압축과 암호화- 문자집합 변환- 그래픽 명령어의 해석


(3) 5계층 - 세션 계층(Session Layer)
● 분리된 컴퓨터 상에서 애플리케이션이 세션이라는 연결을 공유하는 것을 허용한다.
● 통신하는 두 프로세스간의 대화를 제어하고, 통신 중에 어느 지점에서 전송을 하고 우가 수신을 할 것인지를 결정
● 데이터 동기화와 네트워크오류 이벤트 검사, 오류가 발생한 지점 이후의 데이터만 재전송 보장
● 동시 송수신 방식(Duplex), 반이중 방식(Half Duplex), 전이중 방식(Full Deplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정등을 수행
● TCP/IP 세션을 만들고 없애는 책임을 진다.


(4) 4계층 - 전송 계층(Transport Layer)
● 패킷이 차례로 손실이나 중복 및 에러 없이 전송되는 것을 보장
● 커다란 메세지를 세션 계층으로 부터 목적지 컴퓨터에 전송되는 작은 패킷으로 쪼개고 세션 계층에 나타나는 메세지로 패킷을 다시 조합(Fragmentation & Reassembly)
● 시퀀스 넘버 기반의 오류 제어 방식을 사용한다.


(5) 3계층 - 네트워크 계층(Network Layer)
● 논리적인 주소를 물리적인 주소로 번역한다.
● 논리적으로 독립된 네트워크간의 통신을 유지하는 역할을 수행
● 회로, 메세지, 패킷 교환
● 라우트 발견과 라우트 선택
● 접속 서비스, 네트워크 계층 플로우 컨트롤, 네트워크 계층의 에러제어, 패킷 순서 관리
(6) 2계층 - 데이터링크 계층(Data Link Layer)
● 하나의 장치로 부터 다른 장치로의 신호를 통한 데이터의 흐름을 제공
● 네트워크 계층으로 부터 패킷을 받아서 송신을 위한 물리적인 계층에 보내질 프레임이라는 데이터 단위에 정보를 패키징
● 두가지 하위 계층이 존재- Logical Link Control  통신 장치간의 연결을 설정하고 관리하는 책임- Media Access Control  다중 장치가 같은 미디어 채널을 공유하는 제어(Block ID + Device ID)


(7) 1계층 - 물리 계층(Physical Layer)
● 단순히 한 컴퓨터로 부터 다른 컴퓨터로 비트를 전송하는 책임
● 물리적인 정보 전달 매개체에 대한 연결의 성립 및 종료
● 패시브 허브, 단순한 액티브허브, 연결자, 케이블, 커넥터, 전송기, 수신기, 송수신기가 속함

 

 

 

비트신호 맥 아이피 포트 세션 암호화 사용자에게 보여준다

 

 

3
 TCP/IP 5 Layer(TCP/IP Model)

 

(1) TCP/IP 모델(TCP/IP 5 Layer) 개요

TCP/IP 5 Layer             Protocol
===================+==================================
Application                DNS, DHCP, NTP, IPFilter    -> DNS, DHCP, NTP, Firewall
===================+==================================
Transport                  TCP, UDP                    -> Port Admin
===================+==================================
Internet                   ICMP, IGMP,                 -> IP Admin
   IPv4, IPv6
   ARP, RARP
===================+==================================
Network Interface                                      -> Ethernet(CSMA/CD), Packet, MAC Admin
===================+==================================
Hardware                   Transmission Media(IEEE)    -> LAN Cable
===================+==================================

 

 


[참고] RFC(Request for Comments) 문서 검색 방법
http://www.ietf.org/rfc.html
http://www.ietf.org/rfc/rfcNNNN.txt   (NNNN is RFC number)

 

 

(3). TCP/IP Model 구성
 
TCP/IP 모델은 Application, Trasport, Internet, Network Interface, H/W 계층으로 구분 된다. Application 계층에서 생성되는 데이터를 메세지(Messages)라고 한다. Transport 계층에서 생성되는 데이터는 세그먼트/데이터그램(Segment/Datagram)라고 한다. 세그먼트/데이터그램은 상위 계층에서 내려오는 메세지에 Transport 헤더(Header)를 덧 붙이게 된다. 만약 TCP Header를 붙이게 되면 TCP Segment 라고 부르고, UDP Header가 붙게 되면 UDP Datagram이라고 부른다. Transport Header에 들어 가는 중요한 정보는 Port 번호(출발지/목적지)이다. Internet 계층의 데이터는 데이터그램이라고 하고, 상위해서 내려오는 세그먼트/데이터그램을 최대전송단위(MTU, Maximum Transfer Unix)로 쪼개어서 각각에 헤더를 붙이게 된다. Internet Header에 들어가는 중요한 정보는 IP(출발지/목적지)이다. Network Interface 계층에서 생성되는 데이터를 Packet/Frame이라고 하고, 상위에서 내려오는 데이터그램에 헤더(Header)와 테일(Tail)를 붙이게 된다. Network Interface 계층의 Header에 들어가는 중요한 정보는 MAC(출발지/목적지)주소이다. Network Interface 계층의 Tail 부분에 붙는 정보를 CRC 코드라고 한다. 이 코드를 통해 패킷(또는 프레임)의 데이터 통신상의 무결성을 점검하게 된다. Hardware 계층에서 생성되는 데이터를 Signal/Bits라고 부르고, 상위의 Packet/Frame을 bits로 환산하여 전송하게 된다. 상대방 호스트는 이 패킷을 받게 되면 역으로 데이트를 복원하는 과정을 수행한다.
 
▪ Application Layer
▪ Transport Layer
▪ Internet Layer
▪ Network Interface Layer
▪ Hardware Layer
 

 |--------------------|
 | Application        |          Mesg.   Mesg.              Domain Addr.       
 |--------------------|
 | Transport          |        H+Mesg.   Segment/Datagram   Port Addr.  2Bytes
 |--------------------|
 | Internet           |      H+Segment   IP Datagram        IP Addr.    4Bytes
 |--------------------|
 | Network Interface  |    H+Datagram+T  Packet/Frame       MAC Addr.   6Bytes
 |--------------------|
 | Hardware           |                  Signal/bits
 |--------------------|

 
            [그림] 각 계층의 생성 데이터이름과 헤더의 중요한 정보
 

 
     [HOSTA]                                                       [HOSTB]
# telnet HostB 23 --------------------------------------------> in.telnetd(23)
IP        : IP1                     IP   : IP2                  IP        : IP3
MAC      : MAC1                    MAC  : MAC2                 MAC       : MAC3

|--------------------|                                |--------------------|
| Application        |                                        | Application        |
|--------------------|              [ROUTER]                  |--------------------|
| Transport          |                                        | Transport          |
|--------------------|    |--------------------|          |--------------------|
| Internet           |    | Internet           |          | Internet           |
|--------------------|       |--------------------|          |--------------------|
| Network Interface  |        | Network Interface  |          | Network Interface  |
|--------------------|        |--------------------|          |--------------------|
| Hardware           |        | Hardware       |          | Hardware           |
|--------------------|        |--------------------|          |--------------------|
           |                        |         |                          |
           +------------------------+         +-------------------------+
 
                   [그림] 호스트 대 호스트 통신(Peer to peer communication)
 

 

 

 

 

4
 네트워크 인터페이스 계층(Network Interface Layer)

 

TCP/IP Network Interface Layer에서 사용하는 것은 Ethernet을 사용하고 있고, 전송방식으로는 CSMA/CD 방식을 사용한다. LAN(Ethernet)에서 통신할때 필요한 중요한 요소로서 (a)랜전송매체(LAN Media), (b)이더넷(Ethernet), (c)CSMA/CD 방식등이 존재한다. LAN에서 통신할 때 사용하는 주소를 MAC 주소라 한다. MAC 주소는 물리적주소(Physical Address) 또는 이더넷 주소(Ethernet Address)라고도 불린다.
 
■ LAN 오브젝트(LAN Object)
         ■ 토폴로지(Topologies) => Start 토폴로지
         ■ LAN 전송 매체(Transmission Media) => (유선) UTP5E(1000BASE-T)
         ■ 이더넷(Ethernet) => Ethernet S/W
         ■ CSMA/CD 방식
         ■ Frame/Packet
         ■ MAC 주소 관리 (Addr. Management)
 
 

(1). 네트워크 토폴로지
 
이더넷상에서 네트워크의 구성 방식에 따라 여러가지 다음과 같은 토폴로지로 구분한다.
 
■ 네트워크 토폴로지의 종류(Network Topologies)
         ■ Bus Topologies          Dummy Hub 사용하는 경우
         ■ Star Topologies         Switching Hub 사용하는 경우
         ■ Ring Topologies         Token Ring Hub 사용하는 경우
         ■ VLAN Topologies         Virutal LAN 사용하는 경우
 

(2). 랜 전송 매체(LAN Media, LAN Cable)
 
LAN상에서 호스트 간에 연결을 위해 사용되며, 호스트에서 허브의 일반포트로 연결되는 케이블을 나타낸다. TCP/IP에서는 케이블(Cable)에 대한 규약이 없다. 일반적으로  IEEE에서 제정한 표준을 사용하고 있다.

[참고] 케이블 제작 방법(http://blog.daum.net/kmjhj/9601104?nil_profile=tot)
       - (ㄱ) Cross Cable, (ㄴ) Direct Cable, (ㄷ) Console Cable


 
랜 전송 매체
■ 일반적으로 나누는 방식(EX: UTP CAT5e.)
■ IEEE에 정의된 표준으로 나누는 방식(EX: 1000BASE-TX)
 
 
1. 이더넷 주요소(Ethernet, DIX 표준)

미국의 제록스(Xerox Corporation), 미니컴퓨터 제조회사인 디지털이퀴프먼트와 반도체 제조회사인 인텔(Intel Corporation)이 공동으로 개발하여 1980년에 상품화하고 특허를 받았다. LAN은 컴퓨터 제조회사가 각기 나름대로 개발하고 있으나 LAN의 국제표준화를 추진하고 있는 미국전기전자기술자협회(IEEE, 802.3 Ethernet Standards)의 표준방식의 하나로서 채용되고 있다. 이더넷은 데이터 전송을 위해 다음과 같은 내용의 CSMA/CD(carrier sense multiple access with collision detection) 방식을 사용한다. 데이터를 보내려는 컴퓨터가 먼저 통신망이 사용 중인지 아닌지 검사한 후에 비어 있을 때 데이터를 보낸다. 통신망이 사용 중이면 일정시간을 기다린 후 다시 검사한다. 통신망이 사용 중인지는 전기적인 신호로 확인할 수 있다. 만약 두 대의 컴퓨터가 동시에 검사하여 통신망이 사용 중이지 않다는 것을 확인하고 동시에 전송하게 되면 충돌이 발생한다. 이런 경우에 대비해서 데이터를 전송한 컴퓨터는 자신의 데이터가 손상되지 않았는지를 확인하여 손상이 있으면 다시 전송하게 된다. 이때 두 컴퓨터의 재전송이 동일한 시간 후에 일어나면 다시 충돌이 발생하므로 재전송 시간은 일정한 방법에 의해 변경된다.
 
이더넷에서 주요소로서 프레임이라 불리는 패킷과 전송방식으로 CSMA/CD 방식, 그리고 전송매체이다.
 
이더넷의 중요한 요소
▪ Ethernet packets are called frames
▪ The Ethernet access method, CSMA/CD
▪ Hardware cable
 
 
 
2. CSMA/CD(Carrier Sense Mutiple Access/Collision Detection) 방식
 
CSMA/CD 방식은 세그먼트 내에 여러개의 호스트가 동시에 반송자(Carrier)를 통해 다중으로 접근할 수 있다. 하지만 이 경우 각 호스트는 세그먼트를 감지(Sense)하고 있다가 다중 접근을 감지한 시스템이 재밍 시그널(Jam Signal)을 보내면 세그먼트의 터미네이터(Terminator)가 세그먼트를 초기화 하고 각 호스트는 일정한 시간동안 쉬었다가 자신의 데이터를 재 전송하는 방식이다.

 

(1). 이더넷 주소(Ethernet Address)의 종류

이더넷에서 패킷을 수신하는 시스템을 명시할때 사용하는 주소는 패킷을 수신할 시스템을 명시하는 방법에 따라 세 가지로 구분한다. 한 시스템을 수신처로 명시하는 유니캐스트(Unicast Address), 모든 시스템을 수신처로 명시하는 브로드캐스트(Broadcast Address),몇몇 시스템을 수신처로 명시하는 멀티캐스트(Multicast Address)이다.

■ 이더넷 주소(Ethernet Address)
= MAC Address(Media Access Control Address)
= Physical Address

이더넷 주소 종류(Ethernet Addresses Type)
● Unicast Addresses  (예: 08:00:20:XX:XX:XX)=> CID(Company ID) + VID(Vendor ID).
● Broadcast Addresses(예: FF:FF:FF:FF:FF:FF)
● Multicast Addresses(예: 01:00:5e:00:00:01, 224.0.0.1)
 
[참고] Multicast Addresses (MAC)
01:00:5e(3Bytes) + IP 주소(3Bytes,예: 224.0.0.1-> 0.0.1)
===> 01:00:5e:00:00:01

[참고] MAC 주소 목록 찾기
MAC 주소 목록 찾기 -> http://www.coffer.com/mac_find 에서 MAC 주소 검색
MAC 주소 목록 찾기 -> http://www.iana.org/assignments/ethernet-numbers
MAC 주소 목록 찾기 -> http://standards.ieee.org/regauth/oui/oui.txt
MAC 주소 목록 확인 -> http://blog.naver.com/levelup5?Redirect=Log&logNo=100013936710
 

 

[실습] MAC 주소(CID) 검색하기
http://www.coffer.com/mac_find
● 여러가지 회사의 MAC CID(Company ID)를 검색하여 정리한다.(EX: VMware, Intel, CISCO)

 

[실습] 이더넷 프래임(패킷)의 구조를 확인
● wireshark 사용
● win2008(windows 2008) <---> linux200(centos 5.10) 사용

 

 

 

 


 
 


7
 ARP(Address Resolution Protocol)


 
ARP(주소 변환 프로토콜, Address Resolution Protocol)는 IP 네트웍 상에서 IP 주소를 물리적 네트웍 주소로 대응시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트웍 주소라 함은 이더넷 또는 토큰링의 48 bits 네트웍 카드주소를 의미한다.
 
예를 들어, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송고자 할 때 IP 호스트 B의 물리적 네트웍 주소를 모르는 경우, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트웍 주소 FF:FF:FF:FF:FF:FF를 가지는 ARP 패킷을 네트웍 상에 전송한다. IP호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트웍 주소를 A에게 응답한다.

이와 같은 방식으로 수집된 IP 주소와 이에 해당하는 물리적 네트웍 주소 정보는 각 IP 호스트의 ARP 캐시라 불리는 메모리에 테이블 형태로 저장된 후 다음 패킷 전송시에 다시 사용된다. ARP와는 역으로, IP 호스트가 자신의 물리 네트웍 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해서는 RARP를 사용한다.
 

■ IP -> MAC

 
(1). ARP 동작
 
ARP 프로토콜은 통신할때 항상 사용하는 것이다. 같은 네트워크 안에서 두대의 서버는 통신하게 된다. ServerA가 ServerB와 통신하기 위해서는 ServerB의 MAC 주소를 알아야만 한다. 그래서 ARP을 통해서 통신하기 전에 ServerB의 MAC 주소를 얻어 온다. ServerB의 MAC주소를 알게되면 다음에 또 사용할것을 대비해서 ARP 캐쉬 테이블(ARP Cache Table)에 기록하게 되고 캐싱된 것을 가지고 또 통신하는 경우 사용하게 된다.
 
ARP 동작 과정은 다음과 같다.

 ----+-----------------------+-------
     |                       |
     |                       |
 [Server A]             [Server B]
 # telnet B

(a). ARP cache table 확인
(b). ARP Request(Broadcast)
(c). ARP Reply(Unicast)
(d). ARP cache table 저장


  [그림] ARP 프로토콜 동작
 


[실습] ARP 프로토콜의 동작 원리를 확인
● win2008 --> linux200
● linux200 --> win2008

 


(2). ARP 패킷 분석
 
(참고) IT 용어 정보  """""아래 사이트를 반드시 참고해 주세요""""""
- 정보통신기술용어해설(www.ktword.co.kr)
- 용어 확인(www.terms.co.kr)


                                                           +-----------------+
                                                           |                 |
                                                           | ICMP/IGMP       |
                                                          |                 |
                                                           |  IP(IPv4,IPv6)  |
         +----------+-----------+-------------+            |                 |
         |               ARP                  |            |       ARP/RARP  |
         +----------+-----------+-------------+            |                 |
                                                           +-----------------+
+--------+----------+-----------+-------------+--------+   |                 |
| Ether  |               ARP                  | CRC(4) |   |Network Interface|
| Header |                                    |        |   |                 |
+--------+----------+-----------+-------------+--------+   +-----------------+

 
                    [그림] ARP Encapsulation in Ethernet II Frame

 


     0                   1                   2                   3  
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Ethernet Destination Address (Octet 0-3)          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Ethernet Destination Address   |Ethernet Source Address        |
    |(Octet 4-5)                    |(Octet 0-1)               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Ethernet Source Address (Octet 2-5)                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Ether Type                |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                        [그림] Ethernet Header

 


     0                   1                   2                   3  
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Hardware Type                  | Protocol Type               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Hardware Addr  |Protocol Addr  | Operating Code           |
    |Length         |Length         |                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            Sender Hardware Address (Octet 0-3)                |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Sender Hardware Address        |Sender Protocol Address         |
    |(Octet 4-5)                    |(Octet 0-1)                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Sender Protocol Address        |Target Ethernet Address         |
    |(Octet 2-3)                    |(Octet 0-1)                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             Target Ethernet Address (Octet 2-5)               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             Target Protocol Address (Octet 0-3)               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    [그림] ARP Header
 
[실습] ARP 패킷을 캡쳐하고 분석
● Ethernet Header의 모양을 확인하고 저장한다.- win2008(windows 2008) 에서 실습- linux200(centos 5.10)에서 실습


[실습] 이더넷 주소를 임시적으로 바꾸기
● win2008(windows 2008) 에서 실습
● linux200(centos 5.10) 에서 실습

 

 

■ ARP Poisoning (ARP Spoofing)

● ARP(Address Resolution Protocol) 프로토콜은 네트워크 상에서 IP 주소를 MAC 주소와 대응하기 위해 사용된다.
● 예를 들어, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하고자 할 때 IP 호스트 B의 MAC 주소를 모르는 경우, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를 가지는 ARP 패킷을 네트워크 상에 전송한다.
● IP 호스트 B는 자신의 IP주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 MAC 주소를 A에게 응답한다.
● 이와 같은 방식으로 수집된 IP주소와 이에 해당하는 MAC 주소 정보는 각 IP 호스트의 ARP Cache라불리는 메모리에 데이블 형태로 저장된 후 다음 패킷 전송시에 다시 사용된다.
● 원격의 공격자는 알려진 IP에 대해 잘못된 MAC 주소를 계속 발생시켜 ARP cache가 잘못된 정보를 저장하도록 하여 로컬네트워크 상에서 서비스 거부 공격을 발생시킨다.


[참고] 속이기(Spoofing)
● 스푸핑(Spoolfing)이란 속이다라는 의미이다.
● IP주소, 호스트이름, MAC 주소등 여러가지를 속일수 있으며, 스푸핑은 이런 속임을 이용한 공격을 총칭하는 명령이다.
● ARP 스푸핑, IP 스푸핑, DNS 스푸핑, DHCP 스푸핑등이 있다.
● 인터넷이나 로컬에서 존재하는 모든 연결에 스푸링이 가능하며, 정보를 얻어내는 것 외에도 시스템을 마비시키는 것도 가능하다.
● 흔히 일어나는 IP 충돌 문제 역시 고의가 아닌 IP 스푸핑이라고 생각할 수도 있다.


[참고] 스푸핑에 대해서
● ARP Spoofing :
● IP Spoofing  :
● DNS Spoofing : ARP Spoofing > Fakeweb > FakeDNS
● DHCP Spoofing:

IP Spoofing Attack : 신뢰관계에(Trusted) 있는 A와 B가 있으면, Attacker가 A에 DoS 공격을 시도해서 서비스를 마비시키고 B와의 TCP 연결에 위조신호를 보내서 세션을 가로채는 공격

■ ARP Spoofing
● 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주소에 대한 2계층 MAC 주소를 공격자의 MAC 주소로 속여 클라이언트가 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷을 중간에서 가로채는 공격이다.
● 공격자는 이 패킷을 읽고 확인한 후 정상적인 목적지로 향하도록 다시 돌려 보내 연결이 끊어지지 않고 연결되도록 유지한다.

----------+-------------+-------------+--------------
          |             |             |
        HostA        Hacker         HostB
        - IP1        - IP2          - IP3
        - MAC1       - MAC2         - MAC3

 * Ethernet Hub
 * Ethernet Switch


[실습] ARP 스푸핑을 실습


[토론] ARP 스푸핑을 막을 수 있는 방법에 대해서
● /etc/rc.local + /root/bin/arp.sh
● arpwatch.sh

 


 

'모의해킹 침해대응 전문가 과정' 카테고리의 다른 글

20160616 정보수집단계  (0) 2016.06.16
20160615 네트워크이론  (0) 2016.06.15
20160613 네트워크이론  (0) 2016.06.14
20160613 프로젝트#1 피드백  (0) 2016.06.14
20160603 프로젝트#1  (0) 2016.06.04
Posted by 22Hz
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함