Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các giao thức và dịch vụ mạng. Trái tim của Internet, mọi hacker có đạo đức phải hiểu các giao thức mạng chung để có thể hiểu được kiến trúc của máy tính.
Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Một trong những kỹ năng quan trọng nhất để trở thành một hacker có đạo đức là kỹ năng về networking. Một máy tính không thể không có kết nối do đó hacker cũng vậy, quan trọng là phải có kiến thức về mạng để làm quen với kiến trúc mới.
Kiến thức về các giao thức và dịch vụ mạng
SMTP
SMTP, viết tắt của (simple message transfer protocol), là một giao thức email được sử dụng để gửi tin nhắn email. Được định nghĩa là RFC 5321, là trung tâm của kết nối mail. SMTP cũ hơn nhiều so với HTTP, nhưng nó vẫn được người dùng bình thường sử dụng. Để hỗ trợ các dịch vụ email, cần có một cặp giao thức, bao gồm SMTP và POP/IMAP.
SMTP sử dụng ba chức năng cơ bản:
- Nó xác minh ai đang gửi email thông qua máy chủ SMTP.
- Nó cũng gửi email đi.
- Khi tin nhắn không thể gửi đến người nhận, tin nhắn sẽ gửi lại cho người gửi.
POP/IMAP
POP, hoặc “Post Office Protocol” và IMAP, “Internet Message Access Protocol”. Các giao thức này rất quan trọng, để gửi một thông điệp đến người nhận, nó sử dụng IMAP để chịu trách nhiệm chuyển email giữa máy chủ và máy khách.
Sự khác biệt chính giữa POP và IMAP, POP là cách tiếp cận đơn giản để tải xuống các thư trong hộp thư đến. Nơi IMAP sẽ đồng bộ hóa hộp thư đến hiện tại, với thư mới trên máy chủ, tải xuống bất kỳ thứ gì mới.
SMTP hoạt động như thế nào?
Sau khi một máy chủ SMTP được thiết lập, các ứng dụng email có thể kết nối và giao tiếp với nó. Khi người dùng nhấn “send” trên một email, ứng dụng email sẽ mở một kết nối SMTP đến máy chủ để nó có thể gửi. Vai trò của máy chủ SMTP trong dịch vụ này, là hoạt động như văn phòng phân loại, email (thư) được chọn và gửi đến máy chủ này, sau đó chuyển nó đến người nhận.
SMTP hoạt động trong giao thức lớp ứng dụng (Application).
SMB
SMB, viết tắt của (server message block protocol). Giao thức này là một giao thức client-server được sử dụng để chia sẻ và truyền dữ liệu cũng như truy cập vào các tệp.
Máy chủ có thể được truy cập để xem các tệp, API, máy in và các tài nguyên khác.
Giao thức này còn được gọi là giao thức phản hồi yêu cầu (request-response) có nghĩa là nó truyền dữ liệu/thông điệp giữa máy khách và máy chủ.
SMB hoạt động trong lớp Application hoặc lớp Presentation.
Khi bạn đã thiết lập kết nối với giao thức SMB, bạn có thể xem, chuyển, lấy tài nguyên từ máy chủ đó.
Nó cũng yêu cầu thông tin đăng nhập, nếu người dùng đã đặt mật khẩu trên đó.
Sự ra đời của SMB
Kể từ khi Hệ điều hành Windows 95 ra đời vào đầu năm 1995, chúng đã bao gồm hỗ trợ giao thức SMB của máy khách và máy chủ được gọi là “SAMBA”. Nó chạy trên hệ thống UNIX.
SMB hoạt động trong lớp Application hoặc lớp Presentation.
TELNET
Telnet, viết tắt của (teletype network protocol) phiên bản SSH không an toàn, telnet là một giao thức cho phép bạn tạo kết nối với máy chủ và thực thi các lệnh, đó là máy chủ lưu trữ telnet. Khi bạn thiết lập kết nối với Telnet, máy khách sau đó sẽ trở thành một thiết bị đầu cuối ảo – cho phép bạn tương tác với máy chủ từ xa.
Telnet bị thay thế
Telnet ít được sử dụng bởi các công ty, vì lý do bảo mật. Hầu hết các công ty đã và đang sử dụng SSH (secure shell host) vì nó sẽ hiển thị khi bạn nhập thông tin đăng nhập của mình. Nó hiện đã được thay thế bằng SSH.
Telnet hoạt động như thế nào?
Kết nối với máy chủ Telnet rất dễ. “Telnet [ip] [port]” là đủ để có thể kết nối với máy chủ Telnet.
FTP
FTP, viết tắt của (file transfer protocol), nó cho phép bạn chuyển các tệp đến dịch vụ này từ xa. Nó sử dụng mô hình client-server.
FTP hoạt động như thế nào?
FTP hoạt động theo hai phương thức:
- Kênh lệnh
- Kênh dữ liệu.
Kênh lệnh → Kênh lệnh được sử dụng để truyền các lệnh cũng như trả lời các lệnh đó
Kênh dữ liệu → kênh dữ liệu được sử dụng để truyền dữ liệu.
Các nhà nghiên cứu bảo mật luôn khuyến nghị không sử dụng cổng 21 (FTP) vì lý do bảo mật.
Khi dịch vụ được mở, bạn có thể tạo kết nối giữa máy khách và máy chủ.
Chủ động/Thụ động
Máy chủ FTP có thể hoạt động cả chủ động hoặc thụ động.
- Máy chủ FTP chủ động, kết nối với số cổng cho các kết nối đến một cách ngẫu nhiên.
- Máy chủ FTP thụ động, mở kết nối đến một cổng và địa chỉ IP cụ thể để lắng nghe thụ động và các máy khách kết nối với nó.
DNS
DNS, viết tắt của (domain name system). Dịch vụ này cung cấp cho chúng ta một phương thức đơn giản để giao tiếp với các thiết bị trên internet mà không cần nhớ các số, giá trị phức tạp.
ví dụ: https://www.google.com tương ứng với “172.217.169.174”
Tên miền phụ (subdomain)
Tên miền phụ là một phần bổ sung của tên miền chính. Tên miền phụ được tạo để tổ chức và quản lý các phần khác nhau trên trang web của bạn, ví dụ:
Vhí dụ:
admin.example.com → tên miền phụ,
example.com → tên miền chính
DNS là một giao thức lớp ứng dụng.
SSH
Secure Shell (SSH) là một giao thức bảo mật mạng sử dụng cơ chế mã hóa và xác thực để triển khai các dịch vụ như truy cập an toàn và truyền tệp. Phiên bản ban đầu, SSH1 tập trung vào việc cung cấp cơ sở đăng nhập từ xa an toàn để thay thế TELNET và các chương trình đăng nhập từ xa khác không có bảo mật. SSH cũng cung cấp khả năng client-server tổng quát hơn và có thể được sử dụng cho các chức năng mạng như vậy.
Nó an toàn hơn nhiều so với TELNET, vì nó sử dụng cơ chế mã hóa và xác thực để được truy cập vào máy chủ.
TLS
Xác thực máy chủ xảy ra ở lớp truyền tải (transport), dựa trên máy chủ sở hữu cặp khóa công khai/riêng tư
Transport Layer Secure
SSH hoạt động như thế nào?
SSH rất dễ sử dụng:
ssh [user]@ip-addr/localhost
SSH là một giao thức lớp ứng dụng.
ARP
ARP, viết tắt của (address resolution protocol). Giao thức này chịu trách nhiệm cho phép các thiết bị tự nhận dạng trên mạng. Đây là một trong những giao thức quan trọng nhất trong lớp mạng.
ARP hoạt động như thế nào
ARP có một sổ cái quan trọng trong mạng để lưu trữ thông tin, được gọi là “bộ nhớ đệm”
Nó hoạt động với địa chỉ MAC và IP. ARP gửi hai loại tin nhắn.
- ARP request
- ARP reply
ARP request
Khi một yêu cầu ARP được gửi đi, một tin nhắn sẽ được truyền đến mọi thiết bị được thiết bị tìm thấy trên mạng. Điều này không có gì khác ngoài việc phát một gói tin qua mạng để xác nhận xem chúng ta có tìm thấy địa chỉ MAC đích hay không.
ARP reply
Một phản hồi ARP được trả về thiết bị ban đầu để xác nhận điều này. Phản hồi địa chỉ MAC hỗ trợ cho việc liên lạc dữ liệu.
ARP nằm trong giao thức lớp 2.
DHCP
DHCP, viết tắt của (Dynamic Host Configuration Protocol) giúp một thiết bị muốn kết nối với mạng. nếu nó chưa được gán IP theo cách thủ công.
DHCP dựa trên mô hình client-server và dựa trên discovery, offer, request, và ACK.
DHCP gửi một yêu cầu được gọi là (DHCP discover) để xem có máy chủ DHCP nào trên mạng hay không. Khi một ứng dụng khách DHCP khởi động, nó sẽ tự động gửi một thông báo đặc biệt về DHCP discover bằng địa chỉ broadcast. Thông báo DHCP discover này hỏi, “có máy chủ DHCP nào ngoài đó không”?
DHCP là một giao thức lớp ứng dụng
MAC
MAC, viết tắt của (media access control). Địa chỉ MAC là số nhận dạng duy nhất được nhà sản xuất gán cho một phần cứng mạng.
Địa chỉ MAC bao gồm sáu bộ hai ký tự như 00: 12: ED: 4B: 16: 5E. Bạn có muốn xem NIC của mình không? Nếu bạn dùng hệ điều hành windows, hãy nhập “ipconfig \ all” từ command prompt để hiển thị địa chỉ thực.
Địa chỉ MAC nằm ở lớp 2 (liên kết dữ liệu).
ICMP
ICMP, viết tắt của (Internet Control Message Protocol) là một trong những nguyên tắc cơ bản quan trọng nhất trong mạng, bởi vì không có ICMP có nghĩa là không có phản hồi và điều đó có nghĩa là không có kết nối. Hầu hết khi bạn nhập “ping google.com”, bạn sẽ thấy TTL (thời gian tồn tại) có nghĩa là các gói ICMP di chuyển được đo bằng ping, chẳng hạn như mạng gia đình của bạn hoặc trang web mà bạn muốn truy cập.
Cách dễ nhất để xem ICMP trên mạng là sử dụng ping và traceroute, nhưng traceroute cũng sẽ được sử dụng để phân tích dữ liệu truyền từ nguồn đến địa chỉ đích của nó.
Như ảnh ở trên, ttl là 112.
ICMP được hiển thị như một giao thức lớp 3.
NAT
NAT, viết tắt của (network address translation), ban đầu được sử dụng để giải quyết tình trạng thiếu địa chỉ IPv4, hiện được sử dụng để che giấu các địa chỉ IPv4 công khai. Để truy cập Internet, cần một địa chỉ IP công cộng, nhưng chúng ta có thể sử dụng địa chỉ IP riêng trong mạng riêng của mình. Ý tưởng của NAT là cho phép nhiều thiết bị truy cập Internet thông qua một địa chỉ công cộng duy nhất.
Với NAT, một mạng có thể hỗ trợ hơn 500 máy chủ có địa chỉ riêng và bộ định tuyến NAT có thể chuyển các máy này sang dải địa chỉ công cộng khi máy khách cần truy cập internet.
NAT nằm ở lớp 3.
IP
IP, viết tắt của (Internet Protocol). Công việc chính chỉ là gửi tin nhắn giữa các thiết bị và giống như bất kỳ dịch vụ gửi thư nào, nó không thể làm tốt công việc của mình nếu nó không biết người nhận đang ở đâu. chẳng hạn như gửi thư, phát video trực tuyến hoặc kết nối với một trang web.
Ví dụ:
IP public -> 172.168.16.44
IP private -> 192.168.23.2
IP nằm trong lớp mạng.