Giới thiệu
Trong lab này, bạn sẽ học về lệnh Netcat (nc), một công cụ mạng mạnh mẽ cho phép bạn thiết lập kết nối, truyền tệp và thực hiện các tác vụ liên quan đến mạng khác nhau. Bạn sẽ bắt đầu bằng cách cài đặt Netcat trên một container Docker Ubuntu 22.04, sau đó khám phá cách sử dụng cơ bản của nó, bao gồm thiết lập giao tiếp server-client đơn giản và truyền tệp giữa hai bên.
Lab này bao gồm các bước sau:
- Giới thiệu về Lệnh Netcat (nc)
- Giao tiếp Server và Client bằng Netcat
- Truyền tệp bằng Netcat
Xin lưu ý rằng lệnh Netcat là một công cụ tiêu chuẩn trong Linux và không cần cài đặt thêm.
Giới thiệu về Lệnh Netcat (nc)
Trong bước này, bạn sẽ học về lệnh Netcat (nc), một công cụ mạng mạnh mẽ cho phép bạn thiết lập kết nối, truyền tệp và thực hiện các tác vụ liên quan đến mạng khác nhau.
Netcat là một tiện ích dòng lệnh có thể được sử dụng như một client và một server. Nó thường được gọi là "con dao Thụy Sĩ" của các công cụ mạng do tính linh hoạt và phạm vi ứng dụng rộng rãi của nó.
Hãy bắt đầu bằng cách cài đặt Netcat trên container Docker Ubuntu 22.04 của chúng ta:
sudo apt-get update
sudo apt-get install -y netcat
Ví dụ về đầu ra:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
netcat-openbsd
The following NEW packages will be installed:
netcat netcat-openbsd
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Bây giờ chúng ta đã cài đặt Netcat, hãy khám phá một số cách sử dụng cơ bản của nó.
Giao tiếp Server và Client bằng Netcat
Trong bước này, bạn sẽ học cách sử dụng Netcat để thiết lập giao tiếp server-client đơn giản.
Đầu tiên, hãy khởi động một Netcat server trên một terminal:
nc -l -p 8000
Lệnh này khởi động một Netcat server lắng nghe trên port 8000 cho các kết nối đến.
Bây giờ, trong một terminal khác, hãy kết nối với server với vai trò là một client:
nc 127.0.0.1 8000
Điều này sẽ kết nối client với server đang chạy trên máy cục bộ (127.0.0.1) trên port 8000.
Khi kết nối được thiết lập, bạn có thể nhập một tin nhắn trong terminal server hoặc client, và nó sẽ được hiển thị ở phía bên kia. Ví dụ, hãy nhập một tin nhắn trong terminal client và nhấn Enter:
Hello, server!
Bạn sẽ thấy tin nhắn xuất hiện trong terminal server:
Hello, server!
Để kết thúc giao tiếp, chỉ cần nhập Ctrl+C
trong terminal server hoặc client.
Truyền tệp bằng Netcat
Trong bước này, bạn sẽ học cách sử dụng Netcat để truyền tệp giữa server và client.
Đầu tiên, hãy tạo một tệp mẫu để truyền:
echo "This is a test file." > test_file.txt
Bây giờ, hãy khởi động Netcat server để nhận tệp:
nc -l -p 8000 > received_file.txt
Lệnh này khởi động một Netcat server lắng nghe trên port 8000 và chuyển hướng bất kỳ dữ liệu đến nào vào một tệp có tên received_file.txt
.
Trong một terminal khác, hãy kết nối với server với vai trò là một client và gửi tệp test_file.txt
:
cat test_file.txt | nc 127.0.0.1 8000
Lệnh này đọc nội dung của test_file.txt
và gửi nó đến Netcat server đang chạy trên máy cục bộ (127.0.0.1) trên port 8000.
Khi quá trình truyền tệp hoàn tất, bạn có thể kiểm tra tệp received_file.txt
trong thư mục của server để xác minh rằng tệp đã được truyền thành công:
cat received_file.txt
Bạn sẽ thấy nội dung của tệp test_file.txt
.
Tóm tắt
Trong lab này, bạn đã học về lệnh Netcat (nc), một công cụ mạng mạnh mẽ cho phép bạn thiết lập kết nối, truyền tệp và thực hiện các tác vụ liên quan đến mạng khác nhau. Bạn đã bắt đầu bằng cách cài đặt Netcat trên một container Docker Ubuntu 22.04. Sau đó, bạn đã khám phá cách sử dụng Netcat để thiết lập giao tiếp server-client đơn giản, nơi bạn có thể gửi tin nhắn giữa terminal server và client. Cuối cùng, bạn đã học cách sử dụng Netcat để truyền tệp giữa hai hệ thống.