Nmap là viết tắt của Network
Mapper. Đây là một công cụ mã nguồn mở khá nổi tiếng để thăm dò, quét lỗ
hổng và kiểm tra mạng. Lệnh Nmap lại đi kèm với rất nhiều tùy chọn khá mạnh mẽ
nhưng lại gây khó khăn với người dùng. Bài viết này sẽ giới thiệu những câu
lệnh thường hay dùng nhất:
#1 Quét một host hoặc một
địa chỉ IP (IPv4)
nmap 192.168.1.1
nmap ccnetvn.com
nmap -v ccnetvn.com
#2: Quét IP hoặc một giải
IP (IPv4)
Quét nhiều IP hoặc cũng có thể dùng
lệnh sau:
nmap 192.168.1.1 192.168.1.2 192.168.1.3
nmap 192.168.1.1,2,3
Quét một dải IP liền nhau:
nmap 192.168.1.1-20
Quét dải IP sử dụng:
nmap 192.168.1.*
Quét dải IP sử dụng subnet:
nmap 192.168.1.0/24
#3: Quét dải IP, hostname
trong file (IPv4)
Tham số -iL cho phép nmap đọc các
dải mạng, hostname trong một file và quét các dải mạng đó.
cat > /tmp/test.txt
Nội dung file test.txt
Ccnetvn.com
192.168.1.0/24
192.168.1.1/24
10.1.2.3
Localhost
Quét file này bằng lệnh:
nmap -iL /tmp/test.txt
#4: Loại trừ một số IP,
hostname (IPv4)
Khi quét một dải mạng lớn, muốn
loại trự một số IP trong dải mạng đó ta dùng lệnh sau:
nmap 192.168.1.0/24 --exclude 192.168.1.5
nmap 192.168.1.0/24 --exclude
192.168.1.5,192.168.1.254
Hoặc có thể loại trừ một list IP,
hostname trong file /tmp/exclude.txt
nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt
#5: Quét hệ điều hành của
mục tiêu (IPv4)
nmap -A 192.168.1.254
nmap -v -A 192.168.1.1
nmap -A -iL /tmp/scanlist.txt
#6: Thăm dò mục tiêu có
được bảo về bởi firewall hay proxy:
nmap -sA 192.168.1.254
nmap -sA ccnetvn.com
#7: Quét mục tiêu khi nó
được bảo về bới firewall
nmap -PN 192.168.1.1
nmap -PN ccnetvn.com
#8: Quét IPv6
Tùy chọn -6 để bật các tính năng
IPv6.
Cú pháp:
nmap -6 IPv6-Address-Here
nmap -6 ccnetvn.com
nmap -6 2607:f0d0:1002:51::4
nmap -v A -6 2607:f0d0:1002:51::4
#9: Quét dải mạng tìm xem
IP nào đang chạy
Lệnh:
nmap -sP
192.168.1.0/24
Kết quả:
Host 192.168.1.1 is up (0.00035s latency).
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Host 192.168.1.2 is up (0.0038s
latency).
MAC Address: 74:44:01:40:57:FB (Unknown)
Host 192.168.1.5 is up.
Host nas03 (192.168.1.12) is up (0.0091s
latency).
MAC Address: 00:11:32:11:15:FC (Synology
Incorporated)
Nmap done: 256 IP addresses (4 hosts up)
scanned in 2.80 second
#10: Quét nhanh
nmap -F 192.168.1.1
#11: Hiển thị port và
trạng thái của port đó.
nmap --reason 192.168.1.1
nmap --reason ccnetvn.com
#12: Chỉ hiển thị cổng
nào đang mở
nmap --open 192.168.1.1
nmap --open ccnetvn.com
#13. Hiển thị tất cả các
gói gửi và nhận.
nmap --packet-trace 192.168.1.1
nmap --packet-trace
server1.cyberciti.biz
14#: Hiển thị giao diện
mạng và các đường định tuyến.
nmap –iflist
Kết quả:
Starting Nmap 5.00 ( http://nmap.org )
at 2012-11-27 02:01 IST
************************INTERFACES************************
DEV (SHORT) IP/MASK
TYPE UP MAC
lo (lo)
127.0.0.1/8 loopback up
eth0 (eth0) 192.168.1.5/24
ethernet up B8:AC:6F:65:31:E5
vmnet1 (vmnet1) 192.168.121.1/24
ethernet up 00:50:56:C0:00:01
vmnet8 (vmnet8) 192.168.179.1/24
ethernet up 00:50:56:C0:00:08
ppp0 (ppp0) 10.1.19.69/32
point2point up
**************************ROUTES**************************
DST/MASK DEV
GATEWAY
10.0.31.178/32 ppp0
209.133.67.35/32 eth0 192.168.1.2
192.168.1.0/0 eth0
192.168.121.0/0 vmnet1
192.168.179.0/0 vmnet8
169.254.0.0/0 eth0
10.0.0.0/0 ppp0
0.0.0.0/0
eth0 192.168.1.2
#15: Quét một cổng cụ thể?
nmap -p [port] hostname
## quét port 80
nmap -p 80 192.168.1.1
## quét TCP port 80
nmap -p T:80 192.168.1.1
## Quét UDP port 53
nmap -p U:53 192.168.1.1
## Quét 2 port ##
nmap -p 80,443 192.168.1.1
## quét dải port ##
nmap -p 80-200 192.168.1.1
## kết hợp quét UDP/TCP của một số
port ##
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
nmap -p U:53,111,137,T:21-25,80,139,8080
ccnetvn.com
nmap -v -sU -sT -p
U:53,111,137,T:21-25,80,139,8080 192.168.1.254
## quét tất cả các port ##
nmap -p "*" 192.168.1.1
## quét cổng phổ biến ##
nmap --top-ports 5 192.168.1.1
nmap --top-ports 10 192.168.1.1
Kết quả:
Starting Nmap 5.00 ( http://nmap.org )
at 2012-11-27 01:23 IST
Interesting ports on 192.168.1.1:
PORT STATE SERVICE
21/tcp closed ftp
22/tcp open ssh
23/tcp closed telnet
25/tcp closed smtp
80/tcp open http
110/tcp closed pop3
139/tcp closed netbios-ssn
443/tcp closed https
445/tcp closed microsoft-ds
3389/tcp closed ms-term-serv
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Nmap done: 1 IP address (1 host up)
scanned in 0.51 seconds
#16: Quét tất cả thiết bị
đã từng mở port
nmap -T5 192.168.1.0/24
#17: Phát hiện hệ điều
hành
nmap -O 192.168.1.1
nmap -O --osscan-guess 192.168.1.1
nmap -v -O --osscan-guess 192.168.1.1
Kết quả:
Starting Nmap 5.00 ( http://nmap.org )
at 2012-11-27 01:29 IST
NSE: Loaded 0 scripts for scanning.
Initiating ARP Ping Scan at 01:29
Scanning 192.168.1.1 [1 port]
Completed ARP Ping Scan at 01:29, 0.01s
elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1
host. at 01:29
Completed Parallel DNS resolution of 1
host. at 01:29, 0.22s elapsed
Initiating SYN Stealth Scan at 01:29
Scanning 192.168.1.1 [1000 ports]
Discovered open port 80/tcp on
192.168.1.1
Discovered open port 22/tcp on
192.168.1.1
Completed SYN Stealth Scan at 01:29,
0.16s elapsed (1000 total ports)
Initiating OS detection (try #1) against
192.168.1.1
Retrying OS detection (try #2) against
192.168.1.1
Retrying OS detection (try #3) against
192.168.1.1
Retrying OS detection (try #4) against
192.168.1.1
Retrying OS detection (try #5) against
192.168.1.1
Host 192.168.1.1 is up (0.00049s
latency).
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
Device type: WAP|general
purpose|router|printer|broadband router
Running (JUST GUESSING) : Linksys Linux
2.4.X (95%), Linux 2.4.X|2.6.X (94%), MikroTik RouterOS 3.X (92%), Lexmark
embedded (90%), Enterasys embedded (89%), D-Link Linux 2.4.X (89%), Netgear
Linux 2.4.X (89%)
Aggressive OS guesses: OpenWrt White
Russian 0.9 (Linux 2.4.30) (95%), OpenWrt 0.9 - 7.09 (Linux 2.4.30 - 2.4.34)
(94%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (94%), Linux 2.4.21 - 2.4.31
(likely embedded) (92%), Linux 2.6.15 - 2.6.23 (embedded) (92%), Linux 2.6.15 -
2.6.24 (92%), MikroTik RouterOS 3.0beta5 (92%), MikroTik RouterOS 3.17 (92%),
Linux 2.6.24 (91%), Linux 2.6.22 (90%)
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=5.00%D=11/27%OT=22%CT=1%CU=30609%PV=Y%DS=1%G=Y%M=BCAEC5%TM=50B3CA
OS:4B%P=x86_64-unknown-linux-gnu)SEQ(SP=C8%GCD=1%ISR=CB%TI=Z%CI=Z%II=I%TS=7
OS:)OPS(O1=M2300ST11NW2%O2=M2300ST11NW2%O3=M2300NNT11NW2%O4=M2300ST11NW2%O5
OS:=M2300ST11NW2%O6=M2300ST11)WIN(W1=45E8%W2=45E8%W3=45E8%W4=45E8%W5=45E8%W
OS:6=45E8)ECN(R=Y%DF=Y%T=40%W=4600%O=M2300NNSNW2%CC=N%Q=)T1(R=Y%DF=Y%T=40%S
OS:=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=R%O=%R
OS:D=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=40%W=
OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID
OS:=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
Uptime guess: 12.990 days (since Wed Nov
14 01:44:40 2012)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=200
(Good luck!)
IP ID Sequence Generation: All zeros
Read data files from: /usr/share/nmap
OS detection performed. Please report
any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up)
scanned in 12.38 seconds
Raw packets sent: 1126 (53.832KB) | Rcvd: 1066 (46.100KB)
See also: Fingerprinting a web-server
and a dns server command line tools for more information.
#18: Làm thế nào để phát
hiện một số dịch vụ từ xa?
nmap -sV 192.168.1.1
Kết quả:
Starting Nmap 5.00 ( http://nmap.org )
at 2012-11-27 01:34 IST
Interesting ports on 192.168.1.1:
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh
Dropbear sshd 0.52 (protocol 2.0)
80/tcp open http?
1 service unrecognized despite returning
data.
#19: Quét host sử dụng
TCP ACK (PA) và TCP Syn (PS)
Ví dụ mục tiêu nằm sau firewall và
firewall này chặn ping (ICMP)
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
#20: Quét máy chủ xử dụng
IP protocol
nmap -PO 192.168.1.1
#21: Quét máy chủ sử dụng
UDP ping
Cách quét này sẽ bỏ qua tường lửa
và các bộ lọc TCP
nmap -PU 192.168.1.1
nmap -PU 2000.2001 192.168.1.1
#22: Tìm các cổng TCP hay
được sử dụng sử dụng TCP SYN Scan
### quét tàng hình ###
nmap -sS 192.168.1.1
### quét không tàng hình ###
nmap -sT 192.168.1.1
nmap -sA 192.168.1.1
### Tìm các cổng sử dụng giao thức
TCP sử dụng TCP Window
nmap -sW 192.168.1.1
### Tìm các cổng sử dụng giao thức
TCP sử dụng TCP Maimon
nmap -sM 192.168.1.1
#23: Quét một host sử
dụng (UDP scan)
nmap -sU nas03
nmap -sU 192.168.1.1
Kết quả:
Starting Nmap 5.00 ( http://nmap.org )
at 2012-11-27 00:52 IST
Stats: 0:05:29 elapsed; 0 hosts
completed (1 up), 1 undergoing UDP Scan
UDP Scan Timing: About 32.49% done; ETC:
01:09 (0:11:26 remaining)
Interesting ports on nas03
(192.168.1.12):
Not shown: 995 closed ports
PORT STATE
SERVICE
111/udp open|filtered rpcbind
123/udp open|filtered ntp
161/udp open|filtered snmp
2049/udp open|filtered nfs
5353/udp open|filtered zeroconf
MAC Address: 00:11:32:11:15:FC (Synology
Incorporated)
Nmap done: 1 IP address (1 host up)
scanned in 1099.55 seconds
#24: Quét giao thức IP
đang sử dụng.
nmap -sO 192.168.1.1
#25: Quét lỗ hổng bên
trong tường lửa
## TCP Null Scan – đánh lừa tường
lửa ##
## Không thiết lập bits nào (TCP
flag header là 0) ##
nmap -sN 192.168.1.254
## TCP Fin scan – kiểm tra tường
lửa ##
## TCP FIN ##
nmap -sF 192.168.1.254
## TCP Xmas scan – quét kiểm tra
tường lửa ##
## Thiết lập FIN, PSH, và URG flags##
nmap -sX 192.168.1.254
#26: Quét firewall bằng
cách phân mảnh gói tin.
Ý tưởng của cách quét này là chia
nhỏ gói tin để đánh lừa các bộ lọc, hệ thống phát hiện xâm nhập hay một số
phiền toái khác.
nmap -f 192.168.1.1
nmap -f fw2.nixcraft.net.in
nmap -f 15 fw2.nixcraft.net.in
#27: Quét với mồi nhử
Ý tưởng của kiểu quét này là để
đánh lừa hệ thống phát hiện thâm nhập, tuy nhiên sẽ không thể phát hiện được IP
nào quét chính vì có nhiều IP giả mạo.
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
#28: Quét firewall dùng
MAC giả mạo
### Giả mạo địa chỉ MAC ##
nmap --spoof-mac MAC-ADDRESS-HERE
192.168.1.1
### Thêm một số 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
###
### Bạn chỉ cần thay 0 vào địa chỉ
MAC ###
nmap -v -sT -PN --spoof-mac 0
192.168.1.1
#29: Lưu kết quả vào
file.
Cú pháp:
nmap 192.168.1.1 > output.txt
nmap -oN /path/to/filename 192.168.1.1
nmap -oN output.txt 192.168.1.1
#30: Nếu bạn không thích
dùng dòng lệnh, bạn có thể sử dụng một Zenmap. Đây là một phần mềm nguồn mở, hỗ
trợ nhiều hệ điều hành như: Linux, Windows, Mac OS X, BSD, etc. Trong bài viết
này chúng tôi sẽ không đề cập tới việc cài đặt cũng như sử dụng Zenmap.