Lệnh nmap trong linux với các ví dụ dễ hiểu

Lệnh nmap trong Linux là một công cụ quét mạng mạnh mẽ, giúp bạn khám phá các thiết bị và dịch vụ đang hoạt động. Nó cho phép bạn xác định cổng mở, hệ điều hành và các thông tin quan trọng khác về mục tiêu. Với lệnh nmap, việc kiểm tra bảo mật và khắc phục sự cố mạng trở nên dễ dàng hơn bao giờ hết.

Lệnh nmap trong linux là gì?

Nmap, viết tắt của Network Mapper, là một công cụ quét mạng mạnh mẽ và phổ biến trong Linux. Command nmap in linux cho phép bạn khám phá các thiết bị và dịch vụ đang chạy trên một mạng cụ thể. Nó giúp xác định hệ điều hành, phiên bản phần mềm và các lỗ hổng bảo mật tiềm ẩn của mục tiêu. Nmap hoạt động bằng cách gửi các gói tin đến mục tiêu và phân tích phản hồi để thu thập thông tin. Với giao diện dòng lệnh linh hoạt, nmap là công cụ không thể thiếu cho quản trị viên mạng và chuyên gia bảo mật.

Tìm hiểu các kiến thức cơ bản về nmap

Trong bước này, chúng ta sẽ tìm hiểu về nmap (Network Mapper), một công cụ mạnh mẽ để khám phá mạng và kiểm tra bảo mật.

Nmap là một tiện ích mã nguồn mở miễn phí, dùng để quét mạng, xác định dịch vụ đang chạy và phát hiện lỗ hổng tiềm ẩn.

Đầu tiên, hãy bắt đầu bằng cách cài đặt nmap trên container Ubuntu 22.04 Docker của chúng ta:

sudo apt-get update
sudo apt-get install -y nmap

Ví dụ về đầu ra:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  liblinear6 libpcap0.8 libpcre2-8-0 libsqlite3-0 libssl-dev libssl1.1 zlib1g
Suggested packages:
  nmap-frontend
The following NEW packages will be installed:
  liblinear6 libpcap0.8 libpcre2-8-0 libsqlite3-0 libssl-dev libssl1.1 nmap zlib1g
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.

Sau khi cài đặt nmap, hãy khám phá một số cách sử dụng cơ bản của nó:

  1. Thực hiện quét TCP connect đơn giản trên một host mục tiêu:
nmap 192.168.1.100

Ví dụ về đầu ra:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  1. Thực hiện quét chi tiết hơn với phát hiện phiên bản và fingerprint hệ điều hành:
nmap -sV -O 192.168.1.100

Ví dụ về đầu ra:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
443/tcp  open  ssl/http Apache httpd 2.4.41 ((Ubuntu))
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0

Trong bước này, chúng ta đã học cách sử dụng cơ bản của lệnh nmap, bao gồm quét TCP connect đơn giản và quét chi tiết hơn với phát hiện phiên bản và OS fingerprinting.

Ở bước tiếp theo, chúng ta sẽ khám phá các tính năng và kỹ thuật nâng cao hơn của nmap.

Thực hiện Quét Mạng với nmap

Trong bước này, chúng ta sẽ tìm hiểu sâu hơn về quét mạng bằng nmap và khám phá các tính năng nâng cao của nó.

Đầu tiên, hãy thử quét SYN, đây là một cách bí mật để quét một mạng:

sudo nmap -sS 192.168.1.1-254

Ví dụ về kết quả:

Starting Nmap scan on 192.168.1.0/24
Nmap scan report for 192.168.1.1
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https

Nmap scan report for 192.168.1.100
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https

Tiếp theo, hãy thực hiện quét UDP để xác định các cổng UDP đang mở:

sudo nmap -sU 192.168.1.100

Ví dụ về kết quả:

Starting Nmap UDP scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT    STATE SERVICE
123/udp open  ntp

Chúng ta cũng có thể sử dụng nmap để quét một phạm vi cổng cụ thể:

sudo nmap -p 1-1000 192.168.1.100

Ví dụ về kết quả:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https

Cuối cùng, hãy thử quét TCP SYN với dò tìm phiên bản và nhận dạng hệ điều hành (OS fingerprinting):

sudo nmap -sS -sV -O 192.168.1.100

Ví dụ về kết quả:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
443/tcp  open  ssl/http Apache httpd 2.4.41 ((Ubuntu))
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0

Trong bước này, chúng ta đã học cách thực hiện các loại quét mạng khác nhau bằng nmap. Các loại quét bao gồm SYN scans, UDP scans, port range scans, và quét với version detection và OS fingerprinting. Những kỹ thuật này có thể hữu ích cho việc khám phá mạng, kiểm tra bảo mật và khắc phục sự cố.

Sử Dụng Các Tính Năng Nâng Cao của nmap

Trong bước cuối cùng này, chúng ta sẽ khám phá các tính năng nâng cao của nmap.

Chúng ta sẽ tìm hiểu cách chúng có thể được sử dụng để phân tích và quét mạng phức tạp hơn.

Hãy bắt đầu bằng cách thực hiện quét script để phát hiện các lỗ hổng tiềm ẩn trên máy chủ mục tiêu:

sudo nmap -sV --script=vuln 192.168.1.100

Ví dụ về đầu ra:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
| ssh-hostkey:
|   3072 c4:f8:9c:0c:cb:8a:d0:95:87:04:a9:44:b2:2e:ac:e5 (RSA)
|   256 ac:00:66:17:63:c0:80:9d:43:bd:ee:e9:a6:ca:e5:84 (ECDSA)
|_  256 f5:90:d8:9e:6b:b3:19:e5:7c:ab:02:5a:c1:4b:08:e4 (ED25519)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-slowloris-check:
|   VULNERABLE:
|   Slowloris DOS attack
|     State: VULNERABLE
|     IDs:  CVE-2007-6750, CWE-476
|       Slowloris tries to keep many connections to the target web server open and hold
|       them for as long as possible.  This can effectively starve the web server of
|       resources, slowing it down or causing it to crash.
|
|     Disclosure date: 2009-09-03
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_      http://ha.ckers.org/slowloris/
443/tcp  open  ssl/http Apache httpd 2.4.41 ((Ubuntu))
| http-slowloris-check:
|   VULNERABLE:
|   Slowloris DOS attack
|     State: VULNERABLE
|     IDs:  CVE-2007-6750, CWE-476
|       Slowloris tries to keep many connections to the target web server open and hold
|       them for as long as possible.  This can effectively starve the web server of
|       resources, slowing it down or causing it to crash.
|
|     Disclosure date: 2009-09-03
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_      http://ha.ckers.org/slowloris/

Chúng ta cũng có thể sử dụng nmap để thực hiện quét TCP connect và lưu kết quả vào một file:

sudo nmap -oA nmap_results 192.168.1.100

Ví dụ về đầu ra:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https

Kết quả được lưu trong các file sau:

  • nmap_results.nmap
  • nmap_results.gnmap
  • nmap_results.xml

Cuối cùng, hãy thử quét TCP SYN với dò tìm service và version, OS fingerprinting và quét script:

sudo nmap -sS -sV -O -sC 192.168.1.100

Ví dụ về đầu ra:

Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
| ssh-hostkey:
|   3072 c4:f8:9c:0c:cb:8a:d0:95:87:04:a9:44:b2:2e:ac:e5 (RSA)
|   256 ac:00:66:17:63:c0:80:9d:43:bd:ee:e9:a6:ca:e5:84 (ECDSA)
|_  256 f5:90:d8:9e:6b:b3:19:e5:7c:ab:02:5a:c1:4b:08:e4 (ED25519)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
| http-server-header:
|   Apache/2.4.41 (Ubuntu)
|_  Server: Apache/2.4.41 (Ubuntu)
443/tcp  open  ssl/http Apache httpd 2.4.41 ((Ubuntu))
| http-server-header:
|   Apache/2.4.41 (Ubuntu)
|_  Server: Apache/2.4.41 (Ubuntu)
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0

Trong bước cuối cùng này, chúng ta đã khám phá một số tính năng nâng cao của nmap.

Chúng bao gồm quét script để phát hiện lỗ hổng, lưu kết quả quét vào file.

Chúng ta cũng đã thực hiện quét toàn diện với dò tìm service và version, OS fingerprinting và quét script.

Các kỹ thuật này có thể vô giá để đánh giá và khắc phục sự cố bảo mật mạng.

Kết luận cho linux nmap command

Vậy là chúng ta đã cùng nhau khám phá những điều thú vị về nmap trên Linux rồi! Hy vọng qua bài viết này, bạn đã có cái nhìn tổng quan và biết cách sử dụng nmap để quét mạng một cách hiệu quả. Linux nmap command là một công cụ mạnh mẽ, giúp bạn kiểm tra bảo mật và tìm hiểu thông tin về các thiết bị trong mạng. Đừng ngại thử nghiệm các tùy chọn khác nhau để làm quen với cách thức hoạt động của nó nhé. Hãy nhớ rằng, việc sử dụng nmap cần tuân thủ các quy tắc và đạo đức, tránh xâm phạm trái phép vào hệ thống của người khác. Chúc bạn thành công trên con đường khám phá thế giới mạng với nmap!

Last Updated : 15/10/2025