웹 보안 및 네트워크보안 전문가

4일차, 2계층 Frame과 3계층 ARP 패킷분석

컴공 2013. 6. 14. 02:19
반응형

 

Protocol

Device

주소

 

4

Tcp,UDP

 

port

서비스간 연결보장

3

ICMP

Ip

arp

router

IP

종단간 연결보장

2

Switch, NIC

 

MAC...etc

노드간 연결보장

1

HUB

Cable

 

 

 

 

 

 

 

 

Arp먼저 보내고 icmp가 출발한다.
(Socket address = Port와 IP를 두개를 묶어서)

2

박성철 ---->인천공항 --->LA공항---->LA이모

 ip 할당된 장비들(노드) 연결을 보장한다.

1.RIT->다른동네
n/w D  n/m    g/w   interface
0.0.0.0 0.0.0.0 1.1.1.2 1.1.1.1
2.ICMP 8 0
Ip :s 1.1.1.1 d 4.4.4.2
Mac : s : A D:??? --->stop
3.arp출동
  1
s.M:A
S.I:1.1.1.1
D.M:0-----0
D.I:1.1.1.2

주자가 없으면 샤우팅한다.
라우터는 ARP 요청시 자기게 아니면 버린다.
4.ARP응답
   2
S.m:B
S.I:1.1.1.2
D.M:A
D.I:1.1.1.1
S.M:B

Gateway는 내 몸을 떠났을 때 처음 만나는 IP이다. 네트워크는 릴레이니까(1번주자는 2번 주자에게 주면 끝)
외부 안 나가면 없어서 그만이다.
ICMP
1.1.1.1
4.4.4.2 --ARP가 아니면 처리하려고 노력한다
A--버리고
B --버리고


다시 넘길때 인캡슐한다.
1.1.1.1
4.4.4.2--------- 2개는 버리지 않는다.
S.2 11111111//ppp니까 이렇게 단다 비행기 운전수
D:2 11111111

///Show interface e0하면 맥어드레스 보인다. Serial간에는 없다.
-------------------------

HDLC 2 - 3
DLCI번호가 2계층 주소로 쓰인다.
Inverse ARP (상대방의 DLCI번호를 모를 떄 보내는 것)를 보낸다.
응답하라
1111
4.4.4.2
10 --> C
20 --> ? --->stop!!! Inverse ARP호출

R3가 호스트에게 맥어드레스를 위해 ARP를 보낸다.
S.M: c /S.IP4.4.4.1
ARP헤더 내에 출발지와 목적지는 반드시 같은 네트웤 대역이여야 된다.
1111
4.4.4.2
C ---버린다.
FFFFFF로 보낸다

1111
4.4.4.2
10 --> C
20 --> D (CPU로부터 정보를 받고 보낸다)

ICMP
1.1.1.1
4.4.4.2 --ARP가 아니면 처리하려고 노력한다
A--버리고
B --버리고


다시 넘길때 인캡슐한다.
1.1.1.1
4.4.4.2--------- 2개는 버리지 않는다.
S.2 11111111//ppp니까 이렇게 단다 비행기 운전수
D:2 11111111

///Show interface e0하면 맥어드레스 보인다. Serial간에는 없다.
-------------------------

HDLC 2 - 3
DLCI번호가 2계층 주소로 쓰인다.
Inverse ARP (상대방의 DLCI번호를 모를 떄 보내는 것)를 보낸다.
응답하라
1111
4.4.4.2
10 --> C
20 --> ? --->stop!!! Inverse ARP호출

R3가 호스트에게 맥어드레스를 위해 ARP를 보낸다.
S.M: c /S.IP4.4.4.1
ARP헤더 내에 출발지와 목적지는 반드시 같은 네트웤 대역이여야 된다.
1111
4.4.4.2
C ---버린다.
FFFFFF로 보낸다

1111
4.4.4.2
10 --> C
20 --> D (CPU로부터 정보를 받고 보낸다)

2계층전달

이더넷 계열만 MAC을 이용하고 serial 구간에는 HDLC, PPP

 

1)라우팅 테이블확인
자기대역대인지 본다. 1.1.1.0
라우팅 테이블에서 1.1.1.0은 두번째에 있다.
그래서 arp를 출동시킨다.
2)encapsulation
Icmp 8 0
Ip 1.1.1.1 / s 1.1.130

3)arp출동
  1
S.IP 1.1.1.1
D.IP 1.1.1.130
S.M  A
D.M  ??-> 000000

라우터는 arp는 자기게 아니면 drop한다
Request time out

목적지를 모르기 때문에 ping이 안된다.

 

1)라우팅테이블
g/w 1.1.1.254 //게이트웨이는 라우팅되는 장비로 되어야 한다.

N/W D-

  N/M

     G

          I

0.0.0.0

 0.0.0.0

1.1.1.254

 1.1.1.130

127.0.0.1

255.0.0.0

 1.1.1.130

 1.1.1.130

1.1.1.128

255.255.255.128

1.1.1.130

1.1.1.130

 

 

 

 

ARP의 응답은 unicast이고 오직 CPU는 받는 CPU만 연산한다.
Broad로 C 맥어드레스를 알아오고 unicast로 응답받은 후 다시 ping을 R2로 보낸다.

R2- R1
ICMP 8 0
IP 1.1.1.130 1.1.1.1 //dlci모르면 또 inverse ARP를 통해 다시 알아온다.
20
10

R1-A
C1.1.1.0 /24 e0에서 걸려서 이더넷 쪽으로 보낸다.

1.1.1.130
1.1.1.1
B
???  ---stop !! ARP출동
   1
S.M:B /S.IP 1.1.1.2
D.M:000000 /D.I 1.1.1.1
--> 00000-> A

A
ICMP 8 0
도착

같은 네트웍인게 확인됐기에 ARP시
S.M A
S.I 1.1.1.1
D.M 0---0
D.IP 1.1.1.130 //130
Request time out

@@@@@@@@@@@@@@
 1. 네트워크는 릴레이다
 2. Give & Take 다
@@@@@@@@@@@@@@

HDLC --- 범용적이면 dlci를 쓴다.

TRUNKING
물리적인 것을 논리적으로 하나로 묶는다.
그러나 cisco에서는

ARP 통신 문제

 1. 패킷1의 S.IP 172.16.5.41 / S.M 서버 A의 MAC
 2. 패킷1의 IP:172.16.2.99 D.M 서버 B의 MAC ----> R의 맥어드레스
 3. 패킷2의 S IP 172.16.5.41 / S.M R의 MAC
 4. 패킷2의 D.I:172.16.2.99 / D.M가 서버 B의 MAC

Ethernet Frame

Ethernet Frame 구조
⑴ Preamble
- 7byte 길이를 갖고 있으며 송수신 시스템 간의 동기화에 사용
- 프레임의 시작을 나타내는 용도로 사용
⑵ SFD(Start Frame Delimiter)
- 10101011 값을 가지며 바로 뒤에 실제 프레임 필드 값이 위치
⑶ Destination Address
- 6byte 길이로 목적지 시스템의 하드웨어 주소를 나타냄
- 앞의 3부분은 NIC 제조회사를 의미
- 뒤의 3부분은 NIC 고유 번호를 의미
⑷ Source Address
송신 시스템의 하드웨어 주소를 나타냄
⑸ Length or Type Field
- 길이 / 유형 필드는 2가지 의미 중 하나를 의미
- 필드 값이 1518보다 작으면 데이터 부분의 길이를 표현
- 1536보다 크면 상위 계층의 프로토콜을 의미
⑹ Data
- 상위 계층 프로토콜에서 Encapsulation된 데이터 부분
- 최소 46바이트, 최대 1500바이트
⑺ FCS(Frame Check Sequence)
Preamble과 SFD 부분을 제외한 유효한 프레임의 오류 검사를 위해 사용

CSMA/CD


맥어드레스를 알아오는 중심적인 역할

## 개념적방식
이더넷방식 --- Mac 어드레스를 이용한다.
통신하기 위해서는 주소값을 가져야한다.(MAC address)
Token 방식 --- Mau 카드를 사서 토큰카드를 사면 된다.

## 실질적 방법
CSMA/CD는 이더넷의 매체 접근방식이다.
이더넷방식으로 어떻게 보내는지 실질적 방법.

CS - 전기적인 얘기,
MA - 다중접속방법
/
CD - 충돌탐지
--------------------최민수 방식 70년대 방식

CSMA/CA (collision avoidance)
-- 반송파를 확인하는 것은 똑같다. 충돌을 방지하기 위해서 예비신호를 보낸다.

CSMA/CA는  -- 닥쳐!!! 대기 후 자기가 보냄
1)예비신호가 쫑날수도 있다.(아닥하삼이 서로 쫑날수도 있다)
2)느리다.

허브에서는 네트워크 상황 때문에 인터넷이 느린 경우도 있었다.
Token은 MAU의 중재로 충돌이 안 나는 장점이 있다.
Switch가 forwarding, filtering, ageing, learning, flooding의 5가지 ing로 지원해서 CSMA/CD방식이 쓰이게 되었다.

허브

-전기 -> 이진신호로 변경
-복사
-증폭
-flooding

1500byte 데이터를 받아오면서 자투리 시간에 받아간다.

패킷분석

4계층 Destination Port를 적어주는 이유는? 수신측이 빨리 처리하라고

3계층 IP or ARP
[ DATA ]

2계층
<|[D.mac][S.MAC][IP:0x0800,ARP:0x0806][DATA][FCS]

[Type(16bit, 2byte)] [ DATA] // type에 IP면 0x0800 이라 적는다. ARP면 0x0806
0000 1000 0000 0000
0000 1000 0000 0110
왜 16칸을 정해 넣고 값을 적을까? 수신측에서 빨리 처리해서 적어서 보내게 하려고
D.MAC | S.MAC|IP : 0x0800 ARP:0x0806 | DATA

-------------------------
preamble에서 SFD까지 합쳐서 preamble 삼각형으로 표시한다. Ready …. 64bit

전기 20만km/s
빛 30만km/s
1010101010……. 11 (64번째 마지막 숫자가 1이다) 스위치가 preamble로 올 거라는 걸 인지한다.
Preamble은 헤더에 포함되지 않는다.

<|[D.mac][S.MAC][IP:0x0800,ARP:0x0806][DATA][FCS]

윈도우 RAID5는 마지막에 짝수 패리티. 레이드는 물리적으로 존재하지 않더라도 복구하여 보여준다.

CRC는 순환중복검사이다.(cycle redundancy check)
Header  [     VALUE                   ] Footer(trailer)
FCS로 보낸 것과 수신자가 CRC를 체크했을 때 일치하면 이상이 없는 것이다.

스위치작동방식

스위치가 포트에서 포트로 넘겨주는 방식(switching)
Store & forward방식 - 넘길 자료를 모두 저장했다가 검사하고 넘겨주는 것(안정적, 느리다)
Cut & through  - 목적지 MAC만 확인하고 보낸다.(48bit만보고 넘긴다. 느림)

포트에서 컴퓨터로 넘기는 것이 forwarding

2계층은 주소쪽 빼고는 해킹할게 없다.
남은 시간은 arp헤더를 조지겠다.


ARP

ARP (address Resolution Protocol)
상대방에 해당하는 MAC address를 찾아올 때 출발하는 녀석이다.

⑴ Hardware Type (2계층)
⑵ Protocol Type (3계층)
⑶ Hardware Length
바이트 단위로 저장 48bit-> 6
⑷ Protocol Length
바이트 단위로 저장 32bit-> 4
-----------------------------------------> 3계층은 IP, 2계층 이더넷이 점유함. 변하지 않음
⑸ Operation
1은 요청
2는 응답
⑹ Sender Hardware Address
⑺ Sender IP Address
⑻ Target Hardware Address
⑼ Target IP Address

아이피 확인하기

Capture에서 인터페이스에서 수집원하는 것을 클릭한다.
arp.opcode==1 // arp의 요청만 보겠다.
Sender IP에 내 아이피가 있는지 확인
200.73 내꺼에서 출발 목적지가 200.72인것
((ip.src==200.200.200.73)&&(ip.dst==200.200.200.72))||((ip.src==200.200.200.72)&&(ip.dst==200.200.200.73))||((arp.src.proto_ipv4==200.200.200.73)&&(arp.dst.proto_ipv4==200.200.200.72))||((arp.src.proto_ipv4==200.200.200.72)&&(arp.dst.proto_ipv4==200.200.200.73))
2번과 5번의 요청과 응답을 모두 확인

 

와이어샤크

 

 

 

 

 

 

Arp spoofing 패킷확인

 

Vm0 이나 브릿지나 같은 것, 물리적 Realtek렌카드를 의미한다
Vmnet0~안에 있는 것은 모두 허브처럼 작동한다.

Arp.opcode==2
Arp가 응답하는 것처럼 뻥친다.


오늘 숙제… 왜 천하무적 공격일까?
백신은 왜 못 잡을까?
왜 안받을려고하는데 받을까

 

 

2계층은 붙었다 떨어진다.

 

문제해결

200.200.200.72        00-0c-29-82-41-6e     hacker  200.200.200.73        00-0c-29-3f-57-cf     victim
  200.200.200.254       00-50-56-ef-f4-3f     g/w

1) 111.111.111.111 로 ping을 날린다.
2) arp request로 g/w의 MAC을 알아온다.
3) arp reqeust로 victim의 mac을 알아온다.
준비 끝
1) g/w에게 victim의 아이피로 보낸다.
2) victim에게 g/w의 아이피로 보낸다.
반복 한다.
--------------
g/w와 victim에게 모두 자신이라고 뻥친다.
게이트웨이는 hacker를 victim이라 생각하고 보내고
victim은 hacker를 g/w라 생각하고 요청한다.
--------------

 

반응형