Hướng dẫn sử dụng nmap trên Linux
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 cslistenerNmap 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 httpsNmap 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 httpsRead 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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 httpsNmap 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.151OS 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 unknownNmap 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 httpNmap 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