Nmap là một công cụ quét mạng mở nguồn với tính hiệu quả và minh bạch mà các chuyên gia an ninh rất ưa dùng. Hôm nay chúng ta sẽ tìm hiểu về các lệnh trong nmap thông dụng dùng để Scanning hệ thống mạng. Điều này sẽ giúp chúng ta nắm bắt được thông tin quan trọng về hệ thống mạng, từ đó nâng cao khả năng bảo mật trên các hệ thống của chúng ta.
Lệnh 1: Quét một host duy nhất hoặc địa chỉ IP
Để quét một địa chỉ IP duy nhất, chúng ta sử dụng lệnh sau:
nmap 192.168.1.1
Hoặc quét một tên host:
nmap server1.cyberciti.biz
Để có thêm thông tin chi tiết, sử dụng tùy chọn -v:
nmap -v server1.cyberciti.biz
Lệnh 2: Quét nhiều địa chỉ IP hoặc dải mạng
Chúng ta có thể quét nhiều địa chỉ IP hoặc dải mạng bằng cách sử dụng lệnh sau:
nmap 192.168.1.1 192.168.1.2 192.168.1.3
Hoặc sử dụng cùng một dải mạng, ví dụ: 192.168.1.0/24
nmap 192.168.1.1,2,3
Nếu muốn quét một dải địa chỉ IP, sử dụng dấu “-” để biểu thị dải:
nmap 192.168.1.1-20
Hoặc sử dụng ký tự “*” để biểu thị một dải địa chỉ IP:
nmap 192.168.1.*
Cuối cùng, để quét toàn bộ một dải mạng, sử dụng dấu “/”:
nmap 192.168.1.0/24
Lệnh 3: Đọc danh sách các host/mạng từ một file
Tùy chọn -iL cho phép bạn đọc danh sách các hệ thống mục tiêu từ một tệp văn bản. Điều này rất hữu ích khi muốn quét một số lượng lớn các host/mạng. Đầu tiên, hãy tạo một tệp văn bản như sau:
cat > /tmp/test.txt
server1.cyberciti.biz
192.168.1.0/24
192.168.1.1/24
10.1.2.3
localhost
Sau đó, chạy lệnh sau để quét các hệ thống:
nmap -iL /tmp/test.txt
Lệnh 4: Loại trừ các host/mạng
Khi quét một dải mạng nhưng muốn loại trừ một hoặc nhiều địa chỉ IP cụ thể, chúng ta có thể sử dụng lệnh sau:
nmap 192.168.1.0/24 --exclude 192.168.1.5
Hoặc loại trừ nhiều địa chỉ IP bằng cách đặt chúng trong một tệp văn bản:
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
Lệnh 5: Kích hoạt tính năng quét phiên bản và hệ điều hành (IPv4)
Để kích hoạt tính năng quét phiên bản hệ điều hành, sử dụng tùy chọn -A:
nmap -A 192.168.1.254
Hoặc quét một host duy nhất với các tùy chọn -v và -A:
nmap -v -A 192.168.1.1
Hoặc quét một danh sách các host từ một tệp văn bản:
nmap -A -iL /tmp/scanlist.txt
Lệnh 6: Xác định xem một host/mạng có được bảo vệ bởi tường lửa hay không
Để biết xem một host/mạng có được bảo vệ bởi tường lửa hay không, sử dụng tùy chọn -sA:
nmap -sA 192.168.1.254
Hoặc quét một host duy nhất:
nmap -sA server1.cyberciti.biz
Lệnh 7: Quét một host khi được bảo vệ bởi tường lửa
Để quét một host khi được bảo vệ bởi tường lửa, sử dụng tùy chọn -PN:
nmap -PN 192.168.1.1
Hoặc quét một host duy nhất:
nmap -PN server1.cyberciti.biz
Lệnh 8: Quét một host/địa chỉ IPv6
Tùy chọn -6 cho phép quét một host/địa chỉ IPv6. Cú pháp như sau:
nmap -6 IPv6-Address-Here
Ví dụ:
nmap -6 server1.cyberciti.biz
nmap -6 2607:f0d0:1002:51::4
nmap -v A -6 2607:f0d0:1002:51::4
Lệnh 9: Quét một mạng và tìm hiểu các máy chủ và thiết bị đang hoạt động
Điều này được gọi là khám phá host hoặc quét ping:
nmap -sP 192.168.1.0/24
Lệnh 10: Làm cách nào để thực hiện quét nhanh chóng?
nmap -F 192.168.1.1
Lệnh 11: Hiển thị lý do một cổng trong trạng thái cụ thể
nmap --reason 192.168.1.1
Lệnh 12: Chỉ hiển thị các cổng mở (hoặc có thể mở)
nmap --open 192.168.1.1
Lệnh 13: Hiển thị tất cả các gói tin đã gửi và nhận được
nmap --packet-trace 192.168.1.1
Lệnh 14: Hiển thị giao diện máy chủ và các tuyến đường
nmap --iflist
Lệnh 15: Làm thế nào để quét các cổng cụ thể?
nmap -p [port] hostName
Ví dụ: quét cổng 80
nmap -p 80 192.168.1.1
Quét cổng TCP 80
nmap -p T:80 192.168.1.1
Quét cổng UDP 53
nmap -p U:53 192.168.1.1
Quét nhiều cổng
nmap -p 80,443 192.168.1.1
Quét một dải cổng
nmap -p 80-200 192.168.1.1
Kết hợp tất cả các tùy chọn
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
Quét tất cả các cổng với ký tự “*”
nmap -p "*" 192.168.1.1
Quét một số cổng phổ biến, ví dụ: 5 cổng phổ biến nhất
nmap --top-ports 5 192.168.1.1
Lệnh 16: Cách thực hiện quét tất cả các thiết bị/máy tính của bạn để tìm các cổng mở nhanh chóng nhất
nmap -T5 192.168.1.0/24
Lệnh 17: Làm thế nào để xác định hệ điều hành từ xa?
Bạn có thể xác định ứng dụng và hệ điều hành máy chủ từ xa bằng cách sử dụng tùy chọn -O:
nmap -O 192.168.1.1
Hoặc có thể dùng tùy chọn –osscan-guess để xác định tự động:
nmap -O --osscan-guess 192.168.1.1
Hoặc kết hợp cả hai tùy chọn -v và -O:
nmap -v -O --osscan-guess 192.168.1.1
Lệnh 18: Hiển thị phiên bản của các dịch vụ từ xa (server / daemon)
nmap -sV 192.168.1.1
Lệnh 19: Quét một host bằng TCP ACK (PA) và TCP Syn (PS) ping
Nếu tường lửa chặn ping ICMP tiêu chuẩn, hãy thử các phương thức khám phá sau:
nmap -PS 192.168.1.1
nmap -PS 80,21,443 192.168.1.1
nmap -PA 192.168.1.1
nmap -PA 80,21,200-512 192.168.1.1
Lệnh 20: Quét một host bằng giao thức IP ping
nmap -PO 192.168.1.1
Lệnh 21: Quét một host bằng giao thức UDP ping
Cách quét này không bị chặn bởi tường lửa và bộ lọc chỉ sử dụng TCP:
nmap -PU 192.168.1.1
nmap -PU 2000.2001 192.168.1.1
Lệnh 22: Tìm hiểu cổng TCP phổ biến nhất bằng TCP SYN Scan
nmap -sS 192.168.1.1
Để tìm hiểu các cổng TCP phổ biến nhất bằng TCP connect scan (cảnh báo: không quét ẩn danh), và xác định hệ điều hành, sử dụng tùy chọn -sT:
nmap -sT 192.168.1.1
Lệnh 23: Quét một host để tìm các dịch vụ UDP (quét UDP)
Hầu hết các dịch vụ sử dụng trên internet đều sử dụng giao thức TCP. Tuy nhiên, DNS, SNMP và DHCP cũng là ba giao thức UDP phổ biến. Để tìm thông tin về các dịch vụ này trong mạng của bạn, sử dụng lệnh sau:
nmap -sU nas03
nmap -sU 192.168.1.1
Lệnh 24: Quét IP protocol
Loại quét này cho phép xác định các IP protocol (TCP, ICMP, IGMP, vv.) được hỗ trợ bởi các máy chủ mục tiêu:
nmap -sO 192.168.1.1
Lệnh 25: Quét tường lửa để tìm các lỗ hổng bảo mật
Các loại quét dưới đây khai thác một lỗ hổng tinh vi trong TCP và thích hợp để kiểm tra tính bảo mật của các cuộc tấn công phổ biến:
Quét TCP Null để đánh lừa tường lửa tạo ra một phản hồi:
nmap -sN 192.168.1.254
Quét TCP Fin để kiểm tra tường lửa:
nmap -sF 192.168.1.254
Quét TCP Xmas để kiểm tra tường lửa:
nmap -sX 192.168.1.254
Lệnh 26: Quét tường lửa để tìm các gói tin được tách
Tùy chọn -f khiến quét yêu cầu (bao gồm cả quét ping) sử dụng các gói tin IP được tách nhỏ. Ý tưởng là chia tiêu đề TCP thành nhiều gói tin để làm cho việc phát hiện gói tin, hệ thống phát hiện xâm nhập và các rắc rối khác khó phát hiện hơn.
nmap -f 192.168.1.1
nmap -f fw2.nixcraft.net.in
nmap -f 15 fw2.nixcraft.net.in
## Đặt kích thước đệm bằng các tính năng --mtu
nmap --mtu 32 192.168.1.1
Lệnh 27: Làm thế nào để che giấu quét bằng cách sử dụng decoy?
Tùy chọn -D giúp bạn che giấu quét của mình bằng cách cho máy chủ từ xa nghĩ rằng các máy chủ (cơ bản là decoy) bạn chỉ định đang quét mạng mục tiêu. Điều này đồng nghĩa với việc các Hệ thống phát hiện xâm nhập (IDS) có thể báo cáo từ 5-10 cuộc quét cổng từ các địa chỉ IP duy nhất, nhưng họ không biết địa chỉ IP nào đang quét họ và đâu là decoy vô tội:
nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip
nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5
Lệnh 28: Quét tường lửa để xác định giả mạo địa chỉ MAC
nmap --spoof-mac MAC-ADDRESS-HERE 192.168.1.1
### Kết hợp các tùy chọn khác
nmap -v -sT -PN --spoof-mac MAC-ADDRESS-HERE 192.168.1.1
### Sử dụng địa chỉ MAC ngẫu nhiên
### Số 0 có nghĩa là nmap chọn một địa chỉ MAC ngẫu nhiên hoàn toàn
nmap -v -sT -PN --spoof-mac 0 192.168.1.1
Lệnh 29: Lưu kết quả vào tệp văn bản
Cú pháp như sau:
nmap 192.168.1.1 > output.txt
nmap -oN /path/to/filename 192.168.1.1
nmap -oN output.txt 192.168.1.1
Lệnh 30: Quét máy chủ web và đưa vào Nikto để quét
nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
Lệnh 31: Tăng tốc nmap
Chuyển mức độ chạy từ thấp đến cao bằng cách sử dụng tùy chọn -T:
nmap -v -sS -A -T4 192.168.2.5
Lệnh 32: Sử dụng giao diện đồ họa của NMAP
Nhấn vào đây để xem ảnh đầy đủ
Với NMAP, chúng ta cũng có thể sử dụng giao diện đồ họa mà không cần sử dụng dòng lệnh.