|
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)라우팅 테이블확인 3)arp출동 라우터는 arp는 자기게 아니면 drop한다 목적지를 모르기 때문에 ping이 안된다.
|
1)라우팅테이블
ARP의 응답은 unicast이고 오직 CPU는 받는 CPU만 연산한다. R2- R1 R1-A 1.1.1.130 A 같은 네트웍인게 확인됐기에 ARP시 @@@@@@@@@@@@@@ HDLC --- 범용적이면 dlci를 쓴다. TRUNKING |
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라 생각하고 요청한다.
--------------
'웹 보안 및 네트워크보안 전문가' 카테고리의 다른 글
6일차, DES 암호화 과정 (0) | 2013.06.15 |
---|---|
5일차, ARP snooping 로직과 케인툴 사용 (0) | 2013.06.14 |
3일차, 네트워크 구조와 ping이 나가는 과정 (0) | 2013.06.14 |
2일차. 네트워크, 각 아이피 주소의 의미 (0) | 2013.06.14 |
1일차 네트워크 리뷰와 ARP snoofing 원리 (0) | 2013.06.14 |