Link Layer - ARP - RARP (Final)

47
Link layer – ARP – RARP Hoàng Vũ Tuấn Anh

Transcript of Link Layer - ARP - RARP (Final)

Page 1: Link Layer - ARP - RARP (Final)

Link layer – ARP – RARP

Hoàng Vũ Tuấn Anh

Page 2: Link Layer - ARP - RARP (Final)

Contents

Link layer ARP RARP

Page 3: Link Layer - ARP - RARP (Final)

TCP/IP suite

Page 4: Link Layer - ARP - RARP (Final)

An example

Page 5: Link Layer - ARP - RARP (Final)

Link layer

Nhiệm vụ: Liên kết các kiến trúc mạng khác nhau: Ethernet,

Token ring, … Gửi / nhận frame Truy vấn / trả lời ARP Truy vấn / trả lời RARP

Page 6: Link Layer - ARP - RARP (Final)

Ethernet Link layer

Ethernet 1982 by Digital Equipment Corp., Intel Corp., and

Xerox Corp. IEEE 802

1983 by IEEE (Institute of Electrical and Electronics Engineers)

Page 7: Link Layer - ARP - RARP (Final)

IEEE 802

Chia thành 2 sub-layer Medium Access Control (MAC): 802.3

(CSMA/CD), 802.4 (Token bus), 802.5 (Token ring)

Logical Link Control (LLC): 802.2

Page 8: Link Layer - ARP - RARP (Final)

Logical Link Control

Đơn vị trao đổi của LLC là PDU (Protocol Data Unit)

Khi mỗi PDU được gửi đi, máy nguồn chờ máy đích xác nhận là đã nhận. Sau đó PDU tiếp theo mới được tiếp tục gửi đi

Giả sử mất 2sec để gửi 1 PDU và 2 sec để đợi xác nhận 4sec. Nếu chuẩn 802.3 giới hạn PDU 1500 octets (8 x 1500 = 12Kbits) Tốc độ 3Kbits/sec (12Kbits/4sec)

Sliding Windows

Page 9: Link Layer - ARP - RARP (Final)

Ethernet

Access Method: CSMA/CD (Carrier Sense, Multiple Access with Collision Detection – Đa truy nhập nhận biết sóng mang / Dò tìm xung đột)

Operates: 10 Mbits/sec và sử dụng địa chỉ 48-bit

Page 10: Link Layer - ARP - RARP (Final)

Host Requirements

Mỗi máy tính kết nối vào mạng Internet bằng cáp Ethernet 10Mbits/sec phải thỏa mãn: Gửi / nhận được frame chuẩn Ethernet Nhận được frame chuẩn IEEE 802 (không bắt

buộc) Có thể gửi được frame chuẩn IEEE 802. Nếu

máy tính có thể gửi được cả 2 chuẩn frame thì cấu hình mặc định phải là frame chuẩn Ethernet

Page 11: Link Layer - ARP - RARP (Final)
Page 12: Link Layer - ARP - RARP (Final)

Ethernet & IEEE 802

Sử dụng địa chỉ phần cứng 48-bit (địa chỉ MAC – Media Access Control)

MAC: Do nhà sản xuất gán trong quá trình sản xuất, không thể thay đổi được

Có 248 = 281,474,976,710,656 địa chỉ MAC có thể có

3 byte đầu tiên đặc trưng cho nhà sản xuất. 3 byte còn lại do nhà sản xuất tự quy định

Page 13: Link Layer - ARP - RARP (Final)

CRC

Cyclic Redundancy Check: một loại hàm băm (hash) dùng để kiểm tra tính toàn vẹn của một chuỗi bit, gói tin hoặc đoạn dữ liệu

Giá trị của CRC được tính toán và gửi kèm vào dữ liệu trước khi gửi đi. Nơi sử dụng sẽ sinh mã CRC để so sánh và phát hiện lỗi

CRC có rất nhiều thuật toán, ví dụ như “Bit chẵn lẻ” (xem thêm http://en.wikipedia.org/wiki/Cyclic_redundancy_check)

Page 14: Link Layer - ARP - RARP (Final)

IEEE 802

Byte 1 ÷ 6: Địa chỉ phần cứng đích Byte 7 ÷ 12: Địa chỉ phần cứng nguồn Byte 13 ÷ 14: Tổng độ dài phần còn lại (tính

theo bytes) (46 ÷ 1500) (không tính CRC) Byte 15 ÷ 20:

15: DSAP (Dest. Service Access Point): 0xAA 16: SSAP (Source Services Access Point): 0xAA 17: Ctrl: 0x03 18 ÷ 20: Org code: 0x000000

Page 15: Link Layer - ARP - RARP (Final)

IEEE 802

Byte 21 ÷ 22 : Kiểu dữ liệu mang 0x0800: IP datagram 0x0806: Truy vấn / trả lời ARP 0x8035: Truy vấn / trả lời RARP

Từ byte 23 (38 ÷ 1492): Dữ liệu 4 byte cuối cùng: CRC

Page 16: Link Layer - ARP - RARP (Final)

Ethernet

Byte 1 ÷ 6: Địa chỉ Ethernet đích Byte 7 ÷ 12: Địa chỉ Ethernet nguồn Byte 13 ÷ 14: Kiểu dữ liệu mang

0x0800: IP datagram 0x0806: Truy vấn / trả lời ARP 0x8035: Truy vấn / trả lời RARP

Từ byte 15 (46 ÷ 1500): Dữ liệu 4 byte cuối cùng: CRC

Page 17: Link Layer - ARP - RARP (Final)

Phân biệt Ethernet và IEEE 802

Byte 13 ÷ 14 của 2 chuẩn: Ethernet: type IEEE 802: length Không có giá trị nào của type và length ở 2

chuẩn trùng nhau Dễ dàng phân biệt packet của 2 chuẩn

Page 18: Link Layer - ARP - RARP (Final)

Công cụ làm việc

Wireshark (http://www.wireshark.org) (bắt nguồn từ Ethereal) là một phần mềm miễn phí có khả năng capture các frame vào/ra qua card mạng chỉ định

Wireshark có thể nhận dạng được hơn 700 loại protocol khác nhau

Wireshark làm việc dựa trên thư viện WinPcap

Page 19: Link Layer - ARP - RARP (Final)

Wireshark

Page 20: Link Layer - ARP - RARP (Final)

Demo

Cách sử dụng Wireshark Sử dụng Wireshark để phân tích cấu trúc

của một frame

Page 21: Link Layer - ARP - RARP (Final)

Loopback interface

Page 22: Link Layer - ARP - RARP (Final)

Loopback interface

Địa chỉ mạng lớp A 127 được dành riêng cho loopback. Thường hệ thống sử dụng 127.0.0.1 (localhost)

Frame gửi đến loopback trở thành input Frame gửi đến broadcast hoặc multicast

được copy vào loopback rồi gửi ra ngoài Frame có địa chỉ IP đích = địa chỉ IP nguồn

được gửi vào loopback và không được phép gửi ra ngoài

Page 23: Link Layer - ARP - RARP (Final)

MTU

Maximum Transmission Unit: kích thước lớn nhất của IP datagram trên đường truyền.

IEEE 802: 1492 byte Ethernet: 1500 byte Nếu một IP datagram được gửi đi có kích

thước lớn hơn MTU thì IP datagram đó sẽ bị chia thành các mảnh có kích thước nhỏ hơn MTU để có thể truyền đi được

Page 24: Link Layer - ARP - RARP (Final)
Page 25: Link Layer - ARP - RARP (Final)

Path MTU

Path MTU: Giá trị nhỏ nhất của MTU trên các kênh nối 2 máy

Path MTU không cố định, phụ thuộc vào IP routing

Page 26: Link Layer - ARP - RARP (Final)

ARP

Address Resolution Protocol IPv4: Mỗi máy được gán một địa chỉ IP 32-bit (có

thể thay đổi được). Network layer và các lớp cao hơn sử dụng địa chỉ này để gửi/nhận packet

2 máy trên cùng mạng vật lý chỉ có thể gửi/nhận frame nếu biết địa chỉ Ethernet (địa chỉ MAC) của nhau

Nhiệm vụ ARP: Ánh xạ địa chỉ IP 32-bit thành chính xác địa chỉ Ethernet 48-bit

Page 27: Link Layer - ARP - RARP (Final)

ARP operation

Page 28: Link Layer - ARP - RARP (Final)

ARP packet format

Page 29: Link Layer - ARP - RARP (Final)

ARP packet format

Tổng cộng: 28 byte hard type (2 bytes): 0x0001 cho Ethernet prot type (2 bytes): 0x0080 cho IP hard size (1 byte): Kích thước địa chỉ vật lý

(tính theo byte) (0x06) prot size (1 byte): Kích thước địa chỉ của

giao thức cần ánh xạ (tính theo byte) (0x04)

Page 30: Link Layer - ARP - RARP (Final)

ARP packet format

op (2 byte): Định dạng packet (0x0001 cho ARP request, 0x0002 cho ARP reply)

4 trường tiếp theo: Địa chỉ Ethernet máy gửi (6 byte), địa chỉ IP máy gửi (4 byte), địa chỉ Ethernet máy nhận (6 byte), địa chỉ IP máy nhận (4 byte)

Page 31: Link Layer - ARP - RARP (Final)

ARP

Trong ARP request, giá trị của trường op là 0x0001. Địa chỉ Ethernet máy nhận được để trống

Máy nhận điền địa chỉ Ethernet của nó vào trong gói ARP, đổi chỗ 2 địa chỉ máy gửi với 2 địa chỉ máy nhận, thay đổi giá trị của trường op thành 0x0002 và gửi trả lại

Page 32: Link Layer - ARP - RARP (Final)

ARP Cache

Mỗi lần gửi 1 packet request ARP lãng phí và giảm tốc độ trao đổi dữ liệu

ARP sử dụng ARP cache để lưu trữ những ARP entry mới nhất

Khi một máy tính nhận được ARP reply tạo 1 ARP cache entry chứa thông tin về địa chỉ IP và địa chỉ MAC tương ứng

Sử dụng ARP cache trước khi gửi broadcast ARP request

Timeout: 20 phút

Page 33: Link Layer - ARP - RARP (Final)

Proxy ARP

Khi một máy gửi packet đến một máy khác ngoài mạng, packet sẽ được gửi đến router

Đối với một số hệ thống cũ, các máy tính không hỗ trợ subnetting, vì vậy không phân biệt được máy nào cùng mạng, máy nào khác mạng

Proxy ARP là khả năng của router cho phép trả lời các truy vấn ARP đến một máy tính khác mạng

Page 34: Link Layer - ARP - RARP (Final)
Page 35: Link Layer - ARP - RARP (Final)

Proxy ARP

ARP request gửi đến các máy không cùng mạng sẽ cho kết quả trả về là địa chỉ Ethernet của router/gateway

Frame gửi đến các máy không cùng mạng sẽ có địa chỉ Ethernet đích là địa chỉ Ethernet của router/gateway

Page 36: Link Layer - ARP - RARP (Final)

Gratuitous ARP

Một host gửi ARP request với địa chỉ IP máy đích là IP của chính nó

Mục đích Kiểm tra duplicate IP (2 máy trong cùng mạng

dùng chung địa chỉ IP) Cập nhật địa chỉ Ethernet (nếu máy đó vừa thay

card mạng)

Page 37: Link Layer - ARP - RARP (Final)

Công cụ làm việc với ARP

arp -a: Hiển thị thông tin về ARP cache -d: Xóa một entry trong ARP cache -s: Thêm một entry trong ARP cache

Switch Sniffer “Man in the middle”

Page 38: Link Layer - ARP - RARP (Final)

Switch Sniffer

Được phát triển bởi NextSecurity (http://www.nextsecurity.net)

Sử dụng cách tấn công “Man in the middle” Freeware nếu cài thêm Alexa Toolbar Không dùng được với WinPcap ver. > 3.0

Page 39: Link Layer - ARP - RARP (Final)

Switch Sniffer

Page 40: Link Layer - ARP - RARP (Final)

Nguyên tắc làm việc

Trước khi có Switch Sniffer

Sau khi có Switch Sniffer (trên máy B)

A Router/Gateway

A Router/Gateway

B

Page 41: Link Layer - ARP - RARP (Final)

Demo

Cách sử dụng Switch Sniffer Sử dụng Switch Sniffer kết hợp với

Wireshark để lấy Username và Password khi victim sử dụng giao thức POP3 không mã hóa để nhận thư

Page 42: Link Layer - ARP - RARP (Final)

RARP

Reverse Address Resolution Protocol Đối với các máy tính thông thường khi khởi

động, địa chỉ IP được lấy từ file cấu hình trên đĩa cứng. Nhưng với các máy tính không có đĩa cứng thì phải có một cách khác để lấy địa chỉ IP

Nhiệm vụ RARP: Ánh xạ địa chỉ Ethernet 48-bit thành chính xác địa chỉ IP 32-bit

Page 43: Link Layer - ARP - RARP (Final)
Page 44: Link Layer - ARP - RARP (Final)

RARP

Cấu trúc của một packet RARP cũng tương tự như ARP. Chỉ khác trường frame type của Ethernet header là 0x8035, trường op là 0x0003 đối với RARP request, 0x0004 đối với RARP reply

Trong mạng phải có một máy đóng vai trò RARP server để trả lời các truy vấn RARP

Sử dụng nhiều ARP server trong cùng mạng để khi một server bị hỏng có server khác thay thế

Page 45: Link Layer - ARP - RARP (Final)

Kết luận

Link layer: Liên kết các kiến trúc mạng khác nhau,gửi / nhận IP datagram, truy vấn / trả lời ARP / RARP

ARP là một giao thức cấp thấp, cho phép các lớp cao hơn sử dụng địa chỉ IP để trao đổi dữ liệu, là một phần của hệ thống mạng vật lý

Page 46: Link Layer - ARP - RARP (Final)

Tài liệu tham khảo

W. Richard Stevens. TCP/IP Illustrated, Volume 1: The Protocols, 1st Edition. Addison Wesley Dec 2003

Matt Naugle. Illustrated TCP/IP: A Graphic Guide to the Protocol Suite. John Wiley & Sons 1999

Libor Dostálek & Alena Kabelová. Understanding TCP/IP. Packt Publishing 2006

Page 47: Link Layer - ARP - RARP (Final)

Tài liệu tham khảo

Wikipedia (http://www.wikipedia.org) The Linux Document Project

(http://www.tldp.org)