Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (101.74 KB, 4 trang )
Đọc nội dung bạn chat trong mạng
LAN
Thật ra thì cách dễ nhất để đọc chat của người khác là…lén đứng sau lưng người
ta mà nhìn , nhưng mà tôi sẽ không chịu trách nhiệm nếu bạn bị người đó phát
hiện, hậu quả bạn tự gánh chịu lấy nhé . Thôi, nói lan man vậy đủ rồi, let’s go.
Phần 1: Lý thuyết
Giả sử tôi có mô hình mạng như bên dưới:
Ở đây, tôi đóng vai 1 Attacker và muốn “nghe lén” cuộc “nói chuyện” giữa 2 máy
A và B. Nếu bạn nào có biết qua về mạng máy tính thì sẽ biết 1 máy tính có 1 địa
chỉ IP và 1 địa chỉ MAC (nó tương tự như số nhà bạn ấy mà), các địa chỉ này dùng
để nhận diện 1 máy tính trên mạng. Giả sử A muốn nói chuyện với B nhưng nó chỉ
biết địa chỉ IP của B mà không biết địa chỉ MAC của B, A lập tức gửi 1 gói tin
ARP Request ra toàn mạng và hỏi rằng: “Ê, ku nào có địa chỉ IP là x.y.z.t nói tao
biết địa chỉ MAC của mày là nhiêu?”. Khi đó, cả máy B lẫn máy Attacker đều
nhận được gói tin này, nhưng chỉ có B hồi đáp lại cho A bằng 1 gói tin ARP
Reply, báo cho A biết địa chỉ MAC của mình.
Khi đã có đủ thông tin về địa chỉ IP và MAC của máy B, A bắt đầu trao đổi dữ
liệu với B. Địa chỉ MAC của B sẽ được A lưu lại trong Cache để lần sau nếu có
trao đổi dữ liệu với B thì không cần phải hỏi địa chỉ MAC nữa. Tuy nhiên, vấn đề
nằm ở chỗ giao thức ARP hoạt động ở tầng 2, trong khi địa chỉ IP lại nằm ở tầng 3
(trong mô hình 7 tầng OSI) nên A sẽ không thể kiểm chứng được thông tin có
đúng là máy B với địa IP x.y.z.t có địa chỉ MAC như vậy không. Bây giờ,
Attacker chỉ cần gửi 1 gói tin ARP Reply cho A và báo rằng: “Ê, tao B nè. Giờ địa
chỉ MAC của tao là a-b-c-d chứ không giống hồi nãy nữa nha”. Vì không thể kiểm
chứng được thông tin này nên A cũng nhắm mắt đưa chân ghi thông tin này vào
Cache, đè lên thông tin chính xác về B đã ghi nhận ở bước trước. He he, như vậy,
bây giờ mỗi lần thay vì A gửi dữ liệu cho B thì nó lại gửi đến máy Attacker.
Nhưng một vấn đề khác lại xảy ra: nếu thông tin không đến được máy B thì máy B
đâu có biết mà trả lời máy A, vậy sao gọi là “nghe lén” A và B “nói chuyện”
được? Cách đơn giản là Attacker đánh lừa luôn cả B để B tưởng máy Attacker là
máy A, khi dữ liệu từ A gửi đến B (nhưng thực ra là đến Attacker), Attacker sẽ giữ