Liên hệProfile
Danh mục

Mục Lục

    Nmap là gì? Cách cài đặt và sử dụng nmap nhanh chóng trên Linux

    Nguyễn Hưng

    Ngày đăng:

    24/02/2026

    Cập nhật lần cuối:

    24/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    24/02/2026

    Cập nhật lần cuối:

    24/02/2026

    Mục lục

    Nmap là một công cụ dòng lệnh mã nguồn mở mạnh mẽ, cho phép người dùng khám phá các máy chủ, dịch vụ, và cổng đang mở trên một hệ thống mạng. Bằng cách phân tích các gói tin phản hồi, Nmap có thể xác định phiên bản hệ điều hành, loại tường lửa đang hoạt động, và thậm chí là các lỗ hổng tiềm ẩn, trở thành công cụ không thể thiếu để khảo sát và kiểm thử bảo mật. Trong bài viết này, mình sẽ cung cấp một hướng dẫn toàn diện về lệnh Nmap, từ những khái niệm cơ bản nhất đến các kỹ thuật quét chuyên sâu.

    Những điểm chính

    • Định nghĩa Nmap: Hiểu rõ khái niệm, mục đích chính và cú pháp cơ bản của Nmap.
    • Cấu trúc câu lệnh: Nắm vững cú pháp tiêu chuẩn để thực hiện các lệnh quét mục tiêu dựa trên địa chỉ IP hoặc tên máy chủ chính xác.
    • Cơ chế hoạt động: Nắm được cơ chế hoạt động của Nmap, cách Nmap gửi gói tin để thu thập thông tin về máy chủ, dịch vụ và hệ điều hành.
    • Các tính năng cốt lõi: Làm chủ các chức năng quan trọng từ quét cổng, lập bản đồ mạng đến sử dụng kịch bản tự động hóa NSE mạnh mẽ.
    • Hướng dẫn cài đặt: Nắm vững cách cài đặt Nmap trên các bản phân phối Linux phổ biến như Ubuntu, Debian và CentOS.
    • Cách sử dụng cơ bản: Thành thạo các lệnh quét cơ bản để kiểm tra một máy chủ, một dải IP hoặc toàn bộ mạng con một cách nhanh chóng.
    • Kỹ thuật quét nâng cao: Nắm được cách nhận diện phiên bản dịch vụ, thực hiện quét ẩn mình và xuất báo cáo kết quả chuyên nghiệp.
    • Các ví dụ sử dụng nâng cao: Học được các kỹ thuật quét chuyên sâu như quét tất cả các cổng, phát hiện dịch vụ/hệ điều hành, quét ẩn danh và hiểu ý nghĩa các trạng thái cổng.
    • Lưu ý quan trọng khi sử dụng: Nắm được các lưu ý quan trọng về pháp lý và kỹ thuật để đảm bảo việc sử dụng Nmap an toàn, hiệu quả và có trách nhiệm.
    • Tài nguyên tham khảo: Tiếp cận các nguồn tài liệu chính thống và cộng đồng hỗ trợ uy tín để nghiên cứu chuyên sâu về công cụ.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các câu hỏi thực tế như cách cài đặt, tại sao quét chậm và làm thế nào để quét nhanh các thiết bị trong mạng LAN.

    Nmap là gì?

    Nmap (Network Mapper) là một công cụ dòng lệnh mã nguồn mở được sử dụng phổ biến trong lĩnh vực quản trị hệ thống và kiểm tra bảo mật. Với Nmap, bạn có thể quét địa chỉ IP, phát hiện thiết bị đang hoạt động trong mạng, liệt kê cổng mở, dịch vụ đang chạy, xác định hệ điều hành và lỗ hổng bảo mật. Công cụ này đóng vai trò quan trọng trong việc khảo sát hạ tầng mạng, phát hiện thiết bị lạ, hoặc kiểm tra firewall và dịch vụ bị lộ.

    Nmap (Network Mapper) là một công cụ dòng lệnh mã nguồn mở
    Nmap (Network Mapper) là một công cụ dòng lệnh mã nguồn mở

    Cấu trúc lệnh Nmap là gì?

    nmap [Scan Type(s)] [Options] {target specification}

    Trong đó {target specification} là mục tiêu bạn muốn quét. Bạn có thể chỉ định mục tiêu bằng tên máy chủ (hostname) hoặc địa chỉ IP.

    Cơ chế hoạt động của Nmap

    Về cơ bản, Nmap hoạt động bằng cách gửi các gói tin (packet) được chế tạo đặc biệt đến mục tiêu đã chỉ định, sau đó phân tích các gói tin phản hồi để thu thập thông tin. Công cụ này có khả năng quét các cổng trên một hoặc nhiều máy chủ nhằm xác định những dịch vụ đang hoạt động, các cổng đang ở trạng thái mở, và thậm chí là phiên bản hệ điều hành của thiết bị. Để đảm bảo tính chính xác và độ tin cậy của kết quả, Nmap sử dụng một loạt kỹ thuật quét đa dạng, bao gồm:

    • Quét SYN (TCP SYN Scan)
    • Quét kết nối TCP (TCP Connect Scan)
    • Quét UDP (UDP Scan)
    • Quét giao thức IP (IP Protocol Scan)

    Ngoài ra, Nmap có thể nhận diện hệ điều hành của một máy chủ mục tiêu thông qua việc phân tích sâu các gói tin phản hồi. Bằng cách so sánh các đặc điểm kỹ thuật trong ngăn xếp TCP/IP — chẳng hạn như thứ tự số hiệu, kích thước cửa sổ, và các tùy chọn TCP — với một cơ sở dữ liệu chứa các “dấu vân tay” của hệ điều hành đã biết, Nmap có thể đưa ra phỏng đoán chính xác về hệ thống đang được sử dụng.

    Cơ chế hoạt động của Nmap dựa trên việc gửi các gói tin IP thô
    Cơ chế hoạt động của Nmap dựa trên việc gửi các gói tin IP thô (nguồn: Internet)

    Các tính năng quan trọng của Nmap

    Quét cổng (Port Scanning):

    • Đây là chức năng cốt lõi, cho phép xác định các cổng đang mở trên một thiết bị mục tiêu.
    • Hỗ trợ đa dạng các kỹ thuật quét như TCP Connect, SYN (half-open), FIN, và nhiều loại khác.
    • Phân loại chi tiết trạng thái của từng cổng, bao gồm: Open (Mở), Closed (Đóng), Filtered (Bị lọc), và Unfiltered.

    Phát hiện hệ điều hành (OS Detection):

    • Có khả năng nhận diện hệ điều hành trên thiết bị mục tiêu bằng cách phân tích các phản hồi đặc trưng từ ngăn xếp TCP/IP.
    • Áp dụng kỹ thuật “dấu vân tay” (TCP/IP fingerprinting) để suy đoán phiên bản hệ điều hành và, kết hợp với tính năng phát hiện dịch vụ, nhận diện cả các ứng dụng đang chạy.

    Lập bản đồ mạng (Network Mapping):

    • Cho phép khám phá các máy chủ (host) đang hoạt động trong một mạng và xây dựng liên kết hệ thống.
    • Thực hiện quét trên quy mô lớn toàn bộ dải mạng để phát hiện các máy chủ trực tuyến và dịch vụ mà chúng cung cấp.

    Nmap Scripting Engine (NSE):

    • Cho phép người dùng viết, sử dụng và chia sẻ các kịch bản (script) bằng ngôn ngữ Lua để tự động hóa nhiều tác vụ phức tạp.
    • Các kịch bản này có thể được dùng để phát hiện lỗ hổng bảo mật, khai thác thông tin sâu hơn, thực hiện tấn công brute-force, và nhiều tác vụ nâng cao khác.

    Tương thích với nhiều nền tảng:

    • Hỗ trợ đa nền tảng, hoạt động mượt mà trên hầu hết các hệ điều hành phổ biến như Windows, Linux, macOS và các biến thể khác của Unix.
    • Đi kèm với Zenmap, một giao diện người dùng đồ họa (GUI) chính thức, giúp đơn giản hóa việc sử dụng cho những người dùng không quen với dòng lệnh.
    Các tính năng quan trọng của Nmap
    Các tính năng quan trọng của Nmap

    Hướng dẫn cách cài đặt Nmap trên Linux

    Trên hầu hết các bản phân phối Linux, Nmap có thể được cài đặt trực tiếp từ kho phần mềm chính thức.

    Đối với Ubuntu/Debian:

    sudo apt update
    sudo apt install nmap

    Đối với CentOS/RHEL/Fedora:

    sudo yum install nmap    # CentOS 7
    sudo dnf install nmap    # Fedora, CentOS 8+

    Sau khi quá trình cài đặt hoàn tất, bạn nên kiểm tra lại để chắc chắn rằng lệnh Nmap đã được cài đặt thành công và xem phiên bản hiện tại bằng lệnh sau:

    nmap -v

    Nmap sẽ hiển thị phiên bản hiện tại đang dùng:

    Kết quả sẽ in ra phiên bản hiện tại đang dùng
    Kết quả sẽ hiển thị phiên bản hiện tại đang dùng

    Cách sử dụng lệnh Nmap cơ bản

    Bạn thực thi lệnh Nmap để quét một host hoặc địa chỉ IP như sau:

    nmap <IP hoặc domain>

    Ví dụ:

    nmap 192.168.122.57

    Lệnh trên sẽ quét các cổng TCP mặc định để kiểm tra xem những dịch vụ nào đang mở trên địa chỉ đó:

    Kết quả sau khi quét một host hoặc địa chỉ IP
    Kết quả sau khi quét một host hoặc địa chỉ IP

    Để quét nhiều host, bạn có thể dùng dải IP như sau:

    nmap 192.168.1.1-100

    Kết quả hiển thị chỉ thấy lệnh này đã quét được 2 IP đang hoạt động và các cổng của các IP đó:

    Kết quả sau khi quét dải IP
    Kết quả sau khi quét dải IP

    Bạn cũng có thể quét toàn bộ mạng con bằng lệnh sau:

    nmap 192.168.122.0/24

    Lệnh này sẽ quét toàn bộ mạng con với 256 địa chỉ IP và sẽ cho ra kết quả các IP mà Nmap quét được:

    Kết quả các IP mà nmap quét được
    Kết quả các IP mà Nmap quét được

    Các ví dụ sử dụng lệnh Nmap nâng cao

    Ví dụ, để quét tất cả 65535 cổng, bạn thực thi lệnh sau:

    nmap -p- 192.168.1.1

    Để quét nhanh và hiển thị dịch vụ đang chạy, bạn thực hiện lệnh sau:

    nmap -sV 192.168.1.1

    Sau đó, Nmap sẽ trả kết quả như bên dưới đây:

    Kết quả sau khi quét nhanh và hiển thị dịch vụ đang chạy
    Kết quả sau khi quét nhanh và hiển thị dịch vụ đang chạy

    Để quét địa chỉ IP 192.168.1.1 nhằm xác định hệ điều hành của máy chủ mục tiêu, bạn thực hiện lệnh sau:

    nmap -O 192.168.1.1

    Lệnh kết hợp Nmap -sV -O 192.168.1.1 sẽ thực hiện đồng thời hai chức năng:

    • sV: Nhận diện phiên bản các dịch vụ trên các cổng mở.
    • O: Phát hiện loại hệ điều hành máy chủ mục tiêu.
    nmap -sV -O 192.168.1.1

    Lệnh này thường được dùng trong việc khai thác thông tin server:

    Kết quả hiển thị thông tin server
    Kết quả hiển thị thông tin server

    Nếu bạn muốn quét stealth để không bị phát hiện bởi các hệ thống firewall hoặc IDS/IPS, hãy thực thi lệnh sau:

    nmap -sS 192.168.1.1

    Lệnh Nmap -iL danhsach_ip.txt dùng để kiểm tra nhiều mục tiêu cùng lúc bằng cách đọc danh sách địa chỉ IP hoặc tên domain từ file danhsach_ip.txt:

    nmap -iL danhsach_ip.txt

    Bạn ghi kết quả ra file bằng lệnh sau:

    nmap -oN ketqua.txt 192.168.1.1

    Khi quét, Nmap sẽ báo cáo trạng thái của mỗi cổng. Việc hiểu rõ ý nghĩa của các trạng thái này là rất quan trọng để diễn giải kết quả một cách chính xác:

    Trạng tháiMô tả
    OpenCổng đang ở trạng thái mở và có một ứng dụng đang hoạt động, sẵn sàng chấp nhận các kết nối TCP hoặc gói tin UDP trên đó.
    ClosedCổng có thể truy cập được (probe không bị chặn), nhưng không có ứng dụng nào đang lắng nghe. Máy chủ mục tiêu đã phản hồi cho biết cổng này hiện không được sử dụng.
    FilteredNmap không thể xác định trạng thái của cổng. Nguyên nhân là do một thiết bị lọc gói tin, tường lửa, hoặc một rào cản mạng khác đã ngăn chặn các gói tin thăm dò (probe) đến được cổng đó. Nmap không nhận được bất kỳ phản hồi nào.
    UnfilteredCổng có thể truy cập được, nhưng Nmap không thể xác định được cổng đang mở hay đóng. Trạng thái này chỉ xảy ra với kiểu quét ACK (-sA).
    Open|FilteredNmap không thể xác định chắc chắn cổng đang mở hay bị lọc. Điều này xảy ra khi một cổng mở không đưa ra phản hồi, khiến Nmap không thể phân biệt được.
    Closed|FilteredNmap không thể xác định chắc chắn cổng đang đóng hay bị lọc. Trạng thái này chỉ được sử dụng bởi kiểu quét IPID Idle (-sI).

    Một số lưu ý quan trọng khi sử dụng Nmap

    Việc sử dụng Nmap trên môi trường Linux đòi hỏi bạn phải nắm vững các nguyên tắc sau để đảm bảo an toàn và hiệu quả:

    • Tuân thủ pháp luật và quyền hạn: Việc quét các public IP hoặc mạng của tổ chức khác mà không xin phép có thể bị coi là hành vi tấn công và vi phạm pháp luật an ninh mạng. Do đó bạn chỉ được phép quét các hệ thống mạng mà bạn sở hữu hoặc được sự cho phép rõ ràng bằng văn bản từ chủ sở hữu.
    • Sử dụng quyền root (sudo): Trên Linux, để khai thác tối đa sức mạnh của Nmap, bạn nên chạy lệnh với quyền root (sử dụng sudo).
    • Cẩn trọng với tường lửa và IDS/IPS: Để hạn chế nguy cơ bị phát hiện và chặn, bạn nên điều chỉnh tốc độ quét ở mức hợp lý, tránh quét quá nhanh hoặc đồng thời số lượng lớn cổng.
    • Lưu ý về hiệu năng và băng thông: Việc quét toàn bộ dải mạng lớn có thể tiêu tốn lượng băng thông đáng kể và gây quá tải cho các thiết bị mạng yếu. Do đó bạn hãy giới hạn phạm vi quét nếu không cần thiết bằng cách dùng -p để chỉ định cổng cụ thể hoặc -F để quét các cổng phổ biến.
    • Lưu kết quả: Công cụ Nmap cho phép xuất dữ liệu ra nhiều định dạng như TXT, XML hoặc Grepable để dễ dàng lưu trữ và xử lý, giúp thuận tiện cho việc phân tích, đánh giá tình trạng hệ thống về sau, đồng thời hỗ trợ lập báo cáo đầy đủ khi cần.
    Bạn nên chạy lệnh với quyền root.
    Bạn nên chạy lệnh Nmap với quyền root (Nguồn: Internet)

    Tài nguyên và kênh tham khảo chính thức của Nmap

    Để nghiên cứu chuyên sâu về Nmap, nguồn tài liệu chính thống và toàn diện nhất chính là trang web Nmap.org. Trang web này được phát triển và duy trì trực tiếp bởi chính tác giả của công cụ, Fyodor Vaskovitch. Các tài nguyên thiết yếu trên Nmap.org và các kênh liên quan bao gồm:

    • Tài liệu chính thức (Documentation):
      • Nmap Reference Guide: Cung cấp mô tả chi tiết và toàn diện về mọi khía cạnh của Nmap, từ cú pháp lệnh đến cơ chế hoạt động.
      • Zenmap GUI Users’ Guide: Tài liệu hướng dẫn sử dụng giao diện đồ họa Zenmap.
    • Các danh sách gửi thư (Mailing Lists): Người dùng có thể tham gia danh sách Nmap-hackers để cập nhật thông tin về các phiên bản mới. Trong khi đó, Nmap-dev là kênh dành cho các nhà phát triển muốn đóng góp mã nguồn, thử nghiệm tính năng hoặc tham gia thảo luận kỹ thuật.
    • Top 100 Network Security Tools: Bảng xếp hạng 100 công cụ bảo mật hàng đầu do chính cộng đồng người dùng Nmap bình chọn.
    Tài nguyên và kênh tham khảo chính thức của Nmap
    Tài nguyên và kênh tham khảo chính thức của Nmap

    Câu hỏi thường gặp

    Làm thế nào để cài đặt Nmap trên Ubuntu?

    Bạn có thể cài đặt Nmap trên Ubuntu thông qua terminal bằng cách cập nhật kho gói và chạy lệnh cài đặt sau:
    sudo apt update
    sudo apt install nmap
    Sau khi cài đặt, bạn kiểm tra phiên bản bằng lệnh nmap –version để đảm bảo thành công.

    Nmap trên Linux có thể quét được những thông tin gì?

    Nmap có thể quét được các thông tin sau:
    – Các địa chỉ IP đang hoạt động trong mạng.
    – Các cổng đang mở và các dịch vụ đang chạy trên đó.
    – Hệ điều hành của thiết bị mục tiêu.
    – Phiên bản phần mềm của các dịch vụ đang chạy.
    – Phát hiện tường lửa hoặc các bộ lọc gói tin.

    Tại sao quá trình quét Nmap lại diễn ra chậm?

    Tốc độ quét phụ thuộc vào nhiều yếu tố như: Băng thông mạng, số lượng cổng cần quét và đặc biệt là cơ chế phản hồi của mục tiêu. Thêm vào đó, quét giao thức UDP (-sU) thường chậm hơn TCP rất nhiều.
    Ngoài ra, nếu bạn bật chế độ phát hiện hệ điều hành (-O) hoặc quét phiên bản (-sV), Nmap cần gửi nhiều gói tin phức tạp hơn, làm tăng thời gian xử lý.

    Làm sao để quét nhanh các thiết bị đang online trong mạng LAN?

    Để kiểm tra nhanh các thiết bị đang hoạt động mà không cần quét cổng sâu, bạn có thể sử dụng kỹ thuật Ping Scan:
    nmap -sn 192.168.1.0/24
    Lệnh này sẽ liệt kê danh sách các IP đang online trong dải mạng nội bộ của bạn.

    Nmap là công cụ rất linh hoạt, phục vụ từ quản trị mạng đến kiểm thử bảo mật. Với các lệnh cơ bản, bạn có thể xác định cổng mở, dịch vụ đang chạy, khi kết hợp với các tùy chọn nâng cao, Nmap trở thành công cụ mạnh mẽ để khảo sát mạng, phát hiện lỗ hổng và kiểm tra cấu hình firewall. Mời bạn tham khảo thêm các lệnh và kiến thức liên quan đến Linux hữu ích khác ngay dưới đây:

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng dmidecode trên Linux để xem thông tin phần cứng chính xác và nhanh chóng
    Cách dùng dmidecode trên Linux để xem thông tin phần cứng chính xác và nhanh chóng

    dmidecode là một công cụ dòng lệnh trên Linux dùng để đọc và hiển thị thông tin phần cứng máy tính từ bảng DMI hoặc SMBIOS cung cấp bởi BIOS, giúp kiểm tra chi tiết như nhà sản xuất, model, số serial, BIOS, CPU, RAM mà không cần mở máy. Trong bài viết này, mình…

    27/02/2026

    Lệnh partx Linux là gì? 7 ví dụ ứng dụng thực tế của lệnh partx
    Lệnh partx Linux là gì? 7 ví dụ ứng dụng thực tế của lệnh partx

    Lệnh partx Linux là một công cụ dòng lệnh thuộc gói util-linux, được sử dụng để thêm, xóa hoặc liệt kê các phân vùng của thiết bị đĩa vào bảng phân vùng của hệ thống mà không cần khởi động lại hoặc gắn lại thiết bị. Trong bài viết này, mình sẽ hướng dẫn bạn…

    27/02/2026

    Hướng dẫn 7 cách kiểm tra CPU trên Linux chính xác và nhanh chóng
    Hướng dẫn 7 cách kiểm tra CPU trên Linux chính xác và nhanh chóng

    Trong môi trường quản trị Linux, việc kiểm tra tốc độ xung nhịp CPU là một thao tác cần thiết giúp người dùng đánh giá khả năng chịu tải, phát hiện các điểm nghẽn hiệu suất  và hỗ trợ tối ưu trong quá trình tối ưu hóa hoặc khắc phục sự cố phần cứng. Trong…

    27/02/2026

    Hướng dẫn xóa bộ nhớ Cache, bộ đệm và Swap trong Linux nhanh chóng, chi tiết
    Hướng dẫn xóa bộ nhớ Cache, bộ đệm và Swap trong Linux nhanh chóng, chi tiết

    Trong Linux, bộ nhớ cache là nơi lưu trữ tạm thời dữ liệu và các file đã truy cập gần đây để giảm thời gian truy xuất ở lần tiếp theo. Tuy nhiên, theo thời gian, bộ nhớ cache có thể chiếm dụng quá nhiều RAM, đặc biệt trên các máy chủ có uptime dài…

    27/02/2026

    linux

    lenh

    text