Hướng dẫn sử dụng nmap trên Linux

Tác giả: 06/10/2022

1. Giới thiệu nmap

Nmap (Network Mapper) là một công cụ mã nguồn mở để thăm dò mạng và quét bảo mật. Nmap được sử dụng để xác định máy chủ đang chạy và các dịch vụ đang chạy trên máy chủ.

Nmap sử dụng IP để xác định máy chủ nào có sẵn trên mạng, dịch vụ mà máy chủ đó đang cung cấp, hệ điều hành nào đang chạy, loại tường lửa đang được sử dụng …

2. Cài đặt nmap

Để cài nmap ta làm như sau:

– Đối với bản phân phối Debian/Ubuntu:

apt-get install nmap -y

– Đối với bản phân phối RHEL/CentOS:

yum install -y nmap

Kiểm tra xem gói nmap đã được cài trên hệ thống của bạn chưa bằng lệnh sau:

[root@tubt ~]# nmap –version

Nmap version 6.40 ( http://nmap.org )
Platform: x86_64-redhat-linux-gnu
Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

3. Sử dụng công cụ nmap

Ví dụ 1: Quét một địa chỉ IP hoặc một máy chủ.

Ta thực hiện quét một địa chỉ IPv4 để tìm hiểu tất cả các cổng, dịch vụ và địa chỉ MAC mở trên hệ thống như sau:

[root@tubt ~]# nmap 172.16.3.150

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 12:55 +07
Nmap scan report for 172.16.3.150
Host is up (0.000036s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
8000/tcp filtered http-alt
9000/tcp filtered cslistener

Nmap done: 1 IP address (1 host up) scanned in 3.41 seconds

Hoặc.

[root@tubt ~]# nmap dantri.com.vn

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 13:08 +07
Nmap scan report for dantri.com.vn (183.81.34.136)
Host is up (0.0026s latency).
Other addresses for dantri.com.vn (not scanned): 42.113.206.26
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 1.74 seconds

Ví dụ 2: Sử dụng tùy chọn -v để cung cấp thông tin chi tiết về máy chủ.

[root@tubt ~]# nmap -v dantri.com.vn

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 13:09 +07
Initiating Ping Scan at 13:09
Scanning dantri.com.vn (183.81.34.136) [4 ports]
Completed Ping Scan at 13:09, 0.21s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 13:09
Completed Parallel DNS resolution of 1 host. at 13:09, 0.04s elapsed
Initiating SYN Stealth Scan at 13:09
Scanning dantri.com.vn (183.81.34.136) [1000 ports]
Discovered open port 443/tcp on 183.81.34.136
Discovered open port 80/tcp on 183.81.34.136
Completed SYN Stealth Scan at 13:09, 1.58s elapsed (1000 total ports)
Nmap scan report for dantri.com.vn (183.81.34.136)
Host is up (0.0025s latency).
Other addresses for dantri.com.vn (not scanned): 42.113.206.26
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.95 seconds
Raw packets sent: 1091 (47.980KB) | Rcvd: 1088 (43.516KB)

Ví dụ 3: Bạn có thể quét nhiều máy chủ cùng lúc bằng cách sử dụng nhiều địa chỉ IP để quét trong một lần như bên dưới:

Trong quá trình quét, ta có thể xem quá trình scan (%) của nmap bằng cách nhấn phím mũi tên lên.

[root@tubt ~]# nmap 183.81.34.136 118.102.1.119

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 13:26 +07
Stats: 0:00:45 elapsed; 0 hosts completed (2 up), 2 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 58.97% done; ETC: 13:28 (0:00:31 remaining)
Stats: 0:01:41 elapsed; 0 hosts completed (2 up), 2 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 84.01% done; ETC: 13:28 (0:00:19 remaining)
Nmap scan report for 183.81.34.136
Host is up (0.0026s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for zing.vn (118.102.1.119)
Host is up (0.028s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 2 IP addresses (2 hosts up) scanned in 177.75 seconds

Ví dụ 4: Quét danh sách máy chủ được lưu trữ trong tệp

Khi chúng ta có nhiều máy chủ để quét và tất cả các địa chỉ máy chủ được ghi trong một tệp.

[root@tubt mnt]# cat testnmap.txt
183.81.34.136
118.102.1.119
dantri.com.vn

Sau khi tạo xong tệp có chứa đầy đủ tên máy chủ và địa chỉ IP cần quét, chúng ta chạy lệnh sau để thực hiện quét:

[root@tubt mnt]# nmap -iL testnmap.txt

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 13:52 +07
Stats: 0:01:33 elapsed; 0 hosts completed (3 up), 3 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 68.80% done; ETC: 13:54 (0:00:42 remaining)
Stats: 0:02:31 elapsed; 0 hosts completed (3 up), 3 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 88.63% done; ETC: 13:55 (0:00:19 remaining)
Nmap scan report for 183.81.34.136
Host is up (0.0025s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for zing.vn (118.102.1.119)
Host is up (0.027s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for dantri.com.vn (42.113.206.26)
Host is up (0.0040s latency).
Other addresses for dantri.com.vn (not scanned): 183.81.34.136
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 3 IP addresses (3 hosts up) scanned in 200.56 seconds

Như kết quả trên cho chúng ta thấy lần lượt các địa chỉ IP và tên máy chủ bên trong tệp testnmap.txt đã được quét.

Ví dụ 5: Quét một dải địa chỉ IP

Chúng ta có thể chỉ định nmap thực hiện quét 1 dải IP như sau:

[root@tubt mnt]# nmap 183.81.34.136-140

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 14:13 +07
Stats: 0:01:03 elapsed; 0 hosts completed (5 up), 5 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 40.23% done; ETC: 14:15 (0:01:34 remaining)
Stats: 0:02:45 elapsed; 0 hosts completed (5 up), 5 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 93.67% done; ETC: 14:16 (0:00:11 remaining)
Nmap scan report for 183.81.34.136
Host is up (0.0046s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for 183.81.34.137
Host is up (0.0036s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for 183.81.34.138
Host is up (0.0035s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for 183.81.34.139
Host is up (0.0032s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap scan report for 183.81.34.140
Host is up (0.0029s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https

Nmap done: 5 IP addresses (5 hosts up) scanned in 192.99 seconds

Ví dụ 6: Quét thông tin hệ điều hành và traceroute.

Để xem hệ điều hành của máy chủ và traceroute chúng ta sử dụng lệnh nmap với tùy chọn -A như bên dưới:

[root@tubt mnt]# nmap -A 172.16.3.151

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 14:24 +07
Nmap scan report for 172.16.3.151
Host is up (0.00047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 2048 3f:8f:14:e0:50:e3:e4:d0:c8:1c:f3:4f:6a:b9:3d:c6 (RSA)
|_256 23:5e:94:ec:de:49:eb:da:45:2b:52:58:27:5f:e6:61 (ECDSA)
80/tcp open http Apache httpd 2.4.6 ((CentOS))
| http-methods: Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
|_http-title: Apache HTTP Server Test Page powered by CentOS
MAC Address: 52:54:00:F0:13:F7 (QEMU Virtual NIC)
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=6.40%E=4%D=9/29%OT=22%CT=1%CU=38580%PV=Y%DS=1%DC=D%G=Y%M=525400%T
OS:M=6335483A%P=x86_64-redhat-linux-gnu)SEQ(SP=105%GCD=1%ISR=106%TI=Z%CI=I%
OS:TS=A)SEQ(SP=105%GCD=1%ISR=106%TI=Z%TS=A)SEQ(SP=104%GCD=1%ISR=106%TI=Z%CI
OS:=RD%II=I%TS=A)OPS(O1=M5B4ST11NW7%O2=M5B4ST11NW7%O3=M5B4NNT11NW7%O4=M5B4S
OS:T11NW7%O5=M5B4ST11NW7%O6=M5B4ST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5
OS:=7120%W6=7120)ECN(R=Y%DF=Y%T=40%W=7210%O=M5B4NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%
OS:T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=
OS:R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T
OS:=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=
OS:0%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(
OS:R=Y%DFI=N%T=40%CD=S)

Network Distance: 1 hop

TRACEROUTE
HOP RTT ADDRESS
1 0.47 ms 172.16.3.151

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.89 seconds

Ví dụ 7: Quét máy chủ để phát hiện tường lửa

Lệnh nmap cùng với tùy chọn -sA sẽ thực hiện quét trên máy chủ từ xa để phát hiện xem có bộ lọc hoặc tường lửa nào được sử dụng bởi máy chủ không.

[root@tubt mnt]# nmap -sA 172.16.3.151

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 14:32 +07
Nmap scan report for 172.16.3.151
Host is up (0.00051s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
22/tcp unfiltered ssh
MAC Address: 52:54:00:F0:13:F7 (QEMU Virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 4.73 seconds

Ví dụ 8: Quét máy chủ để kiểm tra nó được bảo vệ bởi tường lửa.

Để có thể quét một máy chủ được bảo vệ bởi tường lửa chúng ta sử dụng tùy chọn -PN để thực hiện quét.

[root@tubt mnt]# nmap -PN 183.81.34.136

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 14:36 +07
Nmap scan report for 183.81.34.136
Host is up (0.0022s latency).
Not shown: 984 closed ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
1533/tcp filtered virtual-places
1594/tcp filtered sixtrak
1864/tcp filtered paradym-31
2718/tcp filtered pn-requester2
2909/tcp filtered funk-dialout
5226/tcp filtered hp-status
5903/tcp filtered vnc-3
5987/tcp filtered wbem-rmi
6502/tcp filtered netop-rc
7625/tcp filtered unknown
8031/tcp filtered unknown
8400/tcp filtered cvd
17877/tcp filtered unknown
52673/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 2.82 seconds

Ví dụ 9: Hiển thị cổng và tuyến đường đi của máy chủ

Chúng ta có thể tìm hiểu cổng máy chủ và thông tin tuyến đường đi của máy chủ bằng nmap cùng với tùy chọn --iflist như bên dưới:

nmap --iflist

Từ kết quả trên ta có thể thấy table đang liệt kê các cổng mạng được gắn vào hệ thống và các tuyến đường của chúng.

Ví dụ 10: Quét cổng cụ thể

Chúng ta có thể chỉ định các cổng mà bạn muốn nmap quét với tùy chọn -p.

[root@tubt mnt]# nmap -p 80 dantri.com.vn

Starting Nmap 6.40 ( http://nmap.org ) at 2022-09-29 14:57 +07
Nmap scan report for dantri.com.vn (42.113.206.26)
Host is up (0.0025s latency).
Other addresses for dantri.com.vn (not scanned): 183.81.34.136
PORT STATE SERVICE
80/tcp open http

Nmap done: 1 IP address (1 host up) scanned in 0.56 seconds

4. Lời kết

Qua các ví dụ nmap bên trên giúp chúng ta có thể xác định máy chủ và các dịch vụ đang chạy, hỗ trợ cho các quản trị viên mạng trong việc kiểm tra bảo mật. Hy vọng bài viết trên hữu ích đối với các bạn.

Chúc các bạn thành công và hẹn gặp lại các bạn trong các bài viết tiếp theo tại wiki.nhanhoa.com

Trả lời