Sơ đồ về truyền thông mạng
Chúng tôi đã luôn nghe nói rằng để thực hiện kiểm tra thâm nhập, một pentester phải biết về các khái niệm mạng cơ bản như địa chỉ IP, mạng con phân lớp, mạng con không phân lớp, cổng và mạng phát sóng. Lý do đầu tiên là các hoạt động như máy chủ nào đang hoạt động trong phạm vi đã được phê duyệt và những dịch vụ, cổng và tính năng nào mà chúng có tính năng mở và đáp ứng sẽ xác định loại hoạt động mà người đánh giá sẽ thực hiện trong thử nghiệm thâm nhập. Môi trường liên tục thay đổi và các hệ thống thường được phân bổ lại. Do đó, rất có thể các lỗ hổng cũ có thể xuất hiện trở lại và nếu không có kiến thức tốt về việc quét mạng, có thể phải thực hiện lại các lần quét ban đầu. Trong các phần tiếp theo của chúng tôi, chúng tôi sẽ thảo luận về những điều cơ bản của giao tiếp mạng.
Mô hình tham chiếu
Mô hình tham chiếu cung cấp một phương tiện tiêu chuẩn hóa, được chấp nhận trên toàn thế giới vì những người sử dụng mạng máy tính nằm trên một phạm vi vật lý rộng và các thiết bị mạng của họ có thể có kiến trúc không đồng nhất. Để cung cấp giao tiếp giữa các thiết bị không đồng nhất, chúng ta cần một mô hình chuẩn hóa, tức là, một mô hình tham chiếu, sẽ cung cấp cho chúng ta cách mà các thiết bị này có thể giao tiếp.
Chúng tôi có hai mô hình tham chiếu như mô hình OSI và mô hình tham chiếu TCP / IP. Tuy nhiên, mô hình OSI là mô hình giả định nhưng TCP / IP là một mô hình thực tế.
Mô hình OSI
Giao diện Hệ thống Mở được thiết kế bởi Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) và do đó, nó còn được gọi là Mô hình ISO-OSI.
Mô hình OSI bao gồm bảy lớp như thể hiện trong sơ đồ sau. Mỗi lớp có một chức năng cụ thể, tuy nhiên mỗi lớp cung cấp các dịch vụ cho lớp trên.
Lớp vật lý
Lớp Vật lý chịu trách nhiệm cho các hoạt động sau:
Kích hoạt, duy trì và hủy kích hoạt kết nối vật lý.
Xác định điện áp và tốc độ dữ liệu cần thiết để truyền.
Chuyển đổi các bit kỹ thuật số thành tín hiệu điện.
Quyết định xem kết nối là song công, bán song công hay song công.
Lớp liên kết dữ liệu
Lớp liên kết dữ liệu thực hiện các chức năng sau:
Thực hiện đồng bộ hóa và kiểm soát lỗi đối với thông tin sẽ được truyền qua liên kết vật lý.
Cho phép phát hiện lỗi và thêm các bit phát hiện lỗi vào dữ liệu sẽ được truyền.
Lớp mạng
Lớp mạng thực hiện các chức năng sau:
Để định tuyến các tín hiệu qua các kênh khác nhau đến đầu kia.
Đóng vai trò là người điều khiển mạng bằng cách quyết định dữ liệu tuyến đường nào sẽ sử dụng.
Để chia các thông điệp đi thành các gói và để tập hợp các gói đến thành các thông điệp cho các cấp cao hơn.
Lớp vận chuyển
Lớp Giao vận thực hiện các chức năng sau:
Nó quyết định việc truyền dữ liệu nên diễn ra trên các đường dẫn song song hay đường dẫn đơn.
Nó thực hiện ghép kênh, chia nhỏ trên dữ liệu.
Nó chia nhỏ các nhóm dữ liệu thành các đơn vị nhỏ hơn để chúng được lớp mạng xử lý hiệu quả hơn.
Lớp truyền tải đảm bảo việc truyền dữ liệu từ đầu này sang đầu kia.
Lớp phiên
Lớp Session thực hiện các chức năng sau:
Quản lý tin nhắn và đồng bộ hóa các cuộc trò chuyện giữa hai ứng dụng khác nhau.
Nó kiểm soát việc đăng nhập và tắt, nhận dạng người dùng, thanh toán và quản lý phiên.
Lớp trình bày
Lớp Trình bày thực hiện các chức năng sau:
Lớp này đảm bảo rằng thông tin được phân phối ở dạng sao cho hệ thống nhận sẽ hiểu và sử dụng nó.
Lớp ứng dụng
Lớp Ứng dụng thực hiện các chức năng sau:
Nó cung cấp các dịch vụ khác nhau như thao tác thông tin theo một số cách, truyền lại tệp thông tin, phân phối kết quả, v.v.
Các chức năng như ĐĂNG NHẬP hoặc kiểm tra mật khẩu cũng được thực hiện bởi lớp ứng dụng.
Mô hình TCP / IP
Mô hình Giao thức Điều khiển Truyền và Giao thức Internet (TCP / IP) là một mô hình thực tế và được sử dụng trong Internet.
Mô hình TCP / IP kết hợp hai lớp (lớp liên kết Vật lý và Dữ liệu) thành một lớp - Lớp Host-to-Network. Sơ đồ sau đây cho thấy các lớp khác nhau của mô hình TCP / IP:
Lớp ứng dụng
Lớp này giống như lớp của mô hình OSI và thực hiện các chức năng sau:
Nó cung cấp các dịch vụ khác nhau như thao tác thông tin theo một số cách, truyền lại tệp thông tin, phân phối kết quả, v.v.
Lớp ứng dụng cũng thực hiện các chức năng như ĐĂNG NHẬP hoặc kiểm tra mật khẩu.
Sau đây là các giao thức khác nhau được sử dụng trong lớp Ứng dụng:
- TELNET
- FTP
- SMTP
- DN
- HTTP
- NNTP
Lớp vận chuyển
Nó thực hiện các chức năng tương tự như của lớp truyền tải trong mô hình OSI. Hãy xem xét các điểm quan trọng sau liên quan đến lớp truyền tải:
Nó sử dụng giao thức TCP và UDP để truyền từ đầu đến cuối.
TCP là một giao thức định hướng kết nối và đáng tin cậy.
TCP cũng xử lý điều khiển luồng.
UDP không đáng tin cậy và một giao thức ít kết nối không thực hiện điều khiển luồng.
Các giao thức TCP / IP và UDP được sử dụng trong lớp này.
Lớp Internet
Chức năng của lớp này là cho phép máy chủ chèn các gói vào mạng và sau đó làm cho chúng di chuyển độc lập đến đích. Tuy nhiên, thứ tự nhận gói tin có thể khác với thứ tự chúng được gửi đi.
Giao thức Internet (IP) được sử dụng trong lớp Internet.
Lớp máy chủ với mạng
Đây là lớp thấp nhất trong mô hình TCP / IP. Máy chủ phải kết nối với mạng bằng một số giao thức để có thể gửi các gói IP qua đó. Giao thức này khác nhau giữa các máy chủ lưu trữ và máy chủ lưu trữ và mạng này sang mạng khác.
Các giao thức khác nhau được sử dụng trong lớp này là -
- ARPANET
- SATNET
- LAN
- Đài gói
Kiến trúc hữu ích
Sau đây là một số kiến trúc hữu ích, được sử dụng trong giao tiếp mạng -
Kiến trúc khung Ethernet
Một kỹ sư tên Robert Metcalfe lần đầu tiên phát minh ra mạng Ethernet, được định nghĩa theo tiêu chuẩn IEEE 802.3, vào năm 1973. Nó lần đầu tiên được sử dụng để kết nối và gửi dữ liệu giữa máy trạm và máy in. Hơn 80% mạng LAN sử dụng tiêu chuẩn Ethernet vì tốc độ, chi phí thấp hơn và dễ cài đặt. Mặt khác, nếu chúng ta nói về frame thì dữ liệu truyền từ máy chủ này sang máy chủ khác theo cách. Khung được cấu thành bởi các thành phần khác nhau như địa chỉ MAC, tiêu đề IP, dấu phân cách bắt đầu và kết thúc, v.v.
Khung Ethernet bắt đầu bằng Preamble và SFD. Tiêu đề Ethernet chứa cả địa chỉ MAC Nguồn và Đích, sau đó có tải trọng của khung. Trường cuối cùng là CRC, được sử dụng để phát hiện lỗi. Cấu trúc khung Ethernet cơ bản được định nghĩa trong tiêu chuẩn IEEE 802.3, được giải thích như sau:
Định dạng khung Ethernet (IEEE 802.3)
Gói Ethernet truyền một khung Ethernet làm trọng tải của nó. Sau đây là biểu diễn đồ họa của khung Ethernet cùng với mô tả của từng trường:
Tên trường | Mở đầu | SFD (Bắt đầu dấu phân cách khung) | MAC đích | Nguồn MAC | Kiểu | Dữ liệu | CRC |
---|---|---|---|---|---|---|---|
Kích thước (tính bằng byte) | 7 | 1 | 6 | 6 | 2 | 46-1500 | 4 |
Mở đầu
Trước khung Ethernet có một phần mở đầu, kích thước 7 byte, thông báo cho hệ thống nhận rằng một khung đang khởi động và cho phép người gửi cũng như người nhận thiết lập đồng bộ hóa bit.
SFD (Bắt đầu dấu phân cách khung)
Đây là trường 1 byte được sử dụng để biểu thị rằng trường địa chỉ MAC đích bắt đầu bằng byte tiếp theo. Đôi khi trường SFD được coi là một phần của Lời mở đầu. Đó là lý do tại sao phần mở đầu được coi là 8 byte ở nhiều nơi.
Destination MAC - Đây là trường 6 byte, trong đó, chúng ta có địa chỉ của hệ thống nhận.
Source MAC - Đây là trường 6 byte, trong đó, chúng ta có địa chỉ của hệ thống gửi.
Type- Nó xác định loại giao thức bên trong khung. Ví dụ: IPv4 hoặc IPv6. Kích thước của nó là 2 byte.
Data- Đây còn được gọi là Payload và dữ liệu thực tế được chèn vào đây. Độ dài của nó phải từ 46-1500 byte. Nếu độ dài nhỏ hơn 46 byte thì phần đệm 0 được thêm vào để đáp ứng độ dài tối thiểu có thể, tức là 46.
CRC (Cyclic Redundancy Check) - Đây là trường 4 byte chứa CRC 32 bit, cho phép phát hiện dữ liệu bị hỏng.
Định dạng Khung Ethernet mở rộng (Khung Ethernet II)
Sau đây là biểu diễn đồ họa của khung Ethernet mở rộng bằng cách sử dụng mà chúng ta có thể nhận được Tải trọng lớn hơn 1500 byte -
Tên trường | MAC đích | Nguồn MAC | Kiểu | DSAP | SSAP | Ctrl | Dữ liệu | CRC |
---|---|---|---|---|---|---|---|---|
Kích thước (tính bằng byte) | 6 | 6 | 2 | 1 | 1 | 1 | > 46 | 4 |
Mô tả các trường, khác với khung Ethernet IEEE 802.3, như sau:
DSAP (Điểm truy cập dịch vụ đích)
DSAP là một trường dài 1 byte đại diện cho các địa chỉ logic của thực thể lớp mạng dự định nhận thông báo.
SSAP (Điểm truy cập dịch vụ nguồn)
SSAP là một trường dài 1 byte đại diện cho địa chỉ logic của thực thể lớp mạng đã tạo thông báo.
Ctrl
Đây là trường điều khiển 1 byte.
Kiến trúc gói IP
Giao thức Internet là một trong những giao thức chính trong bộ giao thức TCP / IP. Giao thức này hoạt động ở lớp mạng của mô hình OSI và ở lớp Internet của mô hình TCP / IP. Do đó, giao thức này có trách nhiệm xác định các máy chủ dựa trên địa chỉ logic của chúng và định tuyến dữ liệu giữa chúng qua mạng bên dưới. IP cung cấp một cơ chế để xác định duy nhất các máy chủ theo sơ đồ địa chỉ IP. IP sử dụng phương thức phân phối nỗ lực cao nhất, tức là, nó không đảm bảo rằng các gói sẽ được gửi đến máy chủ lưu trữ định mệnh, nhưng nó sẽ cố gắng hết sức để đến được đích.
Trong các phần tiếp theo, chúng ta sẽ tìm hiểu về hai phiên bản IP khác nhau.
IPv4
Đây là Giao thức Internet phiên bản 4, sử dụng địa chỉ lôgic 32 bit. Sau đây là sơ đồ của tiêu đề IPv4 cùng với mô tả của các trường:
Phiên bản
Đây là phiên bản của Giao thức Internet được sử dụng; ví dụ: IPv4.
IHL
Độ dài tiêu đề Internet; độ dài của toàn bộ tiêu đề IP.
DSCP
Điểm mã dịch vụ khác biệt; đây là Loại Dịch vụ.
ECN
Thông báo tắc nghẽn rõ ràng; nó mang thông tin về sự tắc nghẽn được thấy trong tuyến đường.
Tổng chiều dài
Độ dài của toàn bộ Gói IP (bao gồm tiêu đề IP và Tải trọng IP).
Nhận biết
Nếu gói IP bị phân mảnh trong quá trình truyền, tất cả các phân mảnh chứa cùng một số nhận dạng.
Cờ
Theo yêu cầu của tài nguyên mạng, nếu Gói IP quá lớn để xử lý, các 'cờ' này cho biết liệu chúng có thể bị phân mảnh hay không. Trong cờ 3 bit này, MSB luôn được đặt thành '0'.
Phần bù đắp
Phần bù này cho biết vị trí chính xác của phân mảnh trong Gói IP gốc.
Thời gian để sống
Để tránh lặp lại trong mạng, mỗi gói được gửi đi với một số bộ giá trị TTL, giá trị này cho mạng biết có bao nhiêu bộ định tuyến (bước nhảy) mà gói này có thể đi qua. Tại mỗi bước nhảy, giá trị của nó giảm đi một và khi giá trị bằng không, gói tin sẽ bị loại bỏ.
Giao thức
Cho lớp Mạng tại máy chủ đích biết gói này thuộc về Giao thức nào, tức là Giao thức cấp tiếp theo. Ví dụ: số giao thức của ICMP là 1, TCP là 6 và UDP là 17.
Kiểm tra tiêu đề
Trường này được sử dụng để giữ giá trị tổng kiểm tra của toàn bộ tiêu đề, sau đó được sử dụng để kiểm tra xem gói nhận được không có lỗi.
Địa chỉ nguồn
Địa chỉ 32-bit của Người gửi (hoặc nguồn) của gói tin.
Địa chỉ đích
Địa chỉ 32-bit của Người nhận (hoặc đích) của gói tin.
Tùy chọn
Đây là trường tùy chọn, được sử dụng nếu giá trị của IHL lớn hơn 5. Các tùy chọn này có thể chứa các giá trị cho các tùy chọn như Bảo mật, Tuyến bản ghi, Dấu thời gian, v.v.
Nếu bạn muốn nghiên cứu chi tiết về IPv4, vui lòng tham khảo liên kết này - www.tutorialspoint.com/ipv4/index.htm
IPv6
Giao thức Internet phiên bản 6 là giao thức truyền thông gần đây nhất, giống như giao thức IPv4 tiền nhiệm của nó, hoạt động trên Lớp mạng (Lớp-3). Cùng với việc cung cấp một lượng lớn không gian địa chỉ logic, giao thức này có nhiều tính năng phong phú, giải quyết được khuyết điểm của IPv4. Sau đây là sơ đồ của tiêu đề IPv4 cùng với mô tả của các trường:
Phiên bản (4-bit)
Nó đại diện cho phiên bản Giao thức Internet - 0110.
Lớp lưu lượng (8-bit)
8 bit này được chia thành hai phần. 6 bit quan trọng nhất được sử dụng cho Loại dịch vụ để cho Bộ định tuyến biết dịch vụ nào nên được cung cấp cho gói tin này. 2 bit quan trọng nhất được sử dụng cho Thông báo tắc nghẽn rõ ràng (ECN).
Nhãn dòng (20-bit)
Nhãn này được sử dụng để duy trì luồng tuần tự của các gói thuộc một giao tiếp. Nguồn gắn nhãn trình tự để giúp bộ định tuyến xác định rằng một gói cụ thể thuộc một luồng thông tin cụ thể. Trường này giúp tránh sắp xếp lại các gói dữ liệu. Nó được thiết kế để phát trực tuyến / phương tiện thời gian thực.
Độ dài tải trọng (16-bit)
Trường này được sử dụng để cho các bộ định tuyến biết lượng thông tin mà một gói tin cụ thể chứa trong tải trọng của nó. Tải trọng bao gồm Tiêu đề tiện ích mở rộng và dữ liệu Lớp trên. Với 16 bit, có thể chỉ ra tới 65535 byte; nhưng nếu Tiêu đề mở rộng chứa Tiêu đề mở rộng Hop-by-Hop, thì trọng tải có thể vượt quá 65535 byte và trường này được đặt thành 0.
Tiêu đề tiếp theo (8-bit)
Trường này được sử dụng để chỉ ra loại Tiêu đề mở rộng hoặc nếu Tiêu đề mở rộng không xuất hiện thì nó chỉ ra PDU Lớp trên. Các giá trị cho loại PDU lớp trên giống như IPv4.
Giới hạn Hop (8-bit)
Trường này được sử dụng để dừng gói lặp lại trong mạng vô hạn. Điều này giống như TTL trong IPv4. Giá trị của trường Hop Limit sẽ giảm đi 1 khi nó đi qua một liên kết (bộ định tuyến / bước nhảy). Khi trường bằng 0, gói tin sẽ bị loại bỏ.
Địa chỉ nguồn (128-bit)
Trường này cho biết địa chỉ của người khởi tạo gói.
Địa chỉ đích (128-bit)
Trường này cung cấp địa chỉ của người nhận gói tin.
Nếu bạn muốn nghiên cứu chi tiết về IPv6, vui lòng tham khảo liên kết này - www.tutorialspoint.com/ipv6/index.htm
Kiến trúc tiêu đề TCP (Transmission Control Protocol)
Như chúng ta biết rằng TCP là một giao thức hướng kết nối, trong đó một phiên được thiết lập giữa hai hệ thống trước khi bắt đầu giao tiếp. Kết nối sẽ bị đóng khi quá trình giao tiếp đã hoàn tất. TCP sử dụng kỹ thuật bắt tay ba chiều để thiết lập ổ cắm kết nối giữa hai hệ thống. Bắt tay ba chiều có nghĩa là ba thông điệp - SYN, SYN-ACK và ACK, được gửi qua lại giữa hai hệ thống. Các bước làm việc giữa hai hệ thống, hệ thống khởi tạo và hệ thống đích, như sau:
Step 1 − Packet with SYN flag set
Trước hết, hệ thống đang cố gắng khởi tạo kết nối sẽ bắt đầu với một gói có cờ SYN.
Step 2 − Packet with SYN-ACK flag set
Bây giờ, trong bước này, hệ thống đích trả về một gói tin với các bộ cờ SYN và ACK.
Step 3 − Packet with ACK flag set
Cuối cùng, hệ thống khởi tạo sẽ trả về một gói tin cho hệ thống đích ban đầu với cờ ACK được đặt.
Sau đây là sơ đồ của tiêu đề TCP cùng với mô tả của các trường:
Cổng nguồn (16-bit)
Nó xác định cổng nguồn của quá trình ứng dụng trên thiết bị gửi.
Cổng đích (16-bit)
Nó xác định cổng đích của quá trình ứng dụng trên thiết bị nhận.
Số thứ tự (32-bit)
Số thứ tự byte dữ liệu của một phân đoạn trong một phiên.
Số xác nhận (32-bit)
Khi cờ ACK được đặt, số này chứa số thứ tự tiếp theo của byte dữ liệu được mong đợi và hoạt động như một sự xác nhận của dữ liệu trước đó đã nhận.
Khoảng bù dữ liệu (4-bit)
Trường này ngụ ý cả hai, kích thước của tiêu đề TCP (các từ 32 bit) và độ lệch của dữ liệu trong gói hiện tại trong toàn bộ phân đoạn TCP.
Dành riêng (3-bit)
Được dự trữ để sử dụng trong tương lai và được đặt thành 0 theo mặc định.
Cờ (mỗi cờ 1 bit)
NS - Quá trình báo hiệu Thông báo tắc nghẽn rõ ràng sử dụng bit Nonce Sum này.
CWR - Khi một máy chủ nhận được gói với bộ bit ECE, nó sẽ đặt Cửa sổ giảm tắc nghẽn để xác nhận rằng đã nhận được ECE.
ECE - Nó có hai nghĩa -
Nếu bit SYN rõ ràng là 0, thì ECE có nghĩa là gói IP có bộ bit CE (trải nghiệm tắc nghẽn) của nó.
Nếu bit SYN được đặt thành 1, ECE có nghĩa là thiết bị có khả năng ECT.
URG - Nó chỉ ra rằng trường Con trỏ khẩn cấp có dữ liệu quan trọng và cần được xử lý.
ACK- Nó chỉ ra rằng trường Lời cảm ơn có ý nghĩa. Nếu ACK được xóa thành 0, nó chỉ ra rằng gói không chứa bất kỳ thông báo xác nhận nào.
PSH - Khi được thiết lập, nó là một yêu cầu tới trạm nhận dữ liệu PUSH (ngay khi nó đến) đến ứng dụng nhận mà không cần đệm nó.
RST - Cờ Reset có các tính năng sau:
Nó được sử dụng để từ chối một kết nối đến.
Nó được sử dụng để từ chối một phân đoạn.
Nó được sử dụng để khởi động lại kết nối.
SYN - Cờ này được sử dụng để thiết lập kết nối giữa các máy chủ.
FIN- Cờ này được sử dụng để giải phóng kết nối và không có thêm dữ liệu nào được trao đổi sau đó. Vì các gói có cờ SYN và FIN có số thứ tự nên chúng được xử lý theo đúng thứ tự.
Kích thước Windows
Trường này được sử dụng để điều khiển luồng giữa hai trạm và cho biết số lượng bộ đệm (tính bằng byte) mà máy thu đã phân bổ cho một đoạn, tức là máy thu mong đợi bao nhiêu dữ liệu.
Checksum - Trường này chứa tổng kiểm tra của Header, Data và Pseudo Headers.
Urgent Pointer - Nó trỏ đến byte dữ liệu khẩn cấp nếu cờ URG được đặt thành 1.
Options- Nó tạo điều kiện cho các tùy chọn bổ sung, mà tiêu đề thông thường không có. Trường tùy chọn luôn được mô tả bằng các từ 32 bit. Nếu trường này chứa dữ liệu nhỏ hơn 32 bit, phần đệm được sử dụng để che các bit còn lại để đạt đến ranh giới 32 bit.
Nếu bạn muốn nghiên cứu chi tiết về TCP, vui lòng tham khảo liên kết này - https://www.tutorialspoint.com/data_communication_computer_network/transmission_control_protocol.htm
Kiến trúc tiêu đề UDP (User Datagram Protocol)
UDP là một giao thức không kết nối đơn giản không giống như TCP, một giao thức hướng kết nối. Nó liên quan đến số lượng cơ chế giao tiếp tối thiểu. Trong UDP, người nhận không tạo ra thông báo xác nhận gói đã nhận và đến lượt nó, người gửi không đợi bất kỳ thông báo xác nhận nào đối với gói được gửi. Thiếu sót này làm cho giao thức này không đáng tin cậy cũng như xử lý dễ dàng hơn. Sau đây là sơ đồ của tiêu đề UDP cùng với mô tả các trường:
Cổng nguồn
Thông tin 16-bit này được sử dụng để xác định cổng nguồn của gói tin.
Cảng đích
Thông tin 16-bit này được sử dụng để xác định dịch vụ mức ứng dụng trên máy đích.
Chiều dài
Trường độ dài chỉ định toàn bộ độ dài của gói UDP (bao gồm cả tiêu đề). Nó là trường 16 bit và giá trị tối thiểu là 8 byte, tức là kích thước của chính tiêu đề UDP.
Checksum
Trường này lưu trữ giá trị tổng kiểm tra được tạo bởi người gửi trước khi gửi. IPv4 có trường này là tùy chọn, vì vậy khi trường tổng kiểm tra không chứa bất kỳ giá trị nào, nó được đặt thành 0 và tất cả các bit của nó được đặt thành 0.
Để nghiên cứu chi tiết về TCP, vui lòng tham khảo liên kết này - User Datagram Protocol