nmap
Đây là lệnh nmap có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
nmap - Công cụ thăm dò mạng và bảo mật / máy quét cổng
SYNOPSIS
nmap [Quét Kiểu...] [Các lựa chọn] {mục tiêu đặc điểm kỹ thuật}
MÔ TẢ
Nmap (“Network Mapper”) là một công cụ mã nguồn mở để khám phá và bảo mật mạng
kiểm toán. Nó được thiết kế để quét nhanh các mạng lớn, mặc dù nó hoạt động tốt với
vật chủ đơn lẻ. Nmap sử dụng các gói IP thô theo những cách mới để xác định những máy chủ nào có sẵn
trên mạng, những dịch vụ nào (tên ứng dụng và phiên bản) mà các máy chủ đó đang cung cấp,
họ đang chạy hệ điều hành nào (và các phiên bản hệ điều hành), loại gói tin
bộ lọc / tường lửa đang được sử dụng và hàng chục đặc điểm khác. Trong khi Nmap thường
được sử dụng để kiểm tra bảo mật, nhiều hệ thống và quản trị viên mạng thấy nó hữu ích cho
các tác vụ thông thường như kiểm kê mạng, quản lý lịch trình nâng cấp dịch vụ và
giám sát thời gian hoạt động của máy chủ hoặc dịch vụ.
Đầu ra từ Nmap là danh sách các mục tiêu đã quét, với thông tin bổ sung về mỗi mục tiêu
tùy thuộc vào các tùy chọn được sử dụng. Chìa khóa trong số thông tin đó là “các cổng thú vị
bảng ”.. Bảng đó liệt kê số cổng và giao thức, tên dịch vụ và trạng thái. Các
trạng thái là mở, lọc, đóng hoặc không lọc. Mở ra. có nghĩa là một ứng dụng
trên máy đích đang lắng nghe các kết nối / gói tin trên cổng đó. Đã lọc. có nghĩa
rằng tường lửa, bộ lọc hoặc chướng ngại vật mạng khác đang chặn cổng để Nmap
không thể biết nó đang mở hay đóng. Đã đóng cửa. các cổng không có ứng dụng đang nghe
chúng, mặc dù chúng có thể mở ra bất cứ lúc nào. Các cổng được phân loại là không được lọc. khi nào
chúng phản hồi với các đầu dò của Nmap, nhưng Nmap không thể xác định liệu chúng đang mở hay
đã đóng cửa. Nmap báo cáo các kết hợp trạng thái mở | đã lọc. và đóng | đã lọc. khi nó
không thể xác định trạng thái nào trong hai trạng thái mô tả một cổng. Bảng cổng cũng có thể bao gồm
chi tiết phiên bản phần mềm khi yêu cầu phát hiện phiên bản. Khi một giao thức IP
yêu cầu quét (-vì thế), Nmap cung cấp thông tin về các giao thức IP được hỗ trợ hơn là
các cổng nghe.
Ngoài bảng các cổng thú vị, Nmap có thể cung cấp thêm thông tin về
các mục tiêu, bao gồm tên DNS ngược, phỏng đoán hệ điều hành, loại thiết bị và MAC
địa chỉ.
Một cách quét Nmap điển hình được hiển thị trong Ví dụ 1. Các đối số Nmap duy nhất được sử dụng trong ví dụ này
đang -A, để cho phép phát hiện hệ điều hành và phiên bản, quét tập lệnh và quy trình theo dõi; -T4 cho
thực hiện nhanh hơn; và sau đó là tên máy chủ.
Ví dụ 1. A đại diện Nmap quét
# nmap -A -T4 scanme.nmap.org
Báo cáo quét Nmap cho scanme.nmap.org (74.207.244.221)
Máy chủ đã tăng (độ trễ 0.029 giây).
Bản ghi rDNS cho 74.207.244.221: li86-221.members.linode.com
Không hiển thị: 995 cổng đã đóng
PHIÊN BẢN DỊCH VỤ NHÀ NƯỚC CỔNG
22 / tcp mở ssh OpenSSH 5.3p1 Debian 3ubuntu7 (giao thức 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80 / tcp mở http Apache httpd 2.2.14 ((Ubuntu))
| _http-title: Hãy tiếp tục và ScanMe!
646 / tcp ldp được lọc
1720 / tcp lọc H.323 / Q.931
9929 / tcp mở nping-echo Nping echo
Loại thiết bị: mục đích chung
Đang chạy: Linux 2.6.X
OS CPE: cpe: / o: linux: linux_kernel: 2.6.39
Chi tiết hệ điều hành: Linux 2.6.39
Khoảng cách mạng: 11 bước
Thông tin dịch vụ: Hệ điều hành: Linux; CPE: cpe: / o: linux: kernel
TRACEROUTE (sử dụng cổng 53 / tcp)
ĐỊA CHỈ HOP RTT
[Cắt 10 bước đầu tiên cho ngắn gọn]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap done: 1 địa chỉ IP (1 máy chủ lưu trữ) được quét trong 14.40 giây
Phiên bản Nmap mới nhất có thể được lấy từ https://nmap.org. Phiên bản mới nhất của
trang người đàn ông này có sẵn tại https://nmap.org/book/man.html. Nó cũng được bao gồm như một
chương Quét mạng Nmap: Hướng dẫn Dự án Nmap Chính thức để Khám phá Mạng và
Quét bảo mật (xem https://nmap.org/book/).
LỰA CHỌN TÓM TẮT
Bản tóm tắt tùy chọn này được in khi Nmap được chạy mà không có đối số và phiên bản mới nhất
luôn có sẵn tại https://svn.nmap.org/nmap/docs/nmap.usage.txt. Nó giúp mọi người
hãy nhớ các tùy chọn phổ biến nhất, nhưng không thể thay thế cho tài liệu chuyên sâu trong
phần còn lại của sách hướng dẫn này. Một số tùy chọn tối nghĩa thậm chí không được bao gồm ở đây.
Nmap 7.01 (https://nmap.org)
Cách sử dụng: nmap [(Các) loại quét] [Tùy chọn] {target đặc tả}
ĐẶC ĐIỂM MỤC TIÊU:
Có thể chuyển tên máy chủ, địa chỉ IP, mạng, v.v.
Ví dụ: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-Il : Đầu vào từ danh sách máy chủ / mạng
-iR : Chọn mục tiêu ngẫu nhiên
--loại trừ : Loại trừ máy chủ / mạng
--excludefile : Loại trừ danh sách khỏi tệp
KHÁM PHÁ HOST:
-sL: Quét danh sách - chỉ cần liệt kê các mục tiêu để quét
-sn: Ping Scan - tắt tính năng quét cổng
-Pn: Coi tất cả các máy chủ là trực tuyến - bỏ qua khám phá máy chủ
-PS / PA / PU / PY [danh sách cổng]: Khám phá TCP SYN / ACK, UDP hoặc SCTP tới các cổng nhất định
-PE / PP / PM: ICMP echo, timestamp và netmask request thăm dò
-PO [danh sách giao thức]: Giao thức IP Ping
-n / -R: Không bao giờ phân giải DNS / Luôn phân giải [mặc định: đôi khi]
--dns-máy chủ : Chỉ định máy chủ DNS tùy chỉnh
--system-dns: Sử dụng trình phân giải DNS của hệ điều hành
--traceroute: Theo dõi đường dẫn hop đến từng máy chủ
KỸ THUẬT QUÉT:
-sS / sT / sA / sW / sM: quét TCP SYN / Connect () / ACK / Window / Maimon
-sU: Quét UDP
-sN / sF / sX: quét TCP Null, FIN và Xmas
--scanflags : Tùy chỉnh cờ quét TCP
-sI : Quét không hoạt động
-sY / sZ: Quét SCTP INIT / COOKIE-ECHO
-sO: quét giao thức IP
-NS : Quét trả lại FTP
ĐẶC ĐIỂM CỔNG VÀ TRÌNH TỰ QUÉT:
-P : Chỉ quét các cổng được chỉ định
Ví dụ: -p22; -p1-65535; -p U: 53,111,137, T: 21-25,80,139,8080, S: 9
--clude-port : Loại trừ các cổng được chỉ định khỏi quá trình quét
-F: Chế độ nhanh - Quét ít cổng hơn chế độ quét mặc định
-r: Quét các cổng liên tục - không ngẫu nhiên
- cổng trên đỉnh : Quét các cổng phổ biến nhất
- tỷ lệ cổng : Quét các cổng phổ biến hơn
DỊCH VỤ / PHIÊN BẢN PHÁT HIỆN:
-sV: Thăm dò các cổng đang mở để xác định thông tin dịch vụ / phiên bản
- cường độ ngược : Đặt từ 0 (sáng) đến 9 (thử tất cả các đầu dò)
- ánh sáng ngược: Giới hạn đối với các đầu dò có khả năng xảy ra nhất (cường độ 2)
--version-all: Thử mọi đầu dò (cường độ 9)
--version-trace: Hiển thị hoạt động quét phiên bản chi tiết (để gỡ lỗi)
QUÉT KHỎI:
-sC: tương đương với --script = default
--script = : là một danh sách được phân tách bằng dấu phẩy về
thư mục, tập tin kịch bản hoặc danh mục tập lệnh
--script-args = : cung cấp đối số cho tập lệnh
--script-args-file = filename: cung cấp args tập lệnh NSE trong một tệp
--script-trace: Hiển thị tất cả dữ liệu được gửi và nhận
--script-updatedb: Cập nhật cơ sở dữ liệu tập lệnh.
--script-help = : Hiển thị trợ giúp về tập lệnh.
là danh sách được phân tách bằng dấu phẩy gồm các tệp tập lệnh hoặc
kịch bản-danh mục.
PHÁT HIỆN HỆ ĐIỀU HÀNH:
-O: Bật phát hiện hệ điều hành
--osscan-limit: Giới hạn phát hiện hệ điều hành đối với các mục tiêu đầy hứa hẹn
--osscan-đoán: Đoán hệ điều hành mạnh mẽ hơn
THỜI GIAN VÀ HIỆU SUẤT:
Các tùy chọn mất tính bằng giây hoặc thêm 'ms' (mili giây),
's' (giây), 'm' (phút) hoặc 'h' (giờ) đến giá trị (ví dụ: 30m).
-T <0-5>: Đặt mẫu thời gian (cao hơn thì nhanh hơn)
--min-hostgroup / max-hostgroup : Kích thước nhóm quét máy chủ song song
--min-song song / tối đa-song song : Kiểm tra song song
--min-rtt-timeout / max-rtt-timeout / Initial-rtt-timeout : Chỉ định
thăm dò thời gian khứ hồi.
- max-retries : Giới hạn số lần truyền lại đầu dò quét cổng.
--host-timeout : Từ bỏ mục tiêu sau một thời gian dài
--scan-delay / - max-scan-delay : Điều chỉnh độ trễ giữa các đầu dò
- tỷ lệ phút : Gửi gói không chậm hơn môi giây
--tỷ lệ tối đa : Gửi gói không nhanh hơn môi giây
ĐÁNH GIÁ FIREWALL / IDS VÀ SPOOFING:
-NS; --mtu : các gói phân mảnh (tùy chọn có MTU đã cho)
-NS : Che dấu vết quét bằng mồi nhử
-NS : Địa chỉ nguồn giả mạo
-e : Sử dụng giao diện được chỉ định
-g / - nguồn-cổng : Sử dụng số cổng nhất định
--proxies : Chuyển tiếp kết nối thông qua proxy HTTP / SOCKS1
--dữ liệu : Nối một trọng tải tùy chỉnh vào các gói đã gửi
--data-string : Nối một chuỗi ASCII tùy chỉnh vào các gói đã gửi
--data-length : Nối dữ liệu ngẫu nhiên vào các gói đã gửi
--p tùy chọn : Gửi các gói với các tùy chọn ip được chỉ định
--ttl : Đặt trường thời gian tồn tại IP
--spoof-mac : Giả mạo địa chỉ MAC của bạn
--badsum: Gửi các gói với tổng kiểm tra TCP / UDP / SCTP không có thật
ĐẦU RA:
-oN / -oX / -oS / -oG : Quét đầu ra ở dạng bình thường, XML, s |
và định dạng Grepable, tương ứng với tên tệp đã cho.
-oA : Đầu ra ở ba định dạng chính cùng một lúc
-v: Tăng mức độ chi tiết (sử dụng -vv trở lên để có hiệu quả cao hơn)
-d: Tăng mức gỡ lỗi (sử dụng -dd trở lên để có hiệu quả cao hơn)
--reason: Hiển thị lý do một cổng ở trạng thái cụ thể
--open: Chỉ hiển thị các cổng đang mở (hoặc có thể đang mở)
--packet-trace: Hiển thị tất cả các gói được gửi và nhận
--iflist: In giao diện máy chủ và các tuyến (để gỡ lỗi)
--append-output: Nối vào các tệp đầu ra được chỉ định thay vì clobber
--bản tóm tắt : Tiếp tục quá trình quét đã hủy bỏ
- bảng tính : Biểu định kiểu XSL để chuyển đổi đầu ra XML sang HTML
--webxml: Biểu định kiểu tham chiếu từ Nmap.Org để có thêm XML di động
--no-stylesheet: Ngăn chặn việc liên kết bảng định kiểu XSL với đầu ra XML
MISC:
-6: Bật quét IPv6
-A: Cho phép phát hiện hệ điều hành, phát hiện phiên bản, quét tập lệnh và theo dõi
--datadir : Chỉ định vị trí tệp dữ liệu Nmap tùy chỉnh
--send-eth / - send-ip: Gửi bằng khung ethernet thô hoặc gói IP
--privileged: Giả sử rằng người dùng có đầy đủ đặc quyền
--unprivileged: Giả sử người dùng thiếu các đặc quyền raw socket
-V: Số phiên bản in
-h: In trang tóm tắt trợ giúp này.
VÍ DỤ:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
XEM TRANG MAN (https://nmap.org/book/man.html) ĐỂ BIẾT THÊM LỰA CHỌN VÀ VÍ DỤ
MỤC TIÊU ĐẶC ĐIỂM KỸ THUẬT
Mọi thứ trên dòng lệnh Nmap không phải là một tùy chọn (hoặc đối số tùy chọn) đều được xử lý
như một đặc điểm kỹ thuật máy chủ đích. Trường hợp đơn giản nhất là chỉ định địa chỉ IP mục tiêu hoặc
tên máy chủ để quét.
Đôi khi bạn muốn quét toàn bộ mạng các máy chủ liền kề. Đối với điều này, Nmap hỗ trợ
Kiểu CIDR. địa chỉ. Bạn có thể nối thêm /số lượng đến địa chỉ IPv4 hoặc tên máy chủ và Nmap
sẽ quét mọi địa chỉ IP mà địa chỉ đầu tiên số lượng giống như đối với tài liệu tham khảo
IP hoặc tên máy chủ được cung cấp. Ví dụ: 192.168.10.0/24 sẽ quét 256 máy chủ giữa
192.168.10.0 (nhị phân: 11000000 10101000 00001010 00000000) và 192.168.10.255 (nhị phân:
11000000 10101000 00001010 11111111), bao gồm. 192.168.10.40/24 sẽ quét chính xác
các mục tiêu giống nhau. Cho rằng máy chủ scanme.nmap.org. ở địa chỉ IP 64.13.134.52,
đặc điểm kỹ thuật scanme.nmap.org/16 sẽ quét 65,536 địa chỉ IP từ 64.13.0.0 đến
64.13.255.255. Giá trị nhỏ nhất được phép là / 0, giá trị này nhắm mục tiêu toàn bộ Internet. Các
giá trị lớn nhất là / 32, chỉ quét máy chủ lưu trữ được đặt tên hoặc địa chỉ IP vì tất cả địa chỉ
các bit được cố định.
Ký hiệu CIDR ngắn nhưng không phải lúc nào cũng đủ linh hoạt. Ví dụ: bạn có thể muốn quét
192.168.0.0/16 nhưng bỏ qua bất kỳ IP nào kết thúc bằng .0 hoặc .255 vì chúng có thể được sử dụng làm mạng con
mạng và địa chỉ quảng bá. Nmap hỗ trợ điều này thông qua địa chỉ dải octet. Hơn là
ngoài việc chỉ định một địa chỉ IP thông thường, bạn có thể chỉ định một danh sách các số được phân tách bằng dấu phẩy hoặc
phạm vi cho mỗi octet. Ví dụ: 192.168.0-255.1-254 sẽ bỏ qua tất cả các địa chỉ trong
dải ô kết thúc bằng .0 hoặc .255 và 192.168.3-5,7.1 sẽ quét bốn địa chỉ
192.168.3.1, 192.168.4.1, 192.168.5.1 và 192.168.7.1. Một trong hai bên của phạm vi có thể là
bỏ sót; các giá trị mặc định là 0 ở bên trái và 255 ở bên phải. Sử dụng - tự nó là
giống như 0-255, nhưng hãy nhớ sử dụng 0- trong octet đầu tiên để đặc tả mục tiêu
không giống như một tùy chọn dòng lệnh. Phạm vi không cần giới hạn ở các octet cuối cùng:
mã định danh 0-255.0-255.13.37 sẽ thực hiện quét trên toàn Internet cho tất cả các địa chỉ IP
kết thúc bằng 13.37. Kiểu lấy mẫu rộng này có thể hữu ích cho các cuộc khảo sát trên Internet và
nghiên cứu.
Địa chỉ IPv6 chỉ có thể được chỉ định bằng địa chỉ IPv6 hoặc tên máy chủ đủ điều kiện của chúng.
CIDR và dải octet chưa được hỗ trợ cho IPv6.
Địa chỉ IPv6 không có phạm vi toàn cầu cần phải có hậu tố ID vùng. Trên hệ thống Unix, điều này
là dấu phần trăm theo sau là tên giao diện; một địa chỉ đầy đủ có thể là
fe80 :: a8bb: ccff: fedd: eeff% eth0. Trên Windows, sử dụng số chỉ mục giao diện thay cho
tên giao diện: fe80 :: a8bb: ccff: fedd: eeff% 1. Bạn có thể xem danh sách các chỉ mục giao diện theo
chạy lệnh netsh.exe giao diện ipv6 hiển thị giao diện.
Nmap chấp nhận nhiều thông số kỹ thuật máy chủ lưu trữ trên dòng lệnh và chúng không cần
cùng loại. Lệnh nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- làm những gì bạn
mong chờ.
Trong khi các mục tiêu thường được chỉ định trên các dòng lệnh, các tùy chọn sau cũng
có sẵn để kiểm soát lựa chọn mục tiêu:
-Il tên tệp đầu vào (Đầu vào từ danh sách).
Đọc thông số kỹ thuật mục tiêu từ tên tệp đầu vào. Thông qua một danh sách lớn các máy chủ thường là
khó xử trên dòng lệnh, nhưng đó là một mong muốn chung. Ví dụ: máy chủ DHCP của bạn
có thể xuất danh sách 10,000 hợp đồng thuê hiện tại mà bạn muốn quét. Hoặc có thể bạn muốn
để quét tất cả các địa chỉ IP ngoại trừ để những người đó xác định vị trí máy chủ sử dụng IP tĩnh trái phép
các địa chỉ. Chỉ cần tạo danh sách các máy chủ để quét và chuyển tên tệp đó vào Nmap dưới dạng
một đối số với -Il Lựa chọn. Các mục nhập có thể ở bất kỳ định dạng nào được Nmap chấp nhận
trên dòng lệnh (địa chỉ IP, tên máy chủ, CIDR, IPv6 hoặc phạm vi octet). Mỗi mục nhập
phải được phân tách bằng một hoặc nhiều dấu cách, tab hoặc dòng mới. Bạn có thể chỉ định một dấu gạch nối
(-) làm tên tệp nếu bạn muốn Nmap đọc các máy chủ từ đầu vào tiêu chuẩn thay vì
tệp thực tế.
Tệp đầu vào có thể chứa các nhận xét bắt đầu bằng # và kéo dài đến cuối
hàng.
-iR num host (Chọn mục tiêu ngẫu nhiên).
Đối với các cuộc khảo sát trên toàn Internet và các nghiên cứu khác, bạn có thể muốn chọn các mục tiêu tại
ngẫu nhiên. Các num host đối số cho Nmap biết có bao nhiêu IP để tạo. IP không mong muốn
chẳng hạn như những người trong một số phạm vi địa chỉ riêng tư, đa hướng hoặc không được phân bổ là
tự động bỏ qua. Đối số 0 có thể được chỉ định cho quá trình quét không bao giờ kết thúc. Giữ cho
lưu ý rằng một số quản trị viên mạng căng thẳng khi quét trái phép
mạng và có thể phàn nàn. Sử dụng tùy chọn này với rủi ro của riêng bạn! Nếu bạn thấy mình
chán thật vào một buổi chiều mưa, hãy thử câu lệnh nmap -pn -NS -p 80 -iR 0 --mở ra. đến
xác định vị trí máy chủ web ngẫu nhiên để duyệt.
--loại trừ host1[,host2[, ...]] (Không bao gồm máy chủ / mạng).
Chỉ định danh sách các mục tiêu được phân tách bằng dấu phẩy sẽ được loại trừ khỏi quá trình quét ngay cả khi chúng
là một phần của phạm vi mạng tổng thể mà bạn chỉ định. Danh sách bạn chuyển vào sử dụng bình thường
Cú pháp Nmap, vì vậy nó có thể bao gồm tên máy chủ, netblock CIDR, phạm vi octet, v.v. Điều này có thể
hữu ích khi mạng bạn muốn quét bao gồm sứ mệnh quan trọng không thể chạm tới
máy chủ, hệ thống được biết là phản ứng bất lợi với việc quét cổng hoặc mạng con
do người khác quản lý.
--loại trừ tập tin loại trừ (Loại trừ danh sách khỏi tệp).
Điều này cung cấp chức năng tương tự như --loại trừ tùy chọn, ngoại trừ rằng
các mục tiêu được phân cách bằng dòng mới, dấu cách hoặc bằng tab loại trừ chứ không phải là
trên dòng lệnh.
Tệp loại trừ có thể chứa các nhận xét bắt đầu bằng # và kéo dài đến cuối
hàng.
HOST DISCOVERY
Một trong những bước đầu tiên trong bất kỳ nhiệm vụ trinh sát mạng nào là giảm
(đôi khi rất lớn) tập hợp các dải IP thành một danh sách các máy chủ đang hoạt động hoặc thú vị. Quét
mọi cổng của mọi địa chỉ IP đều chậm và thường là không cần thiết. Tất nhiên là gì
làm cho một máy chủ lưu trữ thú vị phụ thuộc rất nhiều vào mục đích quét. Quản trị mạng có thể
chỉ quan tâm đến các máy chủ chạy một dịch vụ nhất định, trong khi kiểm toán viên bảo mật có thể quan tâm
về mọi thiết bị đơn lẻ có địa chỉ IP. Quản trị viên có thể cảm thấy thoải mái khi sử dụng
chỉ là một ICMP ping để xác định vị trí máy chủ trên mạng nội bộ của anh ấy, trong khi thâm nhập bên ngoài
người thử nghiệm có thể sử dụng một bộ đa dạng gồm hàng chục đầu dò để cố gắng trốn tránh tường lửa
hạn chế.
Vì nhu cầu khám phá máy chủ rất đa dạng, Nmap cung cấp nhiều tùy chọn cho
tùy chỉnh các kỹ thuật được sử dụng. Khám phá máy chủ đôi khi được gọi là quét ping, nhưng nó sẽ
vượt xa các gói yêu cầu ICMP echo đơn giản được liên kết với công cụ ping phổ biến.
Người dùng có thể bỏ qua hoàn toàn bước ping bằng cách quét danh sách (-sL) hoặc bằng cách tắt ping (-pn),
hoặc tham gia vào mạng với sự kết hợp tùy ý của đa cổng TCP SYN / ACK, UDP, SCTP
Đầu dò INIT và ICMP. Mục tiêu của các cuộc thăm dò này là thu hút các câu trả lời chứng tỏ
rằng địa chỉ IP đang thực sự hoạt động (đang được sử dụng bởi máy chủ hoặc thiết bị mạng). Trên nhiều
mạng, chỉ một tỷ lệ nhỏ địa chỉ IP hoạt động tại bất kỳ thời điểm nào. Đây là
đặc biệt phổ biến với không gian địa chỉ riêng như 10.0.0.0/8. Mạng đó có 16
hàng triệu IP, nhưng tôi đã thấy nó được sử dụng bởi các công ty có dưới một nghìn máy. Tổ chức
Khám phá có thể tìm thấy những máy đó trong một biển địa chỉ IP được phân bổ thưa thớt.
Nếu không có tùy chọn phát hiện máy chủ nào được đưa ra, Nmap sẽ gửi một yêu cầu ICMP echo, một gói TCP SYN
đến cổng 443, một gói TCP ACK đến cổng 80 và một yêu cầu dấu thời gian ICMP. (Đối với IPv6,
Yêu cầu dấu thời gian ICMP bị bỏ qua vì nó không phải là một phần của ICMPv6.) Các giá trị mặc định này là
tương đương với -THỂ DỤC -PS443 -PA80 -PP tùy chọn. Các trường hợp ngoại lệ cho điều này là ARP (đối với
IPv4) và Khám phá vùng lân cận. (đối với IPv6) quét được sử dụng cho bất kỳ mục tiêu nào trên cục bộ
mạng ethernet. Đối với người dùng Unix shell không có đặc quyền, các đầu dò mặc định là một gói SYN
đến các cổng 80 và 443 bằng cách sử dụng kết nối cuộc gọi hệ thống .. Khám phá máy chủ này thường
đủ khi quét các mạng cục bộ, nhưng một tập hợp các đầu dò khám phá toàn diện hơn
được khuyến khích để kiểm tra bảo mật.
-P* có thể kết hợp các tùy chọn (chọn kiểu ping). Bạn có thể tăng tỷ lệ cược của mình
thâm nhập tường lửa nghiêm ngặt bằng cách gửi nhiều loại thăm dò sử dụng các cổng / cờ TCP khác nhau
và mã ICMP. Cũng lưu ý rằng ARP / Neighbor Discovery (-PR). được thực hiện theo mặc định chống lại
mục tiêu trên mạng ethernet cục bộ ngay cả khi bạn chỉ định -P* tùy chọn, bởi vì nó là
hầu như luôn nhanh hơn và hiệu quả hơn.
Theo mặc định, Nmap thực hiện khám phá máy chủ lưu trữ và sau đó thực hiện quét cổng đối với mỗi máy chủ lưu trữ đó
xác định là trực tuyến. Điều này đúng ngay cả khi bạn chỉ định các loại khám phá máy chủ lưu trữ không phải mặc định
chẳng hạn như đầu dò UDP (-PU). Đọc về -sn tùy chọn để tìm hiểu cách thực hiện chỉ máy chủ lưu trữ
khám phá hoặc sử dụng -pn để bỏ qua việc khám phá máy chủ và quét cổng tất cả các máy chủ đích. Sau
tùy chọn kiểm soát khám phá máy chủ:
-sL (Quét danh sách).
Quét danh sách là một dạng khám phá máy chủ lưu trữ thoái hóa, chỉ đơn giản liệt kê từng máy chủ lưu trữ
(các) mạng được chỉ định, mà không gửi bất kỳ gói nào đến máy chủ đích. Theo mặc định,
Nmap vẫn thực hiện phân giải DNS ngược trên các máy chủ để tìm hiểu tên của chúng. Nó thường là
đáng ngạc nhiên về số lượng thông tin hữu ích mà tên máy chủ đơn giản cung cấp. Ví dụ: fw.chi
là tên của bức tường lửa Chicago của một công ty. Nmap cũng báo cáo tổng số
Địa chỉ IP ở cuối. Quét danh sách là một kiểm tra tỉnh táo tốt để đảm bảo rằng bạn có
địa chỉ IP thích hợp cho mục tiêu của bạn. Nếu các máy chủ lưu trữ tên miền thể thao bạn không
nhận ra, cần phải điều tra thêm để ngăn chặn việc quét nhầm của công ty
mạng lưới.
Vì ý tưởng chỉ là in danh sách các máy chủ mục tiêu, các tùy chọn cho cấp cao hơn
không thể kết hợp chức năng như quét cổng, phát hiện hệ điều hành hoặc quét ping
Với cái này. Nếu bạn muốn tắt tính năng quét ping trong khi vẫn hoạt động cao hơn như vậy
chức năng cấp độ, đọc trên -pn (bỏ qua ping) tùy chọn.
-sn (Không quét cổng).
Tùy chọn này yêu cầu Nmap không quét cổng sau khi phát hiện ra máy chủ và chỉ in ra
các máy chủ có sẵn đã phản hồi với các thăm dò khám phá máy chủ. Điều này thường được biết đến
dưới dạng “quét ping”, nhưng bạn cũng có thể yêu cầu các tập lệnh máy chủ lưu trữ theo dõi và NSE phải
chạy. Theo mặc định, đây là bước xâm nhập nhiều hơn một bước so với quét danh sách và thường có thể
được sử dụng cho các mục đích giống nhau. Nó cho phép trinh sát nhẹ mạng mục tiêu mà không cần
thu hút nhiều sự chú ý. Biết có bao nhiêu máy chủ lưu trữ sẽ có giá trị hơn đối với những kẻ tấn công
so với danh sách được cung cấp bằng cách quét danh sách của mọi IP và tên máy chủ.
Các quản trị viên hệ thống cũng thường thấy tùy chọn này có giá trị. Nó có thể dễ dàng được sử dụng
để đếm số máy khả dụng trên mạng hoặc theo dõi tính khả dụng của máy chủ. Điều này thường
được gọi là quét ping và đáng tin cậy hơn ping địa chỉ phát sóng vì
nhiều máy chủ không trả lời các truy vấn quảng bá.
Khám phá máy chủ mặc định được thực hiện với -sn bao gồm một yêu cầu phản hồi ICMP, TCP SYN để
cổng 443, TCP ACK đến cổng 80 và yêu cầu dấu thời gian ICMP theo mặc định. Khi thực hiện
bởi một người dùng không có đặc quyền, chỉ các gói SYN được gửi (sử dụng kết nối gọi) đến các cổng 80
và 443 vào mục tiêu. Khi một người dùng có đặc quyền cố gắng quét các mục tiêu trên một
mạng ethernet, yêu cầu ARP được sử dụng trừ khi --gửi-ip đã được chỉ định. Các -sn tùy chọn
có thể được kết hợp với bất kỳ loại đầu dò khám phá nào ( -P* tùy chọn, loại trừ -pn)
để linh hoạt hơn. Nếu bất kỳ tùy chọn loại đầu dò và số cổng nào được sử dụng,
các đầu dò mặc định bị ghi đè. Khi các bức tường lửa nghiêm ngặt được đặt giữa
máy chủ nguồn chạy Nmap và mạng đích, sử dụng các kỹ thuật nâng cao đó là
khuyến khích. Nếu không, các máy chủ có thể bị bỏ sót khi tường lửa thả các đầu dò hoặc
phản ứng.
Trong các bản phát hành trước của Nmap, -sn được gọi là -sP..
-pn (Không ping).
Tùy chọn này hoàn toàn bỏ qua giai đoạn khám phá Nmap. Thông thường, Nmap sử dụng giai đoạn này
để xác định máy đang hoạt động để quét nặng hơn. Theo mặc định, Nmap chỉ thực hiện
thăm dò nặng như quét cổng, phát hiện phiên bản hoặc phát hiện hệ điều hành chống lại máy chủ
được tìm thấy là lên. Tắt tính năng khám phá máy chủ với -pn khiến Nmap cố gắng
yêu cầu chức năng quét chống lại mỗi địa chỉ IP mục tiêu được chỉ định. Vì vậy, nếu một lớp
Không gian địa chỉ đích B (/ 16) được chỉ định trên dòng lệnh, tất cả 65,536 địa chỉ IP
được quét. Khám phá máy chủ thích hợp bị bỏ qua như với quét danh sách, nhưng thay vào đó
dừng và in danh sách mục tiêu, Nmap tiếp tục thực hiện các chức năng được yêu cầu
như thể mỗi IP mục tiêu đang hoạt động. Để bỏ qua quá trình quét ping và quét cổng, trong khi vẫn cho phép
NSE để chạy, sử dụng hai tùy chọn -pn -sn với nhau.
Đối với các máy trên mạng ethernet cục bộ, quá trình quét ARP sẽ vẫn được thực hiện (trừ khi
--disable-arp-ping or --gửi-ip được chỉ định) vì Nmap cần địa chỉ MAC để
quét thêm các máy chủ đích. Trong các phiên bản trước của Nmap, -pn là -P0. và -PN..
-PS cổng (TCP SYN Ping).
Tùy chọn này gửi một gói TCP trống với cờ SYN được đặt. Điểm đến mặc định
cổng là 80 (có thể định cấu hình tại thời điểm biên dịch bằng cách thay đổi DEFAULT_TCP_PROBE_PORT_SPEC. trong
nmap.h) .. Các cổng thay thế có thể được chỉ định như một tham số. Cú pháp giống như
cho -p ngoại trừ các chỉ định loại cổng như T: không được phép. Ví dụ là
-PS22 và -PS22-25,80,113,1050,35000. Lưu ý rằng không thể có khoảng trống giữa -PS và
danh sách cổng. Nếu nhiều đầu dò được chỉ định, chúng sẽ được gửi song song.
Cờ SYN gợi ý cho hệ thống từ xa rằng bạn đang cố gắng thiết lập
sự liên quan. Thông thường cổng đích sẽ bị đóng và một gói RST (đặt lại)
Gửi lại. Nếu cổng được mở, mục tiêu sẽ thực hiện bước thứ hai của
Bắt tay ba chiều TCP. bằng cách phản hồi bằng gói SYN / ACK TCP. Máy đang chạy
Sau đó Nmap loại bỏ kết nối sơ khai bằng cách phản hồi bằng RST thay vì
gửi một gói ACK sẽ hoàn thành quá trình bắt tay ba bước và thiết lập
kết nối đầy đủ. Gói RST được gửi bởi hạt nhân của máy chạy Nmap trong
phản ứng với SYN / ACK không mong muốn, không phải bởi Nmap.
Nmap không quan tâm cổng đang mở hay đóng. RST hoặc SYN / ACK
phản hồi đã thảo luận trước đó cho Nmap biết rằng máy chủ lưu trữ có sẵn và phản hồi.
Trên các hộp Unix, chỉ người dùng có đặc quyền là root. nói chung có thể gửi và nhận
các gói TCP thô .. Đối với người dùng không có đặc quyền, giải pháp thay thế sẽ tự động được sử dụng.
theo đó kết nối lệnh gọi hệ thống được bắt đầu đối với mỗi cổng đích. Điều này có
hiệu quả của việc gửi một gói SYN đến máy chủ đích, trong một nỗ lực để thiết lập một
kết nối. Nếu kết nối trả về với một thành công nhanh chóng hoặc một thất bại ECONNREFUSED,
Ngăn xếp TCP bên dưới phải nhận được SYN / ACK hoặc RST và máy chủ được đánh dấu
có sẵn. Nếu kết nối vẫn bị treo cho đến khi hết thời gian chờ,
máy chủ được đánh dấu là không hoạt động.
-SHOVEL cổng (TCP ACK Ping).
Ping TCP ACK khá giống với ping SYN vừa thảo luận. Sự khác biệt, như
bạn có thể đoán rằng cờ TCP ACK được đặt thay vì cờ SYN. Như là
gói ACK có mục đích xác nhận dữ liệu qua kết nối TCP đã thiết lập,
nhưng không có kết nối như vậy tồn tại. Vì vậy, các máy chủ từ xa phải luôn phản hồi bằng RST
gói, tiết lộ sự tồn tại của chúng trong quá trình này.
-SHOVEL tùy chọn sử dụng cùng một cổng mặc định như đầu dò SYN (80) và cũng có thể sử dụng
danh sách các cổng đích có cùng định dạng. Nếu một người dùng không có đặc quyền thử điều này,
kết nối cách giải quyết đã thảo luận trước đó được sử dụng. Cách giải quyết này không hoàn hảo vì
kết nối thực sự đang gửi một gói SYN chứ không phải là một ACK.
Lý do cung cấp cả hai đầu dò ping SYN và ACK là để tối đa hóa cơ hội
vượt tường lửa. Nhiều quản trị viên định cấu hình bộ định tuyến và tường lửa đơn giản khác
để chặn các gói SYN đến ngoại trừ những gói dành cho các dịch vụ công cộng như
trang web của công ty hoặc máy chủ thư. Điều này ngăn các kết nối đến khác với
tổ chức, đồng thời cho phép người dùng thực hiện các kết nối đi không bị cản trở với
Internet. Cách tiếp cận không trạng thái này chiếm ít tài nguyên trên tường lửa / bộ định tuyến và
được hỗ trợ rộng rãi bởi các bộ lọc phần cứng và phần mềm. Netfilter Linux / iptables.
phần mềm tường lửa cung cấp --syn tùy chọn tiện lợi để triển khai không trạng thái này
cách tiếp cận. Khi các quy tắc tường lửa không trạng thái như quy tắc này được áp dụng, SYN ping thăm dò
(-PS) có khả năng bị chặn khi gửi đến các cổng mục tiêu đã đóng. Trong những trường hợp như vậy,
Đầu dò ACK tỏa sáng khi nó cắt ngang qua các quy tắc này.
Một loại tường lửa phổ biến khác sử dụng các quy tắc trạng thái làm rơi các gói không mong muốn. Cái này
tính năng ban đầu được tìm thấy chủ yếu trên tường lửa cao cấp, mặc dù nó đã trở nên nhiều
phổ biến hơn trong những năm qua. Hệ thống Linux Netfilter / iptables hỗ trợ điều này thông qua
các --tiểu bang tùy chọn, phân loại các gói dựa trên trạng thái kết nối. Một đầu dò SYN
có nhiều khả năng hoạt động chống lại hệ thống như vậy, vì các gói ACK không mong đợi thường
được công nhận là không có thật và bị đánh rơi. Một giải pháp cho vấn đề khó khăn này là gửi cả SYN và
ACK thăm dò bằng cách chỉ định -PS và -SHOVEL.
-PU cổng (Ping UDP).
Một tùy chọn khám phá máy chủ lưu trữ khác là ping UDP, gửi một gói UDP đến
các cổng. Đối với hầu hết các cổng, gói tin sẽ trống, mặc dù một số sử dụng giao thức cụ thể
tải trọng có nhiều khả năng gợi ra phản hồi hơn. Cơ sở dữ liệu trọng tải được mô tả
at https://nmap.org/book/nmap-payloads.html.. --dữ liệu, --data-chuỗivà
--data-độ dài tùy chọn.
Danh sách cổng có cùng định dạng như đã thảo luận trước đó -PS và -SHOVEL
tùy chọn. Nếu không có cổng nào được chỉ định, mặc định là 40125 .. Giá trị mặc định này có thể là
được định cấu hình tại thời điểm biên dịch bằng cách thay đổi DEFAULT_UDP_PROBE_PORT_SPEC. trong nmap.h .. A
Cổng rất hiếm được sử dụng theo mặc định vì việc gửi đến các cổng đang mở thường
không mong muốn cho kiểu quét cụ thể này.
Khi nhấn vào một cổng đã đóng trên máy mục tiêu, đầu dò UDP sẽ lấy ra ICMP
đổi lại cổng không thể truy cập gói. Điều này cho Nmap biết rằng máy đã khởi động và
có sẵn. Nhiều loại lỗi ICMP khác, chẳng hạn như máy chủ / mạng không thể truy cập hoặc TTL
vượt quá là dấu hiệu của một máy chủ bị hỏng hoặc không thể truy cập được. Thiếu phản hồi cũng là
diễn giải theo cách này. Nếu đạt đến một cổng mở, hầu hết các dịch vụ chỉ cần bỏ qua
gói trống và không trả lại bất kỳ phản hồi nào. Đây là lý do tại sao cổng thăm dò mặc định là
40125, rất ít khả năng sẽ được sử dụng. Một số dịch vụ, chẳng hạn như Character
Giao thức trình tạo (chargen), sẽ phản hồi với một gói UDP trống và do đó tiết lộ
sang Nmap mà máy có sẵn.
Ưu điểm chính của kiểu quét này là nó vượt qua tường lửa và bộ lọc
chỉ màn hình TCP. Ví dụ: tôi đã từng sở hữu băng thông rộng không dây Linksys BEFW11S4
bộ định tuyến. Giao diện bên ngoài của thiết bị này đã lọc tất cả các cổng TCP theo mặc định, nhưng
Các đầu dò UDP sẽ vẫn gợi ra các thông báo không thể truy cập cổng và do đó đưa ra thiết bị.
-PY cổng (SCTP INIT Ping).
Tùy chọn này gửi một gói SCTP chứa một đoạn INIT tối thiểu. Mặc định
cổng đích là 80 (có thể định cấu hình tại thời điểm biên dịch bằng cách thay đổi
DEFAULT_SCTP_PROBE_PORT_SPEC. trong nmap.h). Các cổng thay thế có thể được chỉ định là
tham số. Cú pháp giống như đối với -p ngoại trừ các chỉ định loại cổng như
S: không được phép. Ví dụ là -PY22 và -PY22,80,179,5060. Lưu ý rằng có thể có
không có khoảng cách giữa -PY và danh sách cổng. Nếu nhiều đầu dò được chỉ định, chúng sẽ
gửi song song.
Đoạn INIT gợi ý cho hệ thống từ xa rằng bạn đang cố gắng thiết lập
sự kết hợp. Thông thường, cổng đích sẽ bị đóng và một đoạn ABORT sẽ
Gửi lại. Nếu cổng được mở, mục tiêu sẽ thực hiện bước thứ hai của một
Bắt tay bốn chiều SCTP. bằng cách trả lời bằng một đoạn INIT-ACK. Nếu máy chạy
Nmap có một ngăn xếp SCTP chức năng, sau đó nó loại bỏ sự liên kết non trẻ bằng cách
phản hồi bằng một đoạn ABORT thay vì gửi một đoạn COOKIE-ECHO sẽ là
bước tiếp theo trong bắt tay bốn chiều. Gói ABORT được gửi bởi hạt nhân của
máy chạy Nmap để đáp ứng với INIT-ACK không mong muốn, không phải bởi Nmap.
Nmap không quan tâm cổng đang mở hay đóng. ABORT hoặc INIT-ACK
phản hồi đã thảo luận trước đó cho Nmap biết rằng máy chủ lưu trữ có sẵn và phản hồi.
Trên các hộp Unix, chỉ người dùng có đặc quyền là root. nói chung có thể gửi và nhận
các gói SCTP thô .. Sử dụng SCTP INIT Pings hiện không thể thực hiện được đối với những người không có đặc quyền
người dùng ..
-THỂ DỤC; -PP; -BUỔI CHIỀU (Các loại Ping ICMP).
Ngoài các loại phát hiện máy chủ lưu trữ TCP, UDP và SCTP bất thường đã được thảo luận
trước đó, Nmap có thể gửi các gói tiêu chuẩn được gửi bởi chương trình ping phổ biến.
Nmap gửi một gói ICMP loại 8 (yêu cầu phản hồi) đến các địa chỉ IP mục tiêu, mong đợi
loại 0 (phản hồi tiếng vang) đổi lại từ các máy chủ có sẵn .. Thật không may cho mạng
trình khám phá, nhiều máy chủ và tường lửa hiện chặn các gói này, thay vì phản hồi như
yêu cầu bởi RFC 1122[2] .. Vì lý do này, các bản quét chỉ ICMP hiếm khi đủ tin cậy
chống lại các mục tiêu không xác định qua Internet. Nhưng đối với quản trị viên hệ thống giám sát một
mạng nội bộ, chúng có thể là một cách tiếp cận thiết thực và hiệu quả. Sử dụng -THỂ DỤC tùy chọn
để kích hoạt hành vi yêu cầu tiếng vang này.
Trong khi yêu cầu echo là truy vấn ping ICMP tiêu chuẩn, Nmap không dừng lại ở đó. ICMP
tiêu chuẩn (RFC 792[3]. và RFC 950[4]. ) cũng chỉ định yêu cầu dấu thời gian, thông tin
yêu cầu và gói yêu cầu mặt nạ địa chỉ tương ứng là mã 13, 15 và 17. Trong khi
mục đích rõ ràng cho những truy vấn này là tìm hiểu thông tin chẳng hạn như mặt nạ địa chỉ
và thời điểm hiện tại, chúng có thể dễ dàng được sử dụng để khám phá máy chủ. Một hệ thống trả lời
là lên và có sẵn. Nmap hiện không triển khai các gói yêu cầu thông tin, như
chúng không được ủng hộ rộng rãi. RFC 1122 khẳng định rằng “máy chủ KHÔNG NÊN triển khai
những thông điệp này ”. Dấu thời gian và truy vấn mặt nạ địa chỉ có thể được gửi bằng -PP và -BUỔI CHIỀU
tùy chọn, tương ứng. Trả lời dấu thời gian (mã ICMP 14) hoặc trả lời mặt nạ địa chỉ (mã
18) tiết lộ rằng máy chủ lưu trữ có sẵn. Hai truy vấn này có thể có giá trị khi
quản trị viên đặc biệt chặn các gói yêu cầu echo trong khi quên rằng khác
Các truy vấn ICMP có thể được sử dụng cho cùng một mục đích.
-PO giao thức (Giao thức IP Ping).
Một trong những tùy chọn khám phá máy chủ mới hơn là ping giao thức IP, gửi IP
các gói có số giao thức được chỉ định được đặt trong tiêu đề IP của chúng. Danh sách giao thức
có định dạng giống như danh sách cổng trong TCP, UDP và SCTP đã thảo luận trước đó
các tùy chọn khám phá máy chủ. Nếu không có giao thức nào được chỉ định, thì mặc định là gửi nhiều
Các gói IP cho ICMP (giao thức 1), IGMP (giao thức 2) và IP-trong-IP (giao thức 4). Các
các giao thức mặc định có thể được định cấu hình tại thời điểm biên dịch bằng cách thay đổi
DEFAULT_PROTO_PROBE_PORT_SPEC. trong nmap.h. Lưu ý rằng đối với ICMP, IGMP, TCP (giao thức
6), UDP (giao thức 17) và SCTP (giao thức 132), các gói được gửi với
tiêu đề giao thức. trong khi các giao thức khác được gửi mà không có dữ liệu bổ sung nào ngoài
Tiêu đề IP (trừ khi bất kỳ --dữ liệu, --data-chuỗi, hoặc là --data-độ dài lựa chọn là
được chỉ định).
Phương pháp khám phá máy chủ này tìm kiếm một trong hai phản hồi bằng cách sử dụng cùng một giao thức với
thăm dò hoặc thông báo không thể truy cập giao thức ICMP cho biết rằng giao thức đã cho
không được hỗ trợ trên máy chủ đích. Một trong hai loại phản hồi biểu thị rằng
máy chủ mục tiêu còn sống.
-PR (ARP Ping).
Một trong những tình huống sử dụng Nmap phổ biến nhất là quét mạng LAN ethernet. Trên hầu hết các mạng LAN,
đặc biệt là những người sử dụng phạm vi địa chỉ riêng được chỉ định bởi RFC 1918[5], rộng lớn
phần lớn địa chỉ IP không được sử dụng tại bất kỳ thời điểm nào. Khi Nmap cố gắng gửi một bản thô
Gói IP chẳng hạn như yêu cầu ICMP echo, hệ điều hành phải xác định
địa chỉ phần cứng đích (ARP) tương ứng với IP mục tiêu để nó có thể
giải quyết đúng khung ethernet. Điều này thường chậm và có vấn đề, vì
hệ điều hành không được viết với kỳ vọng rằng chúng sẽ cần phải làm
hàng triệu yêu cầu ARP đối với các máy chủ không khả dụng trong một khoảng thời gian ngắn.
Quét ARP đặt Nmap và các thuật toán được tối ưu hóa của nó phụ trách các yêu cầu ARP. Và nếu nó
nhận lại phản hồi, Nmap thậm chí không cần phải lo lắng về các gói ping dựa trên IP
vì nó đã biết máy chủ lưu trữ. Điều này làm cho ARP quét nhanh hơn và nhiều hơn
đáng tin cậy hơn so với quét dựa trên IP. Vì vậy, nó được thực hiện theo mặc định khi quét các máy chủ ethernet
mà Nmap phát hiện nằm trên mạng ethernet cục bộ. Ngay cả khi các loại ping khác nhau (chẳng hạn
as -THỂ DỤC or -PS) được chỉ định, Nmap sử dụng ARP thay thế cho bất kỳ mục tiêu nào
trên cùng một mạng LAN. Nếu bạn hoàn toàn không muốn quét ARP, hãy chỉ định
--disable-arp-ping.
Đối với IPv6 (tùy chọn -6), -PR sử dụng ICMPv6 Neighbor Discovery thay vì ARP. Láng giềng
Discovery, được định nghĩa trong RFC 4861, có thể được coi là IPv6 tương đương với ARP.
--disable-arp-ping (Không có ARP hoặc ND Ping).
Nmap thường phát hiện ARP hoặc IPv6 Neighbor Discovery (ND) của kết nối cục bộ
máy chủ ethernet, ngay cả khi các tùy chọn khám phá máy chủ khác như -pn or -THỂ DỤC được sử dụng. Đến
vô hiệu hóa hành vi ngầm này, sử dụng --disable-arp-ping tùy chọn.
Hoạt động mặc định thường nhanh hơn, nhưng tùy chọn này hữu ích trên các mạng sử dụng
proxy ARP, trong đó bộ định tuyến trả lời cụ thể tất cả các yêu cầu ARP, thực hiện mọi
mục tiêu xuất hiện theo quét ARP.
--traceroute (Theo dõi đường dẫn đến máy chủ).
Lộ trình được thực hiện sau khi quét bằng cách sử dụng thông tin từ kết quả quét để
xác định cổng và giao thức có nhiều khả năng tiếp cận mục tiêu nhất. Nó hoạt động với tất cả
các loại quét ngoại trừ quét kết nối (-NS) và quét không tải (-sI). Tất cả các dấu vết đều sử dụng Nmap's
mô hình thời gian động và được thực hiện song song.
Traceroute hoạt động bằng cách gửi các gói có TTL thấp (thời gian tồn tại) trong một nỗ lực
gợi ý thông báo ICMP Time Exceeded từ các bước nhảy trung gian giữa máy quét và
máy chủ mục tiêu. Việc triển khai lộ trình theo dõi tiêu chuẩn bắt đầu với TTL là 1 và tăng dần
TTL cho đến khi đạt được máy chủ đích. Lộ trình theo dõi của Nmap bắt đầu với mức cao
TTL và sau đó giảm TTL cho đến khi nó bằng không. Làm ngược lại cho phép Nmap
sử dụng các thuật toán bộ nhớ đệm thông minh để tăng tốc độ theo dõi trên nhiều máy chủ. Trung bình
Nmap gửi ít hơn 5–10 gói trên mỗi máy chủ, tùy thuộc vào điều kiện mạng. Nếu một
mạng con đang được quét (tức là 192.168.0.0/24) Nmap có thể chỉ phải gửi hai gói
cho hầu hết các máy chủ.
-n (Không có phân giải DNS).
Cho Nmap biết với không bao giờ thực hiện phân giải ngược DNS trên các địa chỉ IP đang hoạt động mà nó tìm thấy.
Vì DNS có thể chậm ngay cả với trình phân giải gốc song song được tích hợp sẵn của Nmap, tùy chọn này
có thể giảm thời gian quét.
-R (Phân giải DNS cho tất cả các mục tiêu).
Cho Nmap biết với luôn luôn thực hiện phân giải DNS ngược trên các địa chỉ IP mục tiêu. Thông thường
DNS ngược chỉ được thực hiện đối với các máy chủ đáp ứng (trực tuyến).
--system-dns (Sử dụng trình phân giải DNS hệ thống).
Theo mặc định, Nmap giải quyết địa chỉ IP bằng cách gửi truy vấn trực tiếp đến máy chủ định danh
được định cấu hình trên máy chủ của bạn và sau đó lắng nghe phản hồi. Nhiều yêu cầu (thường là hàng chục)
được thực hiện song song để cải thiện hiệu suất. Chỉ định tùy chọn này để sử dụng
thay vào đó, trình phân giải hệ thống (mỗi IP một thông qua lấy thông tin tên gọi). Cái này chậm hơn
và hiếm khi hữu ích trừ khi bạn tìm thấy lỗi trong trình giải quyết song song Nmap (vui lòng cho chúng tôi
biết nếu bạn làm). Trình phân giải hệ thống luôn được sử dụng để quét IPv6.
--dns-máy chủ máy chủ 1[,máy chủ 2[, ...]] (Máy chủ để sử dụng cho các truy vấn DNS ngược).
Theo mặc định, Nmap xác định máy chủ DNS của bạn (cho độ phân giải rDNS) từ
tệp Resolutionv.conf (Unix) hoặc Sổ đăng ký (Win32). Ngoài ra, bạn có thể sử dụng
tùy chọn để chỉ định máy chủ thay thế. Tùy chọn này không được chấp nhận nếu bạn đang sử dụng
--system-dns hoặc quét IPv6. Sử dụng nhiều máy chủ DNS thường nhanh hơn, đặc biệt
nếu bạn chọn máy chủ có thẩm quyền cho không gian IP mục tiêu của mình. Tùy chọn này cũng có thể
cải thiện tính năng ẩn, vì các yêu cầu của bạn có thể bị trả về chỉ với bất kỳ DNS đệ quy nào
máy chủ trên Internet.
Tùy chọn này cũng có ích khi quét các mạng riêng tư. Đôi khi chỉ một vài
máy chủ định danh cung cấp thông tin rDNS thích hợp và bạn thậm chí có thể không biết chúng ở đâu
là. Bạn có thể quét mạng để tìm cổng 53 (có thể có phát hiện phiên bản), sau đó thử
Quét danh sách Nmap (-sL) chỉ định từng máy chủ định danh một với --dns-máy chủ
cho đến khi bạn tìm thấy một cái phù hợp.
PORT KẾ HOẠCH CƠ SỞ
Mặc dù Nmap đã phát triển về chức năng trong những năm qua, nhưng nó bắt đầu như một cổng hiệu quả
máy quét, và đó vẫn là chức năng cốt lõi của nó. Lệnh đơn giản nmap mục tiêu quét 1,000
Cổng TCP trên máy chủ mục tiêu. Trong khi nhiều máy quét cổng có truyền thống gộp tất cả các cổng
ở trạng thái mở hoặc đóng, Nmap chi tiết hơn nhiều. Nó chia các cổng thành sáu
trạng thái: mở, đóng, lọc, không lọc, mở | đã lọc, hoặc đóng | đã lọc.
Các trạng thái này không phải là thuộc tính nội tại của chính cổng, nhưng mô tả cách Nmap nhìn thấy
họ. Ví dụ: quét Nmap từ cùng một mạng với mục tiêu có thể hiển thị cổng 135 / tcp
khi đang mở, trong khi quét đồng thời với các tùy chọn giống nhau trên Internet
có thể hiển thị cổng đó dưới dạng đã lọc.
6 cổng tiểu bang công nhận by Nmap
Một ứng dụng đang tích cực chấp nhận kết nối TCP, sơ đồ dữ liệu UDP hoặc SCTP
các hiệp hội trên cổng này. Tìm kiếm những thứ này thường là mục tiêu chính của quá trình quét cổng.
Những người quan tâm đến bảo mật biết rằng mỗi cổng mở là một con đường tấn công. Những kẻ tấn công và
người kiểm tra bút muốn khai thác các cổng đang mở, trong khi quản trị viên cố gắng đóng hoặc
bảo vệ chúng bằng tường lửa mà không cản trở người dùng hợp pháp. Các cổng mở cũng
thú vị cho việc quét không bảo mật vì chúng hiển thị các dịch vụ có sẵn để sử dụng trên
mạng lưới.
Một cổng đã đóng có thể truy cập được (nó nhận và phản hồi các gói thăm dò Nmap), nhưng
không có ứng dụng đang nghe trên đó. Chúng có thể hữu ích trong việc chứng minh rằng máy chủ lưu trữ là
trên địa chỉ IP (phát hiện máy chủ hoặc quét ping) và như một phần của phát hiện hệ điều hành.
Vì các cổng đã đóng có thể truy cập được, nên có thể cần quét sau trong trường hợp một số cổng mở
hướng lên. Quản trị viên có thể muốn xem xét việc chặn các cổng như vậy bằng tường lửa. Sau đo họ
sẽ xuất hiện ở trạng thái được lọc, thảo luận tiếp theo.
Nmap không thể xác định xem cổng có đang mở hay không vì tính năng lọc gói sẽ ngăn
thăm dò từ cảng. Bộ lọc có thể từ một tường lửa chuyên dụng
thiết bị, quy tắc bộ định tuyến hoặc phần mềm tường lửa dựa trên máy chủ. Những cổng này khiến kẻ tấn công thất vọng
bởi vì họ cung cấp quá ít thông tin. Đôi khi họ phản hồi bằng lỗi ICMP
các thông báo chẳng hạn như loại 3 mã 13 (không thể truy cập đích: giao tiếp
bị cấm về mặt hành chính), nhưng các bộ lọc chỉ thả các đầu dò mà không phản hồi
phổ biến hơn nhiều. Điều này buộc Nmap phải thử lại nhiều lần trong trường hợp đầu dò
đã bị loại bỏ do tắc nghẽn mạng thay vì lọc. Điều này làm chậm quá trình quét
đáng kể
Trạng thái chưa được lọc có nghĩa là một cổng có thể truy cập được, nhưng Nmap không thể xác định
cho dù nó đang mở hay đóng. Chỉ quét ACK, được sử dụng để lập bản đồ tường lửa
các bộ quy tắc, phân loại các cổng vào trạng thái này. Quét các cổng chưa được lọc bằng cách quét khác
chẳng hạn như quét cửa sổ, quét SYN hoặc quét FIN, có thể giúp giải quyết xem cổng có
mở.
Nmap đặt các cổng ở trạng thái này khi nó không thể xác định xem một cổng có đang mở hay không
hoặc được lọc. Điều này xảy ra đối với các kiểu quét trong đó các cổng đang mở không đưa ra phản hồi. Thiếu
phản hồi cũng có thể có nghĩa là một bộ lọc gói đã bỏ thăm dò hoặc bất kỳ phản hồi nào mà nó
được khơi gợi. Vì vậy Nmap không biết chắc chắn liệu cổng đang mở hay đang được lọc.
Việc quét UDP, giao thức IP, FIN, NULL và Xmas phân loại các cổng theo cách này.
Trạng thái này được sử dụng khi Nmap không thể xác định xem một cổng đã đóng hay chưa
đã lọc. Nó chỉ được sử dụng để quét ID IP nhàn rỗi.
PORT KẾ HOẠCH KỸ THUẬT
Là một người mới thực hiện sửa chữa ô tô, tôi có thể vật lộn hàng giờ để cố gắng trang bị
công cụ thô sơ (búa, băng keo, cờ lê, v.v.) để thực hiện nhiệm vụ trong tầm tay. Khi tôi thất bại
đau khổ và kéo jalopy của tôi cho một người thợ máy thực sự, anh ta luôn đánh bắt xung quanh trong một công cụ khổng lồ
ngực cho đến khi kéo ra chiếc gizmo hoàn hảo khiến công việc có vẻ dễ dàng. Nghệ thuật của
quét cổng cũng tương tự. Các chuyên gia hiểu hàng tá kỹ thuật quét và chọn
một (hoặc kết hợp) thích hợp cho một nhiệm vụ nhất định. Người dùng chưa có kinh nghiệm và tập lệnh
những đứa trẻ ,. mặt khác, cố gắng giải quyết mọi vấn đề với quét SYN mặc định. Từ
Nmap là miễn phí, rào cản duy nhất để thành thạo quét cổng là kiến thức. Điều đó chắc chắn đập
thế giới ô tô, nơi có thể cần một kỹ năng tuyệt vời để xác định rằng bạn cần một thanh chống
máy nén lò xo, sau đó bạn vẫn phải trả hàng ngàn đô la cho nó.
Hầu hết các kiểu quét chỉ khả dụng cho người dùng có đặc quyền .. Điều này là do họ gửi
và nhận các gói tin thô ,. yêu cầu quyền truy cập root trên hệ thống Unix. Sử dụng một
tài khoản quản trị viên trên Windows được khuyến nghị, mặc dù Nmap đôi khi hoạt động cho
người dùng không có đặc quyền trên nền tảng đó khi WinPcap đã được tải vào hệ điều hành.
Yêu cầu đặc quyền root là một hạn chế nghiêm trọng khi Nmap được phát hành vào năm 1997, nhiều
người dùng chỉ có quyền truy cập vào các tài khoản shell được chia sẻ. Bây giờ, thế giới đã khác. Máy tính là
rẻ hơn, nhiều người hơn có quyền truy cập Internet trực tiếp luôn luôn và các hệ thống Unix trên máy tính để bàn
(bao gồm cả Linux và Mac OS X) đang thịnh hành. Phiên bản Windows của Nmap hiện đã có sẵn,
cho phép nó chạy trên nhiều máy tính để bàn hơn. Vì tất cả những lý do này, người dùng ít có nhu cầu
chạy Nmap từ các tài khoản shell được chia sẻ hạn chế. Đây là điều may mắn, vì các tùy chọn đặc quyền
làm cho Nmap mạnh mẽ và linh hoạt hơn nhiều.
Mặc dù Nmap cố gắng tạo ra kết quả chính xác, hãy nhớ rằng tất cả thông tin chi tiết của Nmap đều
dựa trên các gói được trả về bởi các máy đích (hoặc tường lửa phía trước chúng). Như là
máy chủ có thể không đáng tin cậy và gửi phản hồi nhằm gây nhầm lẫn hoặc đánh lừa Nmap. Nhiều
phổ biến hơn là các máy chủ không tuân thủ RFC không phản hồi như chúng thường xảy ra với các đầu dò Nmap.
Quét FIN, NULL và Xmas đặc biệt dễ bị vấn đề này. Những vấn đề như vậy là
cụ thể cho một số loại quét nhất định và do đó sẽ được thảo luận trong các mục nhập loại quét riêng lẻ.
Phần này ghi lại hàng tá kỹ thuật quét cổng được Nmap hỗ trợ. Chỉ một
phương pháp này có thể được sử dụng tại một thời điểm, ngoại trừ việc quét UDP (-của anh ấy) và bất kỳ một trong số quét SCTP
các loại (-sY, -sZ) có thể được kết hợp với bất kỳ một trong các kiểu quét TCP. Như một bộ nhớ hỗ trợ, cổng
tùy chọn loại quét có dạng -sC, Nơi C là một ký tự nổi bật trong tên quét,
thường là người đầu tiên. Một ngoại lệ đối với điều này là tính năng quét trả lại FTP không được dùng nữa (-b). Qua
mặc định, Nmap thực hiện quét SYN, mặc dù nó thay thế quét kết nối nếu người dùng
không có đặc quyền thích hợp để gửi các gói thô (yêu cầu quyền truy cập root trên Unix). Sau đó
quét được liệt kê trong phần này, người dùng không có đặc quyền chỉ có thể thực hiện kết nối và trả lại FTP
quét.
-NS (Quét TCP SYN).
SYN scan là tùy chọn quét mặc định và phổ biến nhất vì những lý do chính đáng. Nó có thể
thực hiện nhanh chóng, quét hàng nghìn cổng mỗi giây trên mạng nhanh không
bị cản trở bởi tường lửa hạn chế. Nó cũng tương đối kín đáo và lén lút
vì nó không bao giờ hoàn thành các kết nối TCP. Quét SYN hoạt động dựa trên bất kỳ TCP tuân thủ nào
ngăn xếp thay vì phụ thuộc vào đặc quyền của các nền tảng cụ thể như Nmap's
FIN / NULL / Xmas, Maimon và quét nhàn rỗi. Nó cũng cho phép rõ ràng, đáng tin cậy
sự khác biệt giữa các trạng thái mở, đóng và lọc.
Kỹ thuật này thường được gọi là quét nửa mở, vì bạn không mở
kết nối TCP đầy đủ. Bạn gửi một gói SYN, như thể bạn sẽ mở một
kết nối và sau đó chờ phản hồi. SYN / ACK cho biết cổng đang nghe
(mở), trong khi RST (đặt lại) là dấu hiệu của một người không nghe. Nếu không có phản hồi là
nhận được sau một số lần truyền lại, cổng được đánh dấu là đã lọc. Cảng là
cũng được đánh dấu là đã lọc nếu lỗi không thể truy cập ICMP (loại 3, mã 0, 1, 2, 3, 9, 10 hoặc
13) được nhận. Cổng cũng được coi là mở nếu gói SYN (không có ACK
cờ) được nhận trong phản hồi. Điều này có thể là do một tính năng TCP cực kỳ hiếm được biết đến
như một kết nối bắt tay mở hoặc tách đồng thời (xem
https://nmap.org/misc/split-handshake.pdf).
-NS (Quét kết nối TCP).
Quét kết nối TCP là kiểu quét TCP mặc định khi quét SYN không phải là một tùy chọn. Đây là
trường hợp khi người dùng không có đặc quyền gói thô. Thay vì viết thô
như hầu hết các kiểu quét khác, Nmap yêu cầu hệ điều hành cơ bản
thiết lập kết nối với máy đích và cổng bằng cách cấp kết nối hệ thống
gọi. Đây là cách gọi hệ thống cấp cao tương tự mà trình duyệt web, ứng dụng khách P2P và hầu hết
các ứng dụng hỗ trợ mạng khác sử dụng để thiết lập kết nối. Nó là một phần của
giao diện lập trình được gọi là API Berkeley Sockets. Thay vì đọc gói thô
phản hồi ngoại tuyến, Nmap sử dụng API này để lấy thông tin trạng thái trên từng
cố gắng kết nối.
Khi có quét SYN, nó thường là lựa chọn tốt hơn. Nmap có ít quyền kiểm soát hơn
mức độ cao kết nối gọi hơn là với các gói thô, làm cho nó kém hiệu quả hơn. Các
lệnh gọi hệ thống hoàn thành các kết nối đến các cổng mục tiêu mở thay vì thực hiện
đặt lại nửa mở mà quét SYN thực hiện. Việc này không chỉ mất nhiều thời gian hơn mà còn đòi hỏi nhiều hơn
các gói để có được cùng một thông tin, nhưng các máy mục tiêu có nhiều khả năng ghi nhật ký
sự liên quan. Một IDS tốt sẽ bắt được, nhưng hầu hết các máy không có cảnh báo như vậy
hệ thống. Nhiều dịch vụ trên hệ thống Unix trung bình của bạn sẽ thêm ghi chú vào nhật ký hệ thống, và
đôi khi là một thông báo lỗi khó hiểu, khi Nmap kết nối và sau đó đóng kết nối
mà không cần gửi dữ liệu. Các dịch vụ thực sự thảm hại khi điều này xảy ra, mặc dù đó là
không phổ biến. Một quản trị viên nhìn thấy một loạt các nỗ lực kết nối trong nhật ký của cô ấy từ một
hệ thống duy nhất nên biết rằng cô ấy đã được quét kết nối.
-của anh ấy (Quét UDP).
Mặc dù hầu hết các dịch vụ phổ biến trên Internet đều chạy qua giao thức TCP, UDP[6] dịch vụ
được triển khai rộng rãi. DNS, SNMP và DHCP (các cổng đã đăng ký 53, 161/162 và 67/68) là
ba trong số những điều phổ biến nhất. Vì quét UDP thường chậm hơn và khó khăn hơn
hơn TCP, một số kiểm toán viên bảo mật bỏ qua các cổng này. Đây là một sai lầm, có thể khai thác
Các dịch vụ UDP khá phổ biến và những kẻ tấn công chắc chắn không bỏ qua toàn bộ giao thức.
May mắn thay, Nmap có thể giúp kiểm kê các cổng UDP.
Quét UDP được kích hoạt với -của anh ấy Lựa chọn. Nó có thể được kết hợp với kiểu quét TCP
chẳng hạn như quét SYN (-NS) để kiểm tra cả hai giao thức trong cùng một lần chạy.
Quét UDP hoạt động bằng cách gửi một gói UDP đến mọi cổng được nhắm mục tiêu. Đối với một số cổng thông thường
chẳng hạn như 53 và 161, trọng tải theo giao thức cụ thể được gửi để tăng tỷ lệ phản hồi, nhưng
đối với hầu hết các cổng, gói tin trống trừ khi --dữ liệu, --data-chuỗi, hoặc là --data-độ dài
các tùy chọn được chỉ định. Nếu lỗi không thể truy cập cổng ICMP (loại 3, mã 3) được trả về,
cảng đã đóng. Các lỗi không thể truy cập ICMP khác (loại 3, mã 0, 1, 2, 9, 10 hoặc
13) đánh dấu cổng là đã lọc. Đôi khi, một dịch vụ sẽ phản hồi bằng gói UDP,
chứng minh rằng nó đang mở. Nếu không nhận được phản hồi sau khi truyền lại, cổng sẽ
được phân loại là mở | đã lọc. Điều này có nghĩa là cổng có thể đang mở hoặc có thể là gói
bộ lọc đang chặn giao tiếp. Phát hiện phiên bản (-sV) có thể được sử dụng để giúp đỡ
phân biệt các cổng thực sự đang mở với các cổng đã được lọc.
Một thách thức lớn với tính năng quét UDP là thực hiện nó một cách nhanh chóng. Các cổng mở và lọc hiếm khi
gửi bất kỳ phản hồi nào, để Nmap hết thời gian chờ và sau đó tiến hành truyền lại chỉ trong
trường hợp đầu dò hoặc phản hồi bị mất. Các cổng bị đóng thường là một vấn đề thậm chí còn lớn hơn.
Họ thường gửi lại lỗi không thể truy cập cổng ICMP. Nhưng không giống như các gói RST được gửi
bằng cách đóng các cổng TCP để phản hồi SYN hoặc quét kết nối, giới hạn tốc độ nhiều máy chủ. ICMP
cổng thông báo không thể truy cập theo mặc định. Linux và Solaris đặc biệt nghiêm ngặt về
cái này. Ví dụ: hạt nhân Linux 2.4.20 giới hạn các thông báo không thể truy cập đích đến
một trên giây (trong net / ipv4 / icmp.c).
Nmap phát hiện giới hạn tốc độ và làm chậm tương ứng để tránh làm ngập mạng
với các gói vô ích mà máy mục tiêu sẽ thả. Thật không may, một phong cách Linux
giới hạn một gói mỗi giây khiến quá trình quét 65,536 cổng mất hơn 18 giờ. Ý tưởng
để tăng tốc độ quét UDP của bạn, hãy bao gồm quét song song nhiều máy chủ hơn, thực hiện một cách nhanh chóng
chỉ quét các cổng phổ biến trước, quét từ phía sau tường lửa và sử dụng
--host-hết thời gian chờ để bỏ qua máy chủ chậm.
-sY (Quét SCTP INIT).
SCTP[7] là một giải pháp thay thế tương đối mới cho các giao thức TCP và UDP, kết hợp hầu hết các
đặc điểm của TCP và UDP, đồng thời bổ sung các tính năng mới như multi-homing và
đa luồng. Nó chủ yếu được sử dụng cho các dịch vụ liên quan đến SS7 / SIGTRAN nhưng có
cũng có thể được sử dụng cho các ứng dụng khác. Quét SCTP INIT là SCTP
tương đương với quét TCP SYN. Nó có thể được thực hiện nhanh chóng, quét hàng nghìn cổng
mỗi giây trên một mạng nhanh không bị cản trở bởi các bức tường lửa hạn chế. Giống như quét SYN,
Quét INIT tương đối kín đáo và lén lút, vì nó không bao giờ hoàn thành SCTP
các hiệp hội. Nó cũng cho phép phân biệt rõ ràng, đáng tin cậy giữa mở, đóng,
và các trạng thái được lọc.
Kỹ thuật này thường được gọi là quét nửa mở, vì bạn không mở
hiệp hội SCTP đầy đủ. Bạn gửi một đoạn INIT, như thể bạn sẽ mở một
liên kết và sau đó chờ phản hồi. Một đoạn INIT-ACK cho biết cổng là
đang nghe (mở), trong khi đoạn ABORT là biểu hiện của một người không nghe. Nếu không có phản hồi
được nhận sau nhiều lần truyền lại, cổng được đánh dấu là đã lọc. Cảng là
cũng được đánh dấu là đã lọc nếu lỗi không thể truy cập ICMP (loại 3, mã 0, 1, 2, 3, 9, 10 hoặc
13) được nhận.
-sN; -sF; -sX (Quét TCP NULL, FIN và Xmas).
Ba kiểu quét này (thậm chí còn có thể thực hiện được với --scanflags tùy chọn được mô tả
trong phần tiếp theo) khai thác một lỗ hổng tinh vi trong TCP RFC[8] để phân biệt
giữa các cổng mở và đóng. Trang 65 của RFC 793 nói rằng “nếu cổng [đích]
trạng thái bị ĐÓNG CỬA .... một phân đoạn đến không chứa RST khiến RST được gửi
để đáp lại. ” Sau đó, trang tiếp theo thảo luận về các gói được gửi đến các cổng đang mở mà không có
Các bit SYN, RST hoặc ACK được đặt, cho biết rằng: "bạn không chắc sẽ đến được đây, nhưng nếu bạn làm,
bỏ phân đoạn và quay trở lại. ”
Khi quét các hệ thống tuân thủ văn bản RFC này, bất kỳ gói nào không chứa SYN,
Các bit RST hoặc ACK sẽ dẫn đến một RST được trả về nếu cổng bị đóng và không có phản hồi
ở tất cả nếu cổng đang mở. Miễn là không có bit nào trong số ba bit đó được bao gồm, bất kỳ
sự kết hợp của ba cái còn lại (FIN, PSH và URG) là OK. Nmap khai thác điều này với
ba kiểu quét:
Quét rỗng (-sN)
Không đặt bất kỳ bit nào (tiêu đề cờ TCP là 0)
Quét FIN (-sF)
Chỉ đặt bit TCP FIN.
Quét Xmas (-sX)
Đặt cờ FIN, PSH và URG, thắp sáng gói tin như một cây thông Noel.
Ba kiểu quét này hoàn toàn giống nhau về hành vi ngoại trừ cờ TCP được đặt
trong các gói thăm dò. Nếu một gói RST được nhận, cổng được coi là đóng, trong khi không
phản hồi có nghĩa là nó đang mở | được lọc. Cổng được đánh dấu là đã lọc nếu ICMP không thể truy cập được
nhận được lỗi (loại 3, mã 0, 1, 2, 3, 9, 10 hoặc 13).
Ưu điểm chính của các kiểu quét này là chúng có thể lẻn qua một số
tường lửa không trạng thái và bộ định tuyến lọc gói. Một lợi thế khác là những
kiểu quét lén lút hơn một chút so với quét SYN. Đừng tin tưởng vào điều này
mặc dù — hầu hết các sản phẩm IDS hiện đại đều có thể được định cấu hình để phát hiện chúng. Nhược điểm lớn là
rằng không phải tất cả các hệ thống đều tuân theo RFC 793. Một số hệ thống gửi RST
phản hồi cho các đầu dò bất kể cổng đang mở hay không. Điều này gây ra tất cả
của các cổng được dán nhãn là đã đóng. Hệ điều hành chính làm được điều này là Microsoft
Windows, nhiều thiết bị Cisco, BSDI và IBM OS / 400. Quá trình quét này hoạt động chống lại hầu hết
Mặc dù vậy, các hệ thống dựa trên Unix. Một nhược điểm khác của những lần quét này là chúng không thể
phân biệt các cổng đang mở với các cổng đã lọc nhất định, để lại cho bạn phản hồi
mở | đã lọc.
-sA (Quét TCP ACK).
Lần quét này khác với những lần khác được thảo luận cho đến nay ở chỗ nó không bao giờ xác định
mở (hoặc thậm chí mở | đã lọc) các cổng. Nó được sử dụng để vạch ra các bộ quy tắc tường lửa,
xác định xem chúng có trạng thái hay không và cổng nào được lọc.
Gói đầu dò quét ACK chỉ có cờ ACK được đặt (trừ khi bạn sử dụng --scanflags). Khi nào
quét các hệ thống chưa được lọc, các cổng mở và đóng đều sẽ trả về một gói RST. Nmap
sau đó gắn nhãn chúng là chưa được lọc, nghĩa là gói ACK có thể truy cập được, nhưng
cho dù chúng đang mở hay đóng vẫn chưa được xác định. Các cổng không phản hồi hoặc gửi
một số thông báo lỗi ICMP trở lại (loại 3, mã 0, 1, 2, 3, 9, 10 hoặc 13), được gắn nhãn
đã lọc.
-sW (TCP Window quét).
Quét cửa sổ giống hệt như quét ACK ngoại trừ việc nó khai thác một triển khai
chi tiết về các hệ thống nhất định để phân biệt cổng mở với cổng đóng, thay vì
luôn in chưa được lọc khi RST được trả lại. Nó thực hiện điều này bằng cách kiểm tra TCP
Trường cửa sổ của các gói RST được trả về. Trên một số hệ thống, các cổng mở sử dụng
kích thước cửa sổ (ngay cả đối với gói RST) trong khi những gói đã đóng có cửa sổ bằng không. Vì vậy, thay vì
luôn liệt kê một cổng là chưa được lọc khi nó nhận được RST trở lại, Quét cửa sổ liệt kê
cổng mở hoặc đóng nếu giá trị Cửa sổ TCP trong đặt lại đó là dương hoặc bằng không,
tương ứng.
Quá trình quét này dựa trên chi tiết triển khai của một số ít hệ thống trên
Internet, vì vậy bạn không phải lúc nào cũng tin tưởng vào nó. Hệ thống không hỗ trợ nó thường sẽ
trả lại tất cả các cổng đã đóng. Tất nhiên, rất có thể máy thực sự không mở được
các cổng. Nếu hầu hết các cổng được quét đều bị đóng nhưng một vài số cổng phổ biến (chẳng hạn như 22, 25,
53) được lọc, hệ thống rất có thể dễ bị ảnh hưởng. Đôi khi, hệ thống sẽ
thậm chí thể hiện những hành vi hoàn toàn ngược lại. Nếu quá trình quét của bạn hiển thị 1,000 cổng đang mở và ba
các cổng đã đóng hoặc được lọc, thì ba cổng đó rất có thể là những cổng thực sự mở.
-sM (Quét TCP Maimon).
Quá trình quét Maimon được đặt theo tên người phát hiện ra nó, Uriel Maimon .. Anh ấy đã mô tả
kỹ thuật trên Tạp chí Phrack số 49 (tháng 1996 năm XNUMX) .. Nmap, bao gồm điều này
kỹ thuật, đã được phát hành hai vấn đề sau đó. Kỹ thuật này giống hệt như NULL,
Quét FIN và Xmas, ngoại trừ đầu dò là FIN / ACK. Dựa theo RFC 793[8] (TCP),
một gói RST nên được tạo ra để đáp ứng với một thăm dò như vậy liệu cổng có đang mở hay không
hoặc đóng cửa. Tuy nhiên, Uriel nhận thấy rằng nhiều hệ thống có nguồn gốc từ BSD chỉ đơn giản là thả gói
nếu cổng đang mở.
--scanflags (Quét TCP tùy chỉnh).
Người dùng Nmap thực sự nâng cao không cần giới hạn bản thân trong các kiểu quét đóng hộp được cung cấp.
--scanflags tùy chọn cho phép bạn thiết kế quét của riêng mình bằng cách chỉ định TCP tùy ý
cờ .. Hãy để dòng chảy sáng tạo của bạn, đồng thời trốn tránh các hệ thống phát hiện xâm nhập.
mà các nhà cung cấp chỉ cần phân trang thông qua trang người đàn ông Nmap thêm các quy tắc cụ thể!
--scanflags đối số có thể là một giá trị cờ số chẳng hạn như 9 (PSH và FIN), nhưng
sử dụng tên tượng trưng dễ dàng hơn. Chỉ cần trộn với nhau bất kỳ sự kết hợp nào của URG, ACK, PSH,
RST, SYN và FIN. Ví dụ, --scanflags URGACKPSHRTSSYNFIN thiết lập mọi thứ, mặc dù
nó không hữu ích cho việc quét. Thứ tự chúng được chỉ định trong là không liên quan.
Ngoài việc chỉ định các cờ mong muốn, bạn có thể chỉ định kiểu quét TCP (chẳng hạn như
-sA or -sF). Loại cơ sở đó cho Nmap biết cách diễn giải các phản hồi. Ví dụ, một SYN
quét coi không phản hồi để chỉ ra một cổng được lọc, trong khi quét FIN xử lý
giống như mở | đã lọc. Nmap sẽ hoạt động giống như cách nó làm đối với kiểu quét cơ sở,
ngoại trừ việc nó sẽ sử dụng cờ TCP mà bạn chỉ định để thay thế. Nếu bạn không chỉ định một cơ sở
loại, quét SYN được sử dụng.
-sZ (Bản quét SCTP COOKIE ECHO).
Quét SCTP COOKIE ECHO là cách quét SCTP tiên tiến hơn. Nó tận dụng thực tế
rằng các triển khai SCTP sẽ âm thầm thả các gói có chứa các khối COOKIE ECHO
trên các cổng đang mở, nhưng hãy gửi MỘT LƯU TRỮ nếu cổng bị đóng. Ưu điểm của cách quét này
kiểu là quét cổng không rõ ràng hơn quét INIT. Ngoài ra, có thể có
bộ quy tắc tường lửa không trạng thái chặn các khối INIT, nhưng không chặn các khối COOKIE ECHO. Đừng
bị đánh lừa khi nghĩ rằng điều này sẽ làm cho quá trình quét cổng trở nên vô hình; một IDS tốt sẽ là
cũng có thể phát hiện quét SCTP COOKIE ECHO. Nhược điểm là SCTP COOKIE ECHO quét
không thể phân biệt giữa cổng mở và cổng đã lọc, để lại cho bạn trạng thái
mở | được lọc trong cả hai trường hợp.
-sI zombie chủ nhà[:người đi thăm dò] (quét không tải).
Phương pháp quét nâng cao này cho phép quét cổng TCP thực sự mù của mục tiêu
(nghĩa là không có gói nào được gửi đến đích từ địa chỉ IP thực của bạn). Thay vào đó, một
tấn công kênh bên duy nhất khai thác chuỗi ID phân mảnh IP có thể dự đoán được
thế hệ trên máy chủ zombie để thu thập thông tin về các cổng đang mở trên mục tiêu.
Hệ thống IDS sẽ hiển thị quá trình quét đến từ máy zombie mà bạn chỉ định (cái nào
phải lên và đáp ứng các tiêu chí nhất định). Kiểu quét hấp dẫn này quá phức tạp để
mô tả đầy đủ trong hướng dẫn tham khảo này, vì vậy tôi đã viết và đăng một bài báo không chính thức với
đầy đủ chi tiết tại https://nmap.org/book/idlescan.html.
Ngoài khả năng tàng hình đặc biệt (do tính chất mù của nó), kiểu quét này
cho phép ánh xạ các mối quan hệ tin cậy dựa trên IP giữa các máy. Danh sách cảng
hiển thị các cổng mở từ các quan điểm of các zombie chủ nhà. Vì vậy, bạn có thể thử quét
nhắm mục tiêu bằng cách sử dụng các thây ma khác nhau mà bạn nghĩ có thể đáng tin cậy. (qua bộ định tuyến / gói
quy tắc lọc).
Bạn có thể thêm dấu hai chấm theo sau là số cổng vào máy chủ lưu trữ zombie nếu bạn muốn thăm dò
một cổng cụ thể trên zombie để thay đổi ID IP. Nếu không, Nmap sẽ sử dụng cổng nó
sử dụng theo mặc định cho các ping TCP (80).
-vì thế (Quét giao thức IP).
Quét giao thức IP cho phép bạn xác định giao thức IP nào (TCP, ICMP, IGMP, v.v.)
được hỗ trợ bởi các máy đích. Về mặt kỹ thuật, đây không phải là một quá trình quét cổng, vì nó xoay vòng
thông qua số giao thức IP chứ không phải số cổng TCP hoặc UDP. Tuy nhiên, nó vẫn sử dụng
-p tùy chọn để chọn số giao thức đã quét, báo cáo kết quả của nó trong phạm vi bình thường
định dạng bảng cổng và thậm chí sử dụng cùng một công cụ quét bên dưới như cổng thực
các phương pháp quét. Vì vậy, nó đủ gần để quét cổng mà nó thuộc về đây.
Bên cạnh việc hữu ích theo đúng nghĩa của nó, quét giao thức thể hiện sức mạnh của
phần mềm mã nguồn mở. Mặc dù ý tưởng cơ bản khá đơn giản, nhưng tôi đã không nghĩ
để thêm nó cũng như không nhận được bất kỳ yêu cầu nào cho chức năng đó. Sau đó, vào mùa hè của
2000, Gerhard Rieger. hình thành ý tưởng, viết một bản vá tuyệt vời để thực hiện nó,
và gửi nó vào danh sách gửi thư thông báo. (sau đó được gọi là nmap-hacker) .. Tôi
đã kết hợp bản vá đó vào cây Nmap và phát hành phiên bản mới vào ngày hôm sau.
Rất ít phần mềm thương mại có người dùng đủ nhiệt tình để thiết kế và
đóng góp những cải tiến của riêng họ!
Quét giao thức hoạt động theo kiểu tương tự như quét UDP. Thay vì lặp lại
trường số cổng của gói UDP, nó gửi tiêu đề gói IP và lặp lại qua
trường giao thức IP tám bit. Các tiêu đề thường trống, không chứa dữ liệu và không
thậm chí là tiêu đề thích hợp cho giao thức được xác nhận quyền sở hữu. Các trường hợp ngoại lệ là TCP, UDP, ICMP,
SCTP và IGMP. Một tiêu đề giao thức thích hợp cho những người đó được bao gồm vì một số hệ thống
sẽ không gửi chúng theo cách khác và bởi vì Nmap đã có các chức năng để tạo chúng.
Thay vì theo dõi các thông báo không thể truy cập cổng ICMP, quét giao thức trên
chú ý đến ICMP giao thức tin nhắn không thể truy cập. Nếu Nmap nhận được bất kỳ phản hồi nào trong bất kỳ
giao thức từ máy chủ đích, Nmap đánh dấu giao thức đó là mở. Một giao thức ICMP
lỗi không thể truy cập (loại 3, mã 2) khiến giao thức được đánh dấu là đã đóng trong khi
cổng không thể truy cập (loại 3, mã 3) đánh dấu giao thức đang mở. ICMP khác không thể truy cập được
lỗi (loại 3, mã 0, 1, 9, 10 hoặc 13) khiến giao thức được đánh dấu là đã lọc
(mặc dù họ chứng minh rằng ICMP được mở cùng một lúc). Nếu không nhận được phản hồi
sau khi truyền lại, giao thức được đánh dấu là mở | đã lọc
-b FTP chuyển tiếp chủ nhà (Quét trả lại FTP).
Một tính năng thú vị của giao thức FTP (RFC 959[9]) là hỗ trợ cho cái gọi là proxy
Kết nối FTP. Điều này cho phép người dùng kết nối với một máy chủ FTP, sau đó yêu cầu các tệp đó
được gửi đến máy chủ của bên thứ ba. Một tính năng như vậy đã chín muồi để lạm dụng ở nhiều cấp độ, vì vậy
hầu hết các máy chủ đã ngừng hỗ trợ nó. Một trong những lạm dụng mà tính năng này cho phép là
khiến máy chủ FTP quét các máy chủ khác. Chỉ cần yêu cầu máy chủ FTP gửi một
lần lượt đến từng cổng thú vị của máy chủ đích. Thông báo lỗi sẽ
mô tả xem cổng có được mở hay không. Đây là một cách tốt để vượt qua tường lửa
bởi vì máy chủ FTP của tổ chức thường được đặt ở nơi họ có nhiều quyền truy cập hơn
các máy chủ nội bộ khác so với bất kỳ máy chủ Internet cũ nào. Nmap hỗ trợ quét trả lại FTP
với -b Lựa chọn. Nó có một đối số của biểu mẫu tên truy nhập:mật khẩu@máy chủ:cổng.
của chúng tôi là tên hoặc địa chỉ IP của máy chủ FTP dễ bị tấn công. Như với một URL thông thường, bạn
có thể bỏ qua tên truy nhập:mật khẩu, trong trường hợp đó thông tin xác thực đăng nhập ẩn danh (người dùng: nặc danh
mật khẩu: -wwwuser @) được sử dụng. Số cổng (và dấu hai chấm trước đó) có thể bị bỏ qua như
tốt, trong trường hợp đó, cổng FTP mặc định (21) được bật máy chủ Được sử dụng.
Lỗ hổng này đã phổ biến vào năm 1997 khi Nmap được phát hành, nhưng phần lớn đã bị
đã sửa. Các máy chủ dễ bị tổn thương vẫn còn xung quanh, vì vậy, đáng để thử khi vẫn thất bại.
Nếu vượt qua tường lửa là mục tiêu của bạn, hãy quét mạng mục tiêu để tìm cổng 21 (hoặc thậm chí cho
bất kỳ dịch vụ FTP nào nếu bạn quét tất cả các cổng có phát hiện phiên bản) và sử dụng ftp-bounce.
Tập lệnh NSE. Nmap sẽ cho bạn biết liệu máy chủ có dễ bị tấn công hay không. Nếu bạn chỉ là
cố gắng che dấu vết của bạn, bạn không cần (và trên thực tế, không nên) giới hạn
chính mình để lưu trữ trên mạng mục tiêu. Trước khi bạn quét Internet ngẫu nhiên
địa chỉ cho các máy chủ FTP dễ bị tấn công, hãy cân nhắc rằng các sysadmins có thể không đánh giá cao bạn
lạm dụng máy chủ của họ theo cách này.
PORT ĐẶC ĐIỂM KỸ THUẬT VÀ SCAN TỰ
Ngoài tất cả các phương pháp quét đã thảo luận trước đây, Nmap cung cấp các tùy chọn cho
xác định cổng nào được quét và thứ tự quét là ngẫu nhiên hay tuần tự.
Theo mặc định, Nmap quét 1,000 cổng phổ biến nhất cho mỗi giao thức.
-p cổng các dãy (Chỉ quét các cổng được chỉ định).
Tùy chọn này chỉ định cổng nào bạn muốn quét và ghi đè mặc định.
Số cổng riêng lẻ là OK, cũng như các phạm vi được phân tách bằng dấu gạch ngang (ví dụ: 1-1023).
Giá trị đầu và / hoặc giá trị cuối của một dải ô có thể bị bỏ qua, khiến Nmap sử dụng 1 và
65535, tương ứng. Vì vậy, bạn có thể chỉ định -P- để quét các cổng từ 1 đến 65535.
Cổng quét bằng không. được phép nếu bạn chỉ định nó một cách rõ ràng. Để quét giao thức IP
(-vì thế), tùy chọn này chỉ định số giao thức bạn muốn quét (0–255).
Khi quét kết hợp các giao thức (ví dụ: TCP và UDP), bạn có thể chỉ định
giao thức cụ thể bằng cách đặt trước số cổng bởi T: cho TCP, U: cho UDP, S: cho
SCTP, hoặc P: cho Giao thức IP. Vòng loại kéo dài cho đến khi bạn chỉ định một vòng loại khác.
Ví dụ, đối số -p U: 53,111,137, T: 21-25,80,139,8080 sẽ quét các cổng UDP 53,
111 và 137, cũng như các cổng TCP được liệt kê. Lưu ý rằng để quét cả UDP và TCP, bạn
phải xác định -của anh ấy và ít nhất một kiểu quét TCP (chẳng hạn như -NS, -sF, hoặc là -NS). Nếu không
bộ định tính giao thức được đưa ra, số cổng được thêm vào tất cả danh sách giao thức. Các cổng
cũng có thể được chỉ định bằng tên tùy theo những gì cổng được đề cập đến trong
nmap-services. Bạn thậm chí có thể sử dụng các ký tự đại diện * và? với những cái tên. Ví dụ, để
quét FTP và tất cả các cổng có tên bắt đầu bằng “http”, sử dụng -p ftp, http *. Hãy cẩn thận
về mở rộng shell và trích dẫn đối số để -p nếu không chắc chắn.
Các dải cổng có thể được bao quanh bởi dấu ngoặc vuông để biểu thị các cổng bên trong
phạm vi xuất hiện trong nmap-services. Ví dụ: phần sau sẽ quét tất cả các cổng trong
nmap-services bằng hoặc thấp hơn 1024: -p [-số 1024]. Hãy cẩn thận với việc mở rộng vỏ và
trích dẫn lập luận cho -p nếu không chắc chắn.
--clude-port cổng các dãy (Loại trừ các cổng được chỉ định khỏi quá trình quét).
Tùy chọn này chỉ định cổng nào bạn muốn Nmap loại trừ khỏi quá trình quét. Các cổng
các dãy được chỉ định tương tự như -p. Để quét giao thức IP (-vì thế), tùy chọn này
chỉ định số giao thức bạn muốn loại trừ (0–255).
Khi các cổng được yêu cầu loại trừ, chúng sẽ bị loại trừ khỏi tất cả các loại quét (tức là
chúng sẽ không được quét trong bất kỳ trường hợp nào). Điều này cũng bao gồm khám phá
giai đoạn.
-F (Quét nhanh (cổng hạn chế)).
Chỉ định rằng bạn muốn quét ít cổng hơn mặc định. Thông thường Nmap quét
1,000 cổng phổ biến nhất cho mỗi giao thức được quét. Với -F, điều này được giảm xuống 100.
Nmap cần một tệp nmap-services với thông tin tần suất để biết
các cổng là phổ biến nhất. Nếu thông tin tần số cổng không có sẵn, có lẽ
do việc sử dụng tệp nmap-services tùy chỉnh, Nmap quét tất cả các cổng được đặt tên cộng với
cổng 1-1024. Trong trường hợp đó, -F có nghĩa là chỉ quét các cổng có tên trong các dịch vụ
tập tin.
-r (Không ngẫu nhiên các cổng).
Theo mặc định, Nmap ngẫu nhiên hóa thứ tự cổng đã quét (ngoại trừ một số thông thường
các cổng có thể truy cập được di chuyển gần đầu vì lý do hiệu quả). Điều này
ngẫu nhiên thường được mong muốn, nhưng bạn có thể chỉ định -r cho tuần tự (đã sắp xếp
thay vào đó, quét cổng từ thấp nhất đến cao nhất).
- tỷ lệ cổng tỉ lệ<thập phân con số giữa 0 và 1>
Quét tất cả các cổng trong tệp nmap-services với tỷ lệ lớn hơn tỷ lệ đã cho. tỉ lệ
phải từ 0.0 đến 1.1.
- cổng trên đỉnh n
Quét n các cổng có tỷ lệ cao nhất được tìm thấy trong tệp nmap-services sau khi loại trừ tất cả các cổng
theo quy định của --clude-port. n phải là 1 hoặc lớn hơn.
Dịch vụ VÀ PHIÊN BẢN PHÁT HIỆN
Trỏ Nmap vào một máy từ xa và nó có thể cho bạn biết rằng các cổng 25 / tcp, 80 / tcp và 53 / udp
Đang mở. Sử dụng dịch vụ nmap của nó. cơ sở dữ liệu của khoảng 2,200 dịch vụ nổi tiếng ,. Nmap
sẽ báo cáo rằng các cổng đó có thể tương ứng với máy chủ thư (SMTP), máy chủ web
(HTTP) và máy chủ định danh (DNS) tương ứng. Tra cứu này thường chính xác — rất
trên thực tế, phần lớn daemon lắng nghe trên cổng TCP 25 là máy chủ thư. Tuy nhiên bạn
không nên đặt cược an ninh của bạn vào điều này! Mọi người có thể và thực hiện các dịch vụ chạy trên các cổng lạ ..
Ngay cả khi Nmap đúng và máy chủ giả định ở trên đang chạy SMTP, HTTP và DNS
máy chủ, đó không phải là nhiều thông tin. Khi thực hiện đánh giá tính dễ bị tổn thương (hoặc thậm chí
kiểm kê mạng đơn giản) của các công ty hoặc khách hàng của bạn, bạn thực sự muốn biết
các phiên bản và máy chủ thư và DNS đang chạy. Có một số phiên bản chính xác sẽ giúp
đáng kể trong việc xác định xem máy chủ nào dễ bị khai thác. Phát hiện phiên bản
giúp bạn có được thông tin này.
Sau khi các cổng TCP và / hoặc UDP được phát hiện bằng một trong các phương pháp quét khác, phiên bản
phát hiện thẩm vấn các cổng đó để xác định thêm về những gì đang thực sự chạy. Các
nmap-service-thăm dò. cơ sở dữ liệu chứa các đầu dò để truy vấn các dịch vụ khác nhau và so khớp
biểu thức để nhận ra và phân tích cú pháp phản hồi. Nmap cố gắng xác định giao thức dịch vụ
(ví dụ: FTP, SSH, Telnet, HTTP), tên ứng dụng (ví dụ: ISC BIND, Apache httpd, Solaris
telnetd), số phiên bản, tên máy chủ, loại thiết bị (ví dụ: máy in, bộ định tuyến), họ hệ điều hành
(ví dụ: Windows, Linux). Khi có thể, Nmap cũng nhận được Danh sách nền tảng chung
(CPE). đại diện của thông tin này. Đôi khi những chi tiết linh tinh như liệu
một máy chủ X được mở cho các kết nối, phiên bản giao thức SSH hoặc tên người dùng KaZaA, là
có sẵn. Tất nhiên, hầu hết các dịch vụ không cung cấp tất cả thông tin này. Nếu Nmap là
được biên dịch với sự hỗ trợ của OpenSSL, nó sẽ kết nối với các máy chủ SSL để suy ra dịch vụ
lắng nghe đằng sau lớp mã hóa đó .. Một số cổng UDP được để ở chế độ mở | đã lọc
trạng thái sau khi quét cổng UDP không thể xác định xem cổng đang mở hay được lọc.
Phát hiện phiên bản sẽ cố gắng lấy ra phản hồi từ các cổng này (giống như với
mở cổng) và thay đổi trạng thái để mở nếu thành công. mở | các cổng TCP được lọc là
đối xử như vậy. Lưu ý rằng Nmap -A tùy chọn cho phép phát hiện phiên bản trong số các
nhiều thứ. Một bài báo ghi lại hoạt động, cách sử dụng và tùy chỉnh phát hiện phiên bản
có sẵn tại https://nmap.org/book/vscan.html.
Khi các dịch vụ RPC được phát hiện, máy mài Nmap RPC. được tự động sử dụng để
xác định số phiên bản và chương trình RPC. Nó nhận tất cả các cổng TCP / UDP được phát hiện là
RPC và làm ngập chúng bằng các lệnh NULL của chương trình SunRPC trong một nỗ lực để xác định xem liệu
chúng là các cổng RPC, và nếu có, chúng sẽ phân phối chương trình và số phiên bản nào. Vì vậy, bạn có thể
có được hiệu quả thông tin giống như rpcinfo -p ngay cả khi người quản lý cổng của mục tiêu đứng sau
tường lửa (hoặc được bảo vệ bởi trình bao bọc TCP). Mồi nhử hiện không hoạt động với quét RPC ..
Khi Nmap nhận được phản hồi từ một dịch vụ nhưng không thể khớp chúng với cơ sở dữ liệu của nó, nó
in ra một dấu vân tay đặc biệt và một URL để bạn gửi nếu đến nếu bạn biết chắc chắn
những gì đang chạy trên cảng. Vui lòng dành một vài phút để gửi để
phát hiện của bạn có thể mang lại lợi ích cho tất cả mọi người. Nhờ những lần đệ trình này, Nmap có khoảng 6,500 mẫu
phù hợp với hơn 650 giao thức như SMTP, FTP, HTTP, v.v.
Phát hiện phiên bản được bật và kiểm soát với các tùy chọn sau:
-sV (Phát hiện phiên bản).
Cho phép phát hiện phiên bản, như đã thảo luận ở trên. Ngoài ra, bạn có thể sử dụng -A, Mà
cho phép phát hiện phiên bản trong số những thứ khác.
-sR. là một bí danh cho -sV. Trước tháng 2011 năm XNUMX, nó được sử dụng để kích hoạt máy mài RPC
riêng biệt với tính năng phát hiện phiên bản, nhưng bây giờ các tùy chọn này luôn được kết hợp với nhau.
--allport (Không loại trừ bất kỳ cổng nào khỏi phát hiện phiên bản).
Theo mặc định, phát hiện phiên bản Nmap bỏ qua cổng TCP 9100 vì một số máy in đơn giản
in bất kỳ thứ gì được gửi đến cổng đó, dẫn đến hàng chục trang yêu cầu HTTP GET,
yêu cầu phiên SSL nhị phân, v.v. Hành vi này có thể được thay đổi bằng cách sửa đổi hoặc
loại bỏ chỉ thị Loại trừ trong nmap-service-thăm dò hoặc bạn có thể chỉ định --allport
để quét tất cả các cổng bất kể chỉ thị Loại trừ nào.
- cường độ ngược cường độ (Đặt cường độ quét phiên bản).
Khi thực hiện quét phiên bản (-sV), Nmap gửi một loạt các đầu dò, mỗi đầu dò là
được chỉ định một giá trị hiếm từ một đến chín. Các đầu dò được đánh số thấp hơn có hiệu quả
chống lại nhiều loại dịch vụ phổ biến, trong khi những dịch vụ được đánh số cao hơn hiếm khi
có ích. Mức cường độ chỉ định đầu dò nào nên được áp dụng. Càng cao
thì càng có nhiều khả năng là dịch vụ sẽ được xác định chính xác. Tuy nhiên, cao
cường độ quét mất nhiều thời gian hơn. Cường độ phải từ 0 đến 9 .. Giá trị mặc định là
7. Khi một đầu dò được đăng ký với cổng mục tiêu thông qua nmap-service-probesports
chỉ thị, đầu dò đó được thử bất kể mức cường độ. Điều này đảm bảo rằng
Các đầu dò DNS sẽ luôn được cố gắng chống lại bất kỳ cổng mở 53 nào, đầu dò SSL sẽ
thực hiện chống lại 443, v.v.
- ánh sáng ngược (Bật chế độ ánh sáng).
Đây là một bí danh tiện lợi cho - cường độ ngược 2. Chế độ ánh sáng này làm cho phiên bản
quét nhanh hơn nhiều, nhưng khả năng xác định dịch vụ thấp hơn một chút.
--version-tất cả (Thử mọi đầu dò).
Một bí danh cho - cường độ ngược 9, đảm bảo rằng mọi thăm dò đều được cố gắng
chống lại mỗi cổng.
- dấu vết (Theo dõi hoạt động quét phiên bản).
Điều này khiến Nmap in ra thông tin gỡ lỗi mở rộng về phiên bản quét là gì
đang làm. Nó là một tập hợp con của những gì bạn nhận được với --dấu vết gói.
OS PHÁT HIỆN
Một trong những tính năng nổi tiếng nhất của Nmap là phát hiện hệ điều hành từ xa bằng cách sử dụng ngăn xếp TCP / IP
lấy dấu vân tay. Nmap gửi một loạt các gói TCP và UDP đến máy chủ từ xa và kiểm tra
thực tế từng bit trong các câu trả lời. Sau khi thực hiện hàng chục thử nghiệm như TCP ISN
lấy mẫu, hỗ trợ tùy chọn TCP và đặt hàng, lấy mẫu ID IP và kích thước cửa sổ ban đầu
kiểm tra, Nmap so sánh kết quả với nmap-os-db của nó. cơ sở dữ liệu của hơn 2,600 hệ điều hành đã biết
dấu vân tay và in ra chi tiết hệ điều hành nếu có sự trùng khớp. Mỗi dấu vân tay bao gồm
mô tả dạng văn bản tự do của Hệ điều hành và phân loại cung cấp cho nhà cung cấp
tên (ví dụ: Sun), hệ điều hành cơ bản (ví dụ: Solaris), thế hệ hệ điều hành (ví dụ 10) và loại thiết bị
(mục đích chung, bộ định tuyến, công tắc, bảng điều khiển trò chơi, v.v.). Hầu hết các dấu vân tay cũng có một
Liệt kê nền tảng (CPE). đại diện, như cpe: / o: linux: linux_kernel: 2.6.
Nếu Nmap không thể đoán hệ điều hành của máy và điều kiện tốt (ví dụ: ít nhất một
mở cổng và một cổng đóng đã được tìm thấy), Nmap sẽ cung cấp một URL mà bạn có thể sử dụng để gửi
dấu vân tay nếu bạn biết (chắc chắn) hệ điều hành đang chạy trên máy. Bằng cách làm điều này bạn
đóng góp vào nhóm các hệ điều hành được biết đến với Nmap và do đó nó sẽ nhiều hơn
chính xác cho tất cả mọi người.
Tính năng phát hiện hệ điều hành cho phép một số thử nghiệm khác sử dụng thông tin được thu thập
trong suốt quá trình. Một trong số đó là Phân loại khả năng dự đoán theo trình tự TCP.
Điều này đo lường mức độ khó khăn để thiết lập một kết nối TCP giả mạo chống lại
máy chủ từ xa. Nó hữu ích cho việc khai thác các mối quan hệ tin cậy dựa trên nguồn-IP (rlogin,
bộ lọc tường lửa, v.v.) hoặc để che giấu nguồn gốc của một cuộc tấn công. Loại giả mạo này là
hiếm khi được thực hiện nữa, nhưng nhiều máy vẫn dễ bị ảnh hưởng. Thực tế
số khó khăn dựa trên lấy mẫu thống kê và có thể dao động. Nói chung
tốt hơn nên sử dụng phân loại tiếng Anh như “thách thức xứng đáng” hoặc “trò đùa tầm thường”.
Điều này chỉ được báo cáo ở đầu ra bình thường dài dòng (-v) chế độ. Khi chế độ tiết được bật
cùng với -O, Việc tạo chuỗi ID IP cũng được báo cáo. Hầu hết các máy đều ở
Lớp "gia tăng", có nghĩa là chúng tăng trường ID trong tiêu đề IP cho
mỗi gói mà họ gửi. Điều này khiến họ dễ bị ảnh hưởng bởi một số thông tin nâng cao
tập hợp và tấn công giả mạo.
Một chút thông tin bổ sung khác được kích hoạt bởi tính năng phát hiện hệ điều hành là phỏng đoán thời gian hoạt động của mục tiêu.
Điều này sử dụng tùy chọn dấu thời gian TCP (RFC 1323[10]) để đoán xem lần cuối cùng của một chiếc máy
khởi động lại. Phỏng đoán có thể không chính xác do bộ đếm dấu thời gian không được khởi tạo
về XNUMX hoặc bộ đếm tràn và quấn xung quanh, vì vậy nó chỉ được in dài dòng
chế độ.
Một bài báo ghi lại hoạt động, cách sử dụng và tùy chỉnh phát hiện hệ điều hành có sẵn tại
https://nmap.org/book/osdetect.html.
Tính năng phát hiện hệ điều hành được bật và kiểm soát bằng các tùy chọn sau:
-O (Bật phát hiện hệ điều hành).
Cho phép phát hiện hệ điều hành, như đã thảo luận ở trên. Ngoài ra, bạn có thể sử dụng -A để kích hoạt hệ điều hành
phát hiện cùng với những thứ khác.
- giới hạn số lượng (Giới hạn phát hiện hệ điều hành đối với các mục tiêu đầy hứa hẹn).
Phát hiện hệ điều hành hiệu quả hơn nhiều nếu có ít nhất một cổng TCP mở và một cổng TCP đóng.
thành lập. Đặt tùy chọn này và Nmap thậm chí sẽ không thử phát hiện hệ điều hành chống lại các máy chủ làm
không đáp ứng tiêu chí này. Điều này có thể tiết kiệm đáng kể thời gian, đặc biệt là trên -pn quét
chống lại nhiều vật chủ. Nó chỉ quan trọng khi phát hiện hệ điều hành được yêu cầu với -O or -A.
--osscan-đoán; --mờ (Đoán kết quả dò tìm hệ điều hành).
Khi Nmap không thể phát hiện ra một kết hợp hệ điều hành hoàn hảo, nó đôi khi đưa ra kết quả gần giống
như các khả năng. Trận đấu phải rất gần để Nmap thực hiện điều này theo mặc định.
Một trong hai tùy chọn này (tương đương) làm cho Nmap đoán nhiều hơn. Nmap sẽ
vẫn cho bạn biết khi nào một kết quả phù hợp không hoàn hảo được in ra và hiển thị mức độ tin cậy của nó
(tỷ lệ phần trăm) cho mỗi lần đoán.
- tối đa-os-cố gắng (Đặt số lần thử phát hiện hệ điều hành tối đa đối với mục tiêu).
Khi Nmap thực hiện phát hiện hệ điều hành chống lại một mục tiêu và không tìm thấy kết hợp hoàn hảo, nó
thường lặp lại nỗ lực. Theo mặc định, Nmap sẽ thử năm lần nếu các điều kiện
thuận lợi cho việc gửi dấu vân tay hệ điều hành và hai lần khi điều kiện không quá tốt.
Chỉ định một thấp hơn - tối đa-os-cố gắng giá trị (chẳng hạn như 1) tăng tốc độ Nmap, mặc dù bạn bỏ lỡ
khi thử lại có thể xác định được hệ điều hành. Ngoài ra, một giá trị cao
có thể được đặt để cho phép nhiều lần thử lại hơn nữa khi điều kiện thuận lợi. Điều này hiếm khi
xong, ngoại trừ việc tạo dấu vân tay tốt hơn để gửi và tích hợp vào
Cơ sở dữ liệu hệ điều hành Nmap.
nmap ĐIÊU KHẮC ĐỘNG CƠ (NSE)
Nmap Scripting Engine (NSE) là một trong những tính năng linh hoạt và mạnh mẽ nhất của Nmap. Nó
cho phép người dùng viết (và chia sẻ) các tập lệnh đơn giản (sử dụng lấy lập trình Ngôn ngữ[11.
) để tự động hóa nhiều tác vụ mạng. Các tập lệnh đó được thực thi song song
với tốc độ và hiệu quả bạn mong đợi từ Nmap. Người dùng có thể tin tưởng vào sự phát triển và
tập hợp các tập lệnh đa dạng được phân phối với Nmap hoặc viết riêng để đáp ứng nhu cầu tùy chỉnh.
Các nhiệm vụ chúng tôi đã lưu ý khi tạo hệ thống bao gồm khám phá mạng, hơn thế nữa
phát hiện phiên bản tinh vi, phát hiện lỗ hổng. NSE thậm chí có thể được sử dụng cho
khai thác lỗ hổng.
Để phản ánh những mục đích sử dụng khác nhau và để đơn giản hóa việc lựa chọn tập lệnh nào để chạy, mỗi
script chứa một trường liên kết nó với một hoặc nhiều danh mục. Hiện đã xác định
danh mục là xác thực, phát sóng, mặc định. khám phá, dos, khai thác, bên ngoài, fuzzer,
xâm nhập, phần mềm độc hại, an toàn, phiên bản và thô tục. Tất cả những điều này được mô tả tại
https://nmap.org/book/nse-usage.html#nse-categories.
Tập lệnh không được chạy trong hộp cát và do đó có thể vô tình hoặc độc hại làm hỏng
hệ thống hoặc xâm phạm quyền riêng tư của bạn. Không bao giờ chạy tập lệnh từ các bên thứ ba trừ khi bạn tin tưởng
tác giả hoặc đã tự mình kiểm tra kỹ các kịch bản.
Nmap Scripting Engine được mô tả chi tiết tại https://nmap.org/book/nse.html và
được kiểm soát bởi các tùy chọn sau:
-sC .
Thực hiện quét tập lệnh bằng cách sử dụng bộ tập lệnh mặc định. Nó tương đương với
--script = mặc định. Một số tập lệnh trong danh mục này được coi là xâm nhập và
không được chạy trên mạng mục tiêu mà không được phép.
--kịch bản tên tập tin|thể loại|thư mục|biểu hiện[, ...] .
Chạy quét tập lệnh bằng cách sử dụng danh sách được phân tách bằng dấu phẩy gồm tên tệp, danh mục tập lệnh và
các thư mục. Mỗi phần tử trong danh sách cũng có thể là một biểu thức Boolean mô tả một
tập hợp các tập lệnh phức tạp hơn. Trước tiên, mỗi phần tử được hiểu là một biểu thức, sau đó
dưới dạng danh mục, và cuối cùng là tên tệp hoặc thư mục.
Có hai tính năng đặc biệt chỉ dành cho người dùng cao cấp. Một là đặt tiền tố tên tập lệnh
và các biểu thức với + để buộc chúng chạy ngay cả khi chúng thường không chạy (ví dụ:
dịch vụ liên quan không được phát hiện trên cổng mục tiêu). Cái khác là lập luận
tất cả có thể được sử dụng để chỉ định mọi tập lệnh trong cơ sở dữ liệu của Nmap. Hãy thận trọng với điều này
bởi vì NSE chứa các tập lệnh nguy hiểm như khai thác, xác thực bạo lực
bẻ khóa và tấn công từ chối dịch vụ.
Tên tệp và thư mục có thể là tương đối hoặc tuyệt đối. Tên tuyệt đối được sử dụng
trực tiếp. Các đường dẫn tương đối được tìm kiếm trong các tập lệnh của mỗi nơi sau đây
cho đến khi tìm thấy: --datadir
$ NMAPDIR.
~ / .nmap (không tìm kiếm trên Windows).
TRANG CHỦ\ AppData \ Roaming \ nmap (chỉ trên Windows).
thư mục chứa tệp thực thi nmap
thư mục chứa tệp thực thi nmap, theo sau là ../share/nmap
NMAPDATADIR.
thư mục hiện tại.
Khi tên thư mục được cung cấp, Nmap tải mọi tệp trong thư mục có tên kết thúc
với .nse. Tất cả các tệp khác bị bỏ qua và các thư mục không được tìm kiếm đệ quy. Khi nào
một tên tệp được cung cấp, nó không cần phải có phần mở rộng .nse; nó sẽ được thêm vào
tự động nếu cần thiết. Các tập lệnh Nmap được lưu trữ trong một thư mục con tập lệnh của Nmap
thư mục dữ liệu theo mặc định (xem https://nmap.org/book/data-files.html). Để có hiệu quả,
script được lập chỉ mục trong cơ sở dữ liệu được lưu trữ trong scripts / script.db,. trong đó liệt kê danh mục
hoặc các danh mục mà mỗi tập lệnh thuộc về. Khi đề cập đến các tập lệnh từ script.db bởi
tên, bạn có thể sử dụng ký tự đại diện '*' kiểu shell.
nmap --kịch bản "http- *"
Tải tất cả các tập lệnh có tên bắt đầu bằng http-, chẳng hạn như http-auth và http-open-proxy.
Đối số để --kịch bản phải được đặt trong dấu ngoặc kép để bảo vệ ký tự đại diện khỏi trình bao.
Việc lựa chọn tập lệnh phức tạp hơn có thể được thực hiện bằng cách sử dụng toán tử và, hoặc và không phải
xây dựng biểu thức Boolean. Các toán tử có cùng quyền ưu tiên[12] như trong Lua: không phải là
cao nhất, tiếp theo là và sau đó hoặc. Bạn có thể thay đổi mức độ ưu tiên bằng cách sử dụng dấu ngoặc đơn.
Vì các biểu thức chứa các ký tự khoảng trắng nên cần phải trích dẫn chúng.
nmap --kịch bản "không phải xâm nhập "
Tải mọi tập lệnh ngoại trừ những tập lệnh trong danh mục xâm nhập.
nmap --kịch bản "vỡ nợ or an toàn"
Chức năng này tương đương với nmap --kịch bản "mặc định, an toàn". Nó tải tất cả các tập lệnh
nằm trong danh mục mặc định hoặc danh mục an toàn hoặc cả hai.
nmap --kịch bản "vỡ nợ và an toàn"
Tải những tập lệnh có trong cả hai danh mục mặc định và an toàn.
nmap --kịch bản "(vỡ nợ or an toàn or xâm nhập) và không http- * "
Tải các tập lệnh trong danh mục mặc định, an toàn hoặc xâm nhập, ngoại trừ những tập lệnh có
tên bắt đầu bằng http-.
--script-args n1=v1,n2={n3=v3},n4={v4,v5} .
Cho phép bạn cung cấp các đối số cho các tập lệnh NSE. Các đối số là danh sách được phân tách bằng dấu phẩy về
cặp tên = giá trị. Tên và giá trị có thể là chuỗi không chứa khoảng trắng hoặc
các ký tự '{', '}', '=', hoặc ','. Để bao gồm một trong những ký tự này trong một chuỗi,
đặt chuỗi trong dấu ngoặc kép hoặc đơn. Trong một chuỗi được trích dẫn, '\' thoát khỏi một
trích dẫn. Dấu gạch chéo ngược chỉ được sử dụng để thoát khỏi dấu ngoặc kép trong trường hợp đặc biệt này; trong tất cả các
các trường hợp khác dấu gạch chéo ngược được hiểu theo nghĩa đen. Giá trị cũng có thể là các bảng kèm theo
trong {}, cũng như trong Lua. Một bảng có thể chứa các giá trị chuỗi đơn giản hoặc nhiều tên-giá trị hơn
các cặp, bao gồm cả các bảng lồng nhau. Nhiều tập lệnh xác định đủ điều kiện đối số của họ với tập lệnh
tên, như trong xmpp-info.server_name. Bạn có thể sử dụng phiên bản đủ điều kiện đó để ảnh hưởng đến
chỉ là tập lệnh được chỉ định hoặc bạn có thể chuyển phiên bản không đủ tiêu chuẩn (server_name trong
trường hợp này) để ảnh hưởng đến tất cả các tập lệnh sử dụng tên đối số đó. Đầu tiên, một tập lệnh sẽ kiểm tra
cho tên đối số đủ điều kiện của nó (tên được chỉ định trong tài liệu của nó) trước
nó chấp nhận một tên đối số không đủ điều kiện. Một ví dụ phức tạp về các đối số script là
--script-args
'user = foo, pass = ", {} = bar", whois = {whodb = nofollow + nine}, xmpp-info.server_name = localhost'.
Cổng Tài liệu NSE trực tuyến tại https://nmap.org/nsedoc/ liệt kê các đối số
mà mỗi tập lệnh chấp nhận.
--script-args-tệp tên tập tin .
Cho phép bạn tải các đối số cho các tập lệnh NSE từ một tệp. Bất kỳ đối số nào trên dòng lệnh
thay thế những cái trong tệp. Tệp có thể là một đường dẫn tuyệt đối hoặc một đường dẫn liên quan đến
Đường dẫn tìm kiếm thông thường của Nmap (NMAPDIR, v.v.) Các đối số có thể được phân tách bằng dấu phẩy hoặc
được phân tách bằng dòng mới, nhưng nếu không thì hãy tuân theo các quy tắc tương tự như đối với --script-args, không có
yêu cầu trích dẫn đặc biệt và thoát, vì chúng không được phân tích cú pháp bởi shell.
--script-trợ giúp tên tập tin|thể loại|thư mục|biểu hiện| tất cả [, ...] .
Hiển thị trợ giúp về tập lệnh. Đối với mỗi tập lệnh phù hợp với đặc điểm kỹ thuật đã cho, Nmap
in tên tập lệnh, danh mục và mô tả của nó. Các thông số kỹ thuật là
giống như những thứ được chấp nhận bởi --kịch bản; vì vậy, ví dụ nếu bạn muốn trợ giúp về
tập lệnh ftp-anon, bạn sẽ chạy nmap --script-trợ giúp ftp-anon. Ngoài việc nhận được
trợ giúp cho các tập lệnh riêng lẻ, bạn có thể sử dụng điều này làm bản xem trước các tập lệnh sẽ được chạy
cho một thông số kỹ thuật, ví dụ với nmap --script-trợ giúp mặc định.
--script-dấu vết .
Tùy chọn này làm những gì --dấu vết gói , chỉ cao hơn một lớp ISO. Nếu tùy chọn này
được chỉ định tất cả các thông tin liên lạc đến và đi được thực hiện bởi một tập lệnh được in ra.
Thông tin được hiển thị bao gồm giao thức truyền thông, nguồn, đích
và dữ liệu được truyền. Nếu hơn 5% của tất cả dữ liệu đã truyền không thể in được,
thì đầu ra theo dõi ở định dạng kết xuất hex. Xác định --dấu vết gói cho phép
theo dõi kịch bản quá.
--script-updatedb .
Tùy chọn này cập nhật cơ sở dữ liệu tập lệnh được tìm thấy trong scripts / script.db được sử dụng bởi
Nmap để xác định các tập lệnh và danh mục mặc định có sẵn. Nó chỉ cần thiết
để cập nhật cơ sở dữ liệu nếu bạn đã thêm hoặc xóa các tập lệnh NSE khỏi mặc định
thư mục script hoặc nếu bạn đã thay đổi các danh mục của bất kỳ script nào. Tùy chọn này là
thường được sử dụng bởi chính nó: nmap --script-updatedb.
THỜI GIAN VÀ THI
Một trong những ưu tiên phát triển Nmap cao nhất của tôi luôn là hiệu suất. Quét mặc định
(nmap hostname) của một máy chủ trên mạng cục bộ của tôi mất một phần năm giây. Đó là hầu như không
đủ thời gian để nhấp nháy, nhưng sẽ tăng lên khi bạn đang quét hàng trăm hoặc hàng nghìn máy chủ.
Hơn nữa, một số tùy chọn quét nhất định như quét UDP và phát hiện phiên bản có thể tăng
thời gian quét về cơ bản. Vì vậy, có thể cấu hình tường lửa nhất định, đặc biệt là phản hồi
giới hạn tỷ lệ. Trong khi Nmap sử dụng song song và nhiều thuật toán nâng cao để tăng tốc
những lần quét này, người dùng có quyền kiểm soát cuối cùng đối với cách Nmap chạy. Người dùng chuyên nghiệp cẩn thận
thủ công các lệnh Nmap để chỉ lấy thông tin mà họ quan tâm trong khi gặp
hạn chế thời gian.
Các kỹ thuật để cải thiện thời gian quét bao gồm bỏ qua các bài kiểm tra không quan trọng và nâng cấp lên
phiên bản mới nhất của Nmap (cải tiến hiệu suất được thực hiện thường xuyên). Tối ưu hóa
các thông số thời gian cũng có thể tạo ra sự khác biệt đáng kể. Các tùy chọn đó được liệt kê bên dưới.
Một số tùy chọn chấp nhận một tham số thời gian. Điều này được chỉ định bằng giây theo mặc định, mặc dù bạn
có thể thêm 'ms', 's', 'm' hoặc 'h' vào giá trị để chỉ định mili giây, giây, phút,
hoặc giờ. Nên --host-hết thời gian chờ các đối số 900000ms, 900, 900s và 15m đều hoạt động tương tự
Điều.
--min-hostgroup số lượng; --max-hostgroup số lượng (Điều chỉnh kích thước nhóm quét song song).
Nmap có khả năng quét cổng hoặc quét phiên bản song song nhiều máy chủ. Nmap
thực hiện điều này bằng cách chia không gian IP mục tiêu thành các nhóm và sau đó quét một nhóm tại một
thời gian. Nói chung, các nhóm lớn hơn sẽ hiệu quả hơn. Nhược điểm là kết quả máy chủ lưu trữ
không thể được cung cấp cho đến khi toàn bộ nhóm được hoàn thành. Vì vậy, nếu Nmap bắt đầu với một
quy mô nhóm là 50, người dùng sẽ không nhận được bất kỳ báo cáo nào (ngoại trừ các bản cập nhật
được cung cấp ở chế độ tiết) cho đến khi hoàn thành 50 máy chủ đầu tiên.
Theo mặc định, Nmap có cách tiếp cận thỏa hiệp đối với xung đột này. Nó bắt đầu với một
quy mô nhóm thấp đến năm, do đó, kết quả đầu tiên đến nhanh chóng và sau đó tăng
kích thước nhóm lên đến 1024. Các con số mặc định chính xác phụ thuộc vào các tùy chọn được cung cấp.
Vì lý do hiệu quả, Nmap sử dụng kích thước nhóm lớn hơn để quét UDP hoặc TCP ít cổng.
Khi kích thước nhóm tối đa được chỉ định với --max-hostgroup, Nmap sẽ không bao giờ vượt quá
kích thước đó. Chỉ định kích thước tối thiểu với --min-hostgroup và Nmap sẽ cố gắng duy trì nhóm
kích thước trên mức đó. Nmap có thể phải sử dụng các nhóm nhỏ hơn bạn chỉ định nếu có
không còn đủ máy chủ đích trên một giao diện nhất định để đáp ứng
tối thiểu. Cả hai đều có thể được đặt để giữ kích thước nhóm trong một phạm vi cụ thể, mặc dù điều này
hiếm khi được mong muốn.
Các tùy chọn này không có hiệu lực trong giai đoạn phát hiện máy chủ của quá trình quét. Điều này
bao gồm quét ping đơn giản (-sn). Khám phá máy chủ luôn hoạt động trong các nhóm lớn máy chủ
để cải thiện tốc độ và độ chính xác.
Việc sử dụng chính của các tùy chọn này là chỉ định kích thước nhóm tối thiểu lớn để
quét toàn bộ chạy nhanh hơn. Một lựa chọn phổ biến là 256 để quét mạng có kích thước Lớp C
miếng, mảnh nhỏ. Đối với quá trình quét có nhiều cổng, việc vượt quá con số đó không có tác dụng nhiều.
Đối với việc quét chỉ một vài số cổng, kích thước nhóm máy chủ lưu trữ từ 2048 trở lên có thể hữu ích.
--min-song song áo choàng số; - max-song song áo choàng số (Điều chỉnh song song đầu dò).
Các tùy chọn này kiểm soát tổng số đầu dò có thể còn tồn tại đối với một máy chủ
tập đoàn. Chúng được sử dụng để quét cổng và khám phá máy chủ. Theo mặc định, Nmap tính toán
song song lý tưởng luôn thay đổi dựa trên hiệu suất mạng. Nếu các gói đang được
rớt xuống, Nmap chậm lại và cho phép ít đầu dò nổi bật hơn. Số thăm dò lý tưởng
từ từ tăng lên khi mạng chứng tỏ bản thân xứng đáng. Các tùy chọn này đặt tối thiểu hoặc
giới hạn tối đa cho biến đó. Theo mặc định, độ song song lý tưởng có thể giảm xuống một nếu
mạng được chứng minh là không đáng tin cậy và tăng lên hàng trăm trong điều kiện hoàn hảo.
Cách sử dụng phổ biến nhất là đặt --min-song song đến một số cao hơn một để tăng tốc độ
quét các máy chủ hoặc mạng hoạt động kém. Đây là một lựa chọn mạo hiểm để chơi với,
vì đặt nó quá cao có thể ảnh hưởng đến độ chính xác. Cài đặt này cũng làm giảm khả năng của Nmap
để điều khiển động song song dựa trên các điều kiện mạng. Giá trị 10 có thể là
hợp lý, mặc dù tôi chỉ điều chỉnh giá trị này như một phương sách cuối cùng.
- max-song song đôi khi tùy chọn được đặt thành một để ngăn Nmap gửi thêm
hơn một thăm dò tại một thời điểm cho các máy chủ. Các --quét-trì hoãn tùy chọn, sẽ thảo luận sau, là
một cách khác để làm điều này.
--min-rtt-thời gian chờ thời gian, --max-rtt-thời gian chờ thời gian, --initial-rtt-timeout thời gian (Điều chỉnh đầu dò
hết giờ).
Nmap duy trì giá trị thời gian chờ đang chạy để xác định thời gian chờ trong bao lâu
phản hồi đầu dò trước khi từ bỏ hoặc truyền lại đầu dò. Điều này được tính toán dựa trên
về thời gian phản hồi của các đầu dò trước đó.
Nếu độ trễ mạng tự cho thấy là đáng kể và có thể thay đổi, thời gian chờ này có thể
phát triển đến vài giây. Nó cũng bắt đầu ở mức bảo thủ (cao) và có thể ở
theo cách đó trong một thời gian khi Nmap quét các máy chủ không phản hồi.
Chỉ định một thấp hơn --max-rtt-thời gian chờ và --initial-rtt-timeout so với giá trị mặc định có thể
cắt giảm thời gian quét đáng kể. Điều này đặc biệt đúng với pingless (-pn) quét, và
chống lại các mạng được lọc nhiều. Đừng quá hung hăng. Quét có thể
sẽ mất nhiều thời gian hơn nếu bạn chỉ định một giá trị thấp đến mức nhiều đầu dò đang hết thời gian
và truyền lại trong khi phản hồi đang chuyển.
Nếu tất cả các máy chủ đều nằm trên mạng cục bộ, 100 mili giây (--max-rtt-thời gian chờ 100ms) là
một giá trị tích cực hợp lý. Nếu liên quan đến định tuyến, hãy ping một máy chủ lưu trữ trên mạng
đầu tiên với tiện ích ping ICMP hoặc với trình tạo gói tùy chỉnh như Nping. điều đó
có nhiều khả năng vượt qua tường lửa hơn. Xem xét thời gian tối đa của chuyến đi khứ hồi trong số
mười gói hoặc lâu hơn. Bạn có thể muốn tăng gấp đôi số tiền đó cho --initial-rtt-timeout và
gấp ba hoặc gấp bốn lần cho --max-rtt-thời gian chờ. Tôi thường không đặt mức tối đa
RTT dưới 100 ms, bất kể thời gian ping là bao nhiêu. Tôi cũng không vượt quá 1000 ms.
--min-rtt-thời gian chờ là một tùy chọn hiếm khi được sử dụng có thể hữu ích khi mạng như vậy
không đáng tin cậy rằng ngay cả mặc định của Nmap cũng quá hung hăng. Vì Nmap chỉ làm giảm
thời gian chờ giảm xuống mức tối thiểu khi mạng có vẻ đáng tin cậy, nhu cầu này là
bất thường và phải được báo cáo là lỗi đối với danh sách gửi thư nmap-dev ..
- max-retries số (Chỉ định số lần truyền lại đầu dò quét cổng tối đa).
Khi Nmap không nhận được phản hồi đối với một đầu dò quét cổng, điều đó có nghĩa là cổng đó
đã lọc. Hoặc có thể đầu dò hoặc phản hồi chỉ đơn giản là bị mất trên mạng. Nó cũng là
có thể máy chủ mục tiêu đã bật giới hạn tốc độ nên tạm thời chặn
phản ứng. Vì vậy, Nmap thử lại bằng cách truyền lại đầu dò ban đầu. Nếu Nmap phát hiện
độ tin cậy của mạng kém, nó có thể thử nhiều lần nữa trước khi từ bỏ một cổng. Trong khi
điều này có lợi cho độ chính xác, nó cũng kéo dài thời gian quét. Khi hiệu suất là quan trọng,
có thể tăng tốc quá trình quét bằng cách giới hạn số lần truyền lại được phép. Bạn có thể
chỉ định - max-retries 0 để ngăn chặn bất kỳ sự truyền lại nào, mặc dù đó chỉ là
được đề xuất cho các tình huống như các cuộc khảo sát không chính thức, nơi đôi khi bị bỏ lỡ các cổng và
máy chủ có thể chấp nhận được.
Mặc định (không có -T mẫu) là cho phép truyền lại mười. Nếu một mạng dường như
đáng tin cậy và máy chủ mục tiêu không giới hạn tốc độ, Nmap thường chỉ thực hiện một
sự truyền lại. Vì vậy, hầu hết các lần quét mục tiêu thậm chí không bị ảnh hưởng bởi việc giảm - max-retries đến
một giá trị thấp chẳng hạn như ba. Các giá trị như vậy về cơ bản có thể làm tốc độ quét chậm (tốc độ
giới hạn) máy chủ. Bạn thường mất một số thông tin khi Nmap từ bỏ các cổng sớm,
mặc dù điều đó có thể tốt hơn nếu để --host-hết thời gian chờ hết hạn và mất tất cả
thông tin về mục tiêu.
--host-hết thời gian chờ thời gian (Bỏ máy chủ mục tiêu chậm).
Một số máy chủ chỉ cần lấy một Dài thời gian để quét. Điều này có thể do hoạt động kém hoặc
phần cứng hoặc phần mềm mạng không đáng tin cậy, giới hạn tốc độ gói hoặc một giới hạn
bức tường lửa. Một vài phần trăm máy chủ được quét chậm nhất có thể ăn hết phần lớn
Thời gian quét. Đôi khi tốt nhất là bạn nên cắt lỗ và bỏ qua những máy chủ đó lúc đầu.
Chỉ định --host-hết thời gian chờ với lượng thời gian tối đa mà bạn sẵn sàng chờ đợi. Vì
ví dụ, chỉ định 30m để đảm bảo rằng Nmap không lãng phí hơn nửa giờ cho một
máy chủ duy nhất. Lưu ý rằng Nmap có thể đang quét các máy chủ khác cùng lúc trong thời gian đó
nửa giờ, vì vậy nó không phải là một mất mát hoàn toàn. Một máy chủ hết thời gian chờ sẽ bị bỏ qua. Không có cổng
bảng, phát hiện hệ điều hành hoặc kết quả phát hiện phiên bản được in cho máy chủ lưu trữ đó.
--quét-trì hoãn thời gian; - max-scan-delay thời gian (Điều chỉnh độ trễ giữa các đầu dò).
Tùy chọn này khiến Nmap phải đợi ít nhất một khoảng thời gian nhất định giữa mỗi lần thăm dò
nó sẽ gửi đến một máy chủ nhất định. Điều này đặc biệt hữu ích trong trường hợp giới hạn tỷ lệ ..
Máy Solaris (trong số nhiều máy khác) thường sẽ phản hồi các gói thăm dò quét UDP
chỉ với một tin nhắn ICMP mỗi giây. Bất kỳ nhiều hơn những gì được gửi bởi Nmap sẽ được
lãng phí. MỘT --quét-trì hoãn trong 1s sẽ giữ Nmap ở tốc độ chậm đó. Nmap cố gắng phát hiện
giới hạn tốc độ và điều chỉnh độ trễ quét cho phù hợp, nhưng không hại gì khi chỉ định nó
rõ ràng nếu bạn đã biết tỷ lệ nào hoạt động tốt nhất.
Khi Nmap điều chỉnh độ trễ quét lên để đối phó với giới hạn tốc độ, quá trình quét sẽ chậm lại
giảm đáng kể. Các - max-scan-delay tùy chọn chỉ định độ trễ lớn nhất mà Nmap
sẽ cho phép. Thấp - max-scan-delay có thể tăng tốc độ Nmap, nhưng nó rất rủi ro. Đặt cái này
giá trị quá thấp có thể dẫn đến việc truyền lại gói một cách lãng phí và có thể bị bỏ lỡ các cổng
khi mục tiêu thực hiện giới hạn tỷ lệ nghiêm ngặt.
Một cách sử dụng khác của --quét-trì hoãn là để tránh phát hiện xâm nhập dựa trên ngưỡng và
hệ thống phòng ngừa (IDS / IPS) ..
- tỷ lệ phút con số; --tỷ lệ tối đa con số (Trực tiếp điều khiển tốc độ quét).
Thời gian động của Nmap thực hiện tốt công việc tìm kiếm một tốc độ thích hợp để
quét. Tuy nhiên, đôi khi bạn có thể tình cờ biết được tốc độ quét thích hợp cho một
mạng, hoặc bạn có thể phải đảm bảo rằng quá trình quét sẽ kết thúc vào một thời gian nhất định.
Hoặc có lẽ bạn phải giữ Nmap không quét quá nhanh. Các - tỷ lệ phút và --tỷ lệ tối đa
các tùy chọn được thiết kế cho những tình huống này.
Khi - tỷ lệ phút được cung cấp tùy chọn Nmap sẽ cố gắng hết sức để gửi các gói tin nhanh nhất
hoặc nhanh hơn tốc độ đã cho. Đối số là một số thực dương đại diện cho một
tốc độ gói tính bằng gói trên giây. Ví dụ, chỉ định - tỷ lệ phút 300 có nghĩa là
Nmap sẽ cố gắng giữ tốc độ gửi bằng hoặc trên 300 gói mỗi giây. Xác định
một tỷ lệ tối thiểu không ngăn Nmap chạy nhanh hơn nếu các điều kiện đảm bảo.
Tương tự như vậy, --tỷ lệ tối đa giới hạn tốc độ gửi của một bản quét ở mức tối đa nhất định. Sử dụng --tỷ lệ tối đa
100, ví dụ, để giới hạn gửi 100 gói mỗi giây trên mạng nhanh. Sử dụng
--tỷ lệ tối đa 0.1 để quét chậm một gói cứ sau mười giây. Sử dụng - tỷ lệ phút và
--tỷ lệ tối đa cùng nhau để giữ tỷ giá trong một phạm vi nhất định.
Hai tùy chọn này là chung, ảnh hưởng đến toàn bộ quá trình quét, không ảnh hưởng đến từng máy chủ riêng lẻ. Họ
chỉ ảnh hưởng đến việc quét cổng và quét khám phá máy chủ. Các tính năng khác như phát hiện hệ điều hành
thực hiện thời gian của riêng họ.
Có hai điều kiện khi tốc độ quét thực tế có thể giảm xuống dưới mức yêu cầu
tối thiểu. Đầu tiên là nếu tốc độ tối thiểu nhanh hơn tốc độ nhanh nhất mà Nmap có thể
gửi, phụ thuộc vào phần cứng. Trong trường hợp này Nmap sẽ chỉ gửi các gói tin dưới dạng
nhanh nhất có thể, nhưng lưu ý rằng tỷ lệ cao như vậy có thể gây ra mất
sự chính xác. Trường hợp thứ hai là khi Nmap không có gì để gửi, ví dụ: ở cuối
quét khi các đầu dò cuối cùng đã được gửi đi và Nmap đang đợi chúng hết thời gian hoặc
được phản hồi. Việc tốc độ quét giảm khi kết thúc quá trình quét hoặc trong quá trình quét là điều bình thường.
giữa các nhóm máy chủ. Tốc độ gửi có thể tạm thời vượt quá mức tối đa để bù đắp
sự chậm trễ không thể đoán trước, nhưng tỷ lệ trung bình sẽ ở mức hoặc thấp hơn mức tối đa.
Việc chỉ định một tỷ lệ tối thiểu nên được thực hiện cẩn thận. Quét nhanh hơn mạng có thể
hỗ trợ có thể dẫn đến mất độ chính xác. Trong một số trường hợp, sử dụng tốc độ nhanh hơn có thể làm cho
quét lấy còn so với tốc độ chậm hơn. Điều này là do khả năng thích ứng của Nmap
các thuật toán truyền lại sẽ phát hiện tắc nghẽn mạng do quá mức
tốc độ quét và tăng số lần truyền lại để cải thiện độ chính xác.
Vì vậy, mặc dù các gói được gửi với tốc độ cao hơn, nhưng tổng thể thì sẽ có nhiều gói được gửi hơn. Mũ lưỡi trai
số lần truyền lại với - max-retries tùy chọn nếu bạn cần đặt một
giới hạn trên trên tổng thời gian quét.
--defeat-first-ratelimit .
Nhiều máy chủ đã giới hạn tốc độ sử dụng từ lâu. để giảm số lượng thông báo lỗi ICMP
(chẳng hạn như lỗi không thể truy cập cổng) mà họ gửi. Một số hệ thống hiện áp dụng tỷ lệ tương tự
giới hạn đối với các gói RST (đặt lại) mà chúng tạo ra. Điều này có thể làm chậm Nmap xuống đáng kể
vì nó điều chỉnh thời gian để phản ánh các giới hạn tỷ lệ đó. Bạn có thể yêu cầu Nmap bỏ qua
các giới hạn tốc độ đó (đối với quét cổng chẳng hạn như quét SYN, không điều trị không đáp ứng
cổng mở) bằng cách chỉ định --defeat-first-ratelimit.
Sử dụng tùy chọn này có thể làm giảm độ chính xác, vì một số cổng sẽ không phản hồi
bởi vì Nmap không đợi đủ lâu để có phản hồi RST có giới hạn tốc độ. Với quét SYN,
kết quả không phản hồi dẫn đến cổng được gắn nhãn là lọc thay vì đóng
trạng thái mà chúng ta thấy khi các gói RST được nhận. Tùy chọn này hữu ích khi bạn chỉ quan tâm
về các cổng mở và việc phân biệt giữa các cổng đã đóng và đã lọc không đáng
thêm thời gian.
--nsock-động cơ epoll | kqueue | thăm dò ý kiến | chọn .
Thực thi việc sử dụng một công cụ ghép kênh IO nsock nhất định. Chỉ chọn(2) dự phòng dựa trên cơ sở
động cơ được đảm bảo có sẵn trên hệ thống của bạn. Động cơ được đặt theo tên
của cơ sở quản lý IO mà họ tận dụng. Các công cụ hiện được triển khai là epoll,
kqueue, thăm dò và lựa chọn, nhưng không phải tất cả sẽ có trên bất kỳ nền tảng nào. Sử dụng nmap -V đến
xem động cơ nào được hỗ trợ.
-T hoang tưởng | lén lút | lịch sự | bình thường | hung hăng | mất trí (Đặt mẫu thời gian).
Mặc dù các điều khiển thời gian chi tiết được thảo luận trong phần trước rất mạnh mẽ
và hiệu quả, một số người thấy chúng khó hiểu. Hơn nữa, việc lựa chọn thích hợp
các giá trị đôi khi có thể mất nhiều thời gian hơn quá trình quét mà bạn đang cố gắng tối ưu hóa. So Nmap
cung cấp một cách tiếp cận đơn giản hơn, với sáu mẫu thời gian. Bạn có thể chỉ định chúng bằng -T
tùy chọn và số của họ (0–5) hoặc tên của họ. Tên mẫu là hoang tưởng (0),
lén lút (1), lịch sự (2), bình thường (3), tích cực (4), Và điên (5). Hai cái đầu tiên là
để trốn tránh IDS. Chế độ lịch sự làm chậm quá trình quét để sử dụng ít băng thông và mục tiêu hơn
tài nguyên máy. Chế độ bình thường là mặc định và vì vậy -T3 Không lam gi cả. Chế độ tích cực
tốc độ quét nhanh hơn bằng cách đưa ra giả định rằng bạn đang chạy rất nhanh và
mạng đáng tin cậy. Cuối cùng là chế độ điên. giả định rằng bạn đang ở một
mạng nhanh hoặc sẵn sàng hy sinh một số độ chính xác cho tốc độ.
Các mẫu này cho phép người dùng chỉ định mức độ tích cực mà họ muốn, trong khi
để lại Nmap để chọn các giá trị thời gian chính xác. Các mẫu cũng tạo ra một số tốc độ nhỏ
các điều chỉnh mà các tùy chọn kiểm soát chi tiết hiện không tồn tại. Vì
thí dụ, -T4. cấm độ trễ quét động vượt quá 10 ms đối với các cổng TCP và
-T5 giới hạn giá trị đó ở 5 ms. Mẫu có thể được sử dụng kết hợp với hạt mịn
và các điều khiển chi tiết mà bạn chỉ định sẽ được ưu tiên hơn
mẫu thời gian mặc định cho tham số đó. Tôi khuyên bạn nên sử dụng -T4 khi quét
hợp lý hiện đại và mạng đáng tin cậy. Giữ tùy chọn đó ngay cả khi bạn thêm
kiểm soát chi tiết để bạn được hưởng lợi từ những tối ưu hóa bổ sung nhỏ mà nó
cho phép.
Nếu bạn đang sử dụng kết nối băng thông rộng hoặc ethernet tốt, tôi luôn khuyên bạn nên
sử dụng -T4. Một số người yêu -T5 mặc dù nó là quá hung hăng đối với sở thích của tôi. Mọi người
đôi khi chỉ định -T2 bởi vì họ nghĩ rằng ít có khả năng bị hỏng máy chủ hoặc vì
họ tự cho mình là người lịch sự nói chung. Họ thường không nhận ra cách
chậm -T lịch sự. thật sự là. Quá trình quét của họ có thể lâu hơn mười lần so với quá trình quét mặc định.
Sự cố máy và sự cố băng thông hiếm khi xảy ra với các tùy chọn thời gian mặc định (-T3)
và vì vậy tôi thường khuyến nghị điều đó đối với các máy quét thận trọng. Bỏ qua phát hiện phiên bản là
hiệu quả hơn nhiều so với chơi với các giá trị thời gian để giảm những vấn đề này.
Trong khi -T0. và -T1. có thể hữu ích để tránh các cảnh báo IDS, chúng sẽ
thời gian quét hàng nghìn máy hoặc cổng cực kỳ dài. Trong một thời gian dài
quét, bạn có thể thích đặt các giá trị thời gian chính xác mà bạn cần hơn là dựa vào
đóng hộp -T0 và -T1 các giá trị.
Các tác dụng chính của T0 đang tuần tự hóa quá trình quét để mỗi lần chỉ quét một cổng,
và đợi năm phút giữa mỗi lần gửi thăm dò. T1 và T2 tương tự nhưng chúng
chỉ chờ 15 giây và 0.4 giây tương ứng giữa các đầu dò. T3. là của Nmap
hành vi mặc định, bao gồm song song hóa. -T4 tương đương với
--max-rtt-thời gian chờ 1250ms --min-rtt-thời gian chờ 100ms --initial-rtt-timeout 500ms
- max-retries 6 và đặt độ trễ quét TCP tối đa thành 10 mili giây. T5 thực hiện
tương đương với --max-rtt-thời gian chờ 300ms --min-rtt-thời gian chờ 50ms --initial-rtt-timeout
250ms - max-retries 2 --host-hết thời gian chờ 15m cũng như đặt độ trễ quét TCP tối đa
đến 5 mili giây.
FIREWALL / IDS ĐÁNH GIÁ VÀ GIẢI PHÓNG
Nhiều nhà tiên phong về Internet đã hình dung ra một mạng mở toàn cầu với không gian địa chỉ IP chung
cho phép kết nối ảo giữa hai nút bất kỳ. Điều này cho phép các máy chủ hoạt động như đúng
đồng nghiệp, phục vụ và truy xuất thông tin từ nhau. Mọi người có thể truy cập tất cả
hệ thống nhà của họ từ nơi làm việc, thay đổi cài đặt kiểm soát khí hậu hoặc mở khóa cửa
cho những khách sớm. Tầm nhìn về kết nối toàn cầu này đã bị cản trở bởi không gian địa chỉ
thiếu hụt và các lo ngại về an ninh. Vào đầu những năm 1990, các tổ chức bắt đầu triển khai
tường lửa cho mục đích rõ ràng là giảm kết nối. Mạng lưới khổng lồ đã được thắt chặt
tắt từ Internet chưa được lọc bằng proxy ứng dụng, dịch địa chỉ mạng và
bộ lọc gói. Luồng thông tin không hạn chế đã nhường chỗ cho quy định chặt chẽ về
các kênh truyền thông đã được phê duyệt và nội dung chuyển qua chúng.
Các vật cản mạng như tường lửa có thể làm cho việc lập bản đồ mạng trở nên cực kỳ khó khăn.
Nó sẽ không dễ dàng hơn chút nào, vì việc trinh sát bình thường ngột ngạt thường là mục tiêu chính của
triển khai các thiết bị. Tuy nhiên, Nmap cung cấp nhiều tính năng để giúp hiểu được những
mạng phức tạp và để xác minh rằng các bộ lọc đang hoạt động như dự kiến. Nó thậm chí còn hỗ trợ
cơ chế bỏ qua các biện pháp phòng thủ được thực hiện kém. Một trong những phương pháp tốt nhất của
hiểu thế trận an ninh mạng của bạn là cố gắng đánh bại nó. Đặt mình vào
tư duy của kẻ tấn công và triển khai các kỹ thuật từ phần này chống lại mạng của bạn.
Khởi chạy quét trả lại FTP, quét không tải, tấn công phân mảnh hoặc cố gắng vượt qua một
proxy của riêng bạn.
Ngoài việc hạn chế hoạt động mạng, các công ty ngày càng giám sát lưu lượng truy cập
với hệ thống phát hiện xâm nhập (IDS). Tất cả các IDS chính đều có các quy tắc được thiết kế để
phát hiện quét Nmap vì quét đôi khi là tiền đề cho các cuộc tấn công. Nhiều trong số các
các sản phẩm gần đây đã bị xâm nhập phòng chống hệ thống (IPS). tích cực đó
chặn lưu lượng truy cập được coi là độc hại. Thật không may cho quản trị viên mạng và nhà cung cấp IDS,
Việc phát hiện những ý định xấu một cách đáng tin cậy bằng cách phân tích dữ liệu gói là một bài toán khó. Kẻ tấn công
với sự kiên nhẫn, kỹ năng và sự trợ giúp của các tùy chọn Nmap nhất định thường có thể vượt qua bởi các IDS
không bị phát hiện. Trong khi đó, các quản trị viên phải đối phó với số lượng lớn dương tính giả
kết quả trong đó hoạt động vô tội bị chẩn đoán sai và được cảnh báo hoặc bị chặn.
Đôi khi, mọi người đề xuất rằng Nmap không nên cung cấp các tính năng để trốn tránh các quy tắc tường lửa
hoặc xem lén các IDS trong quá khứ. Họ cho rằng những tính năng này có khả năng bị lạm dụng bởi
những kẻ tấn công được quản trị viên sử dụng để tăng cường bảo mật. Vấn đề với logic này là
rằng những phương pháp này sẽ vẫn được sử dụng bởi những kẻ tấn công, những người sẽ chỉ tìm thấy các công cụ khác hoặc
vá các chức năng vào Nmap. Trong khi đó, các quản trị viên sẽ thấy nó nhiều
khó hơn để làm công việc của họ. Chỉ triển khai các máy chủ FTP hiện đại, được vá lỗi mạnh hơn nhiều
phòng thủ hơn là cố gắng ngăn chặn việc phân phối các công cụ thực hiện trả lại FTP
tấn công.
Không có viên đạn ma thuật nào (hoặc tùy chọn Nmap) để phát hiện và lật đổ tường lửa và IDS
các hệ thống. Nó cần kỹ năng và kinh nghiệm. Một hướng dẫn nằm ngoài phạm vi của tài liệu tham khảo này
hướng dẫn, chỉ liệt kê các tùy chọn có liên quan và mô tả những gì họ làm.
-f (gói tin phân mảnh); --mtu (sử dụng MTU được chỉ định).
-f tùy chọn khiến quá trình quét được yêu cầu (bao gồm cả quét ping) sử dụng
Các gói IP. Ý tưởng là chia nhỏ tiêu đề TCP thành một số gói để làm cho nó
khó hơn đối với các bộ lọc gói, hệ thống phát hiện xâm nhập và các vấn đề khó phát hiện khác
những gì bạn đang làm. Hãy cẩn thận với điều này! Một số chương trình gặp sự cố khi xử lý những
gói nhỏ. Trình đánh hơi cũ có tên là phân đoạn Sniffit bị lỗi ngay lập tức
khi nhận được mảnh đầu tiên. Chỉ định tùy chọn này một lần và Nmap tách
gói thành tám byte hoặc ít hơn sau tiêu đề IP. Vì vậy, tiêu đề TCP 20 byte sẽ là
chia thành ba gói. Hai với tám byte của tiêu đề TCP và một với
cuối cùng bốn. Tất nhiên mỗi phân mảnh cũng có một tiêu đề IP. Chỉ định -f một lần nữa để sử dụng 16
byte trên mỗi phân mảnh (giảm số lượng phân mảnh) .. Hoặc bạn có thể chỉ định
kích thước bù đắp với --mtu lựa chọn. Cũng không chỉ định -f nếu bạn dùng --mtu. Sự bù đắp
phải là bội số của tám. Mặc dù các gói bị phân mảnh sẽ không nhận được bởi các bộ lọc gói và
tường lửa xếp hàng tất cả các đoạn IP, chẳng hạn như CONFIG_IP_ALWAYS_DEFRAG tùy chọn trong
nhân Linux, một số mạng không thể đảm bảo hiệu suất gây ra lỗi này và do đó
để nó vô hiệu hóa. Những người khác không thể bật tính năng này vì các đoạn có thể khác nhau
các tuyến vào mạng của họ. Một số hệ thống nguồn chống phân mảnh các gói gửi đi trong
hạt nhân. Linux với iptables. mô-đun theo dõi kết nối là một trong những ví dụ như vậy. Làm một
quét trong khi một trình đánh hơi chẳng hạn như Wireshark. đang chạy để đảm bảo rằng các gói đã gửi
rời rạc. Nếu hệ điều hành máy chủ của bạn đang gây ra sự cố, hãy thử --gửi-eth. tùy chọn để bỏ qua
lớp IP và gửi các khung ethernet thô.
Phân mảnh chỉ được hỗ trợ cho các tính năng gói thô của Nmap, bao gồm TCP và
Quét cổng UDP (ngoại trừ quét kết nối và quét trả lại FTP) và phát hiện hệ điều hành. Đặc trưng
chẳng hạn như phát hiện phiên bản và Công cụ tạo kịch bản Nmap thường không hỗ trợ
phân mảnh vì chúng dựa vào ngăn xếp TCP của máy chủ của bạn để giao tiếp với mục tiêu
dịch vụ.
-D mồi nhử1[,mồi nhử2][,TÔI][,...] (Che dấu vết quét bằng mồi nhử).
Làm cho quá trình quét mồi nhử được thực hiện, điều này làm cho máy chủ từ xa hiển thị rằng
(các) máy chủ mà bạn chỉ định làm mồi nhử cũng đang quét mạng mục tiêu. Do đó IDS của họ
có thể báo cáo 5–10 lần quét cổng từ các địa chỉ IP duy nhất, nhưng họ sẽ không biết IP nào
đang quét chúng và đó là mồi nhử vô tội. Trong khi điều này có thể bị đánh bại thông qua
theo dõi đường dẫn bộ định tuyến, giảm phản hồi và các cơ chế hoạt động khác, nói chung là
một kỹ thuật hiệu quả để ẩn địa chỉ IP của bạn.
Phân tách từng máy chủ mồi nhử bằng dấu phẩy và bạn có thể tùy ý sử dụng ME. là một trong
mồi nhử để đại diện cho vị trí cho địa chỉ IP thực của bạn. Nếu bạn đặt TÔI ở vị trí thứ sáu
vị trí trở lên, một số máy dò quét cổng phổ biến (chẳng hạn như Solar Designer's.
Scanlogd xuất sắc). hầu như không hiển thị địa chỉ IP của bạn. Nếu bạn không sử dụng
TÔI, Nmap sẽ đặt bạn vào một vị trí ngẫu nhiên. Bạn cũng có thể sử dụng RND. để tạo ra một
địa chỉ IP ngẫu nhiên, không dành riêng hoặc RND:con số để tạo ra con số địa chỉ.
Lưu ý rằng các máy chủ mà bạn sử dụng làm mồi nhử phải được nâng cấp hoặc bạn có thể vô tình SYN lũ
mục tiêu của bạn. Ngoài ra, sẽ khá dễ dàng để xác định máy chủ nào đang quét nếu chỉ
một trên thực tế trên mạng. Bạn có thể muốn sử dụng địa chỉ IP thay vì tên
(vì vậy mạng mồi nhử không thấy bạn trong nhật ký máy chủ định danh của họ).
Mồi nhử được sử dụng cả trong quá trình quét ping ban đầu (sử dụng ICMP, SYN, ACK hoặc bất cứ thứ gì) và
trong giai đoạn quét cổng thực tế. Mồi nhử cũng được sử dụng trong quá trình phát hiện hệ điều hành từ xa
(-O). Mồi nhử không hoạt động với tính năng phát hiện phiên bản hoặc quét kết nối TCP. Khi quét trễ
đang có hiệu lực, sự chậm trễ được thực thi giữa mỗi lô đầu dò giả mạo, không phải giữa
từng đầu dò riêng lẻ. Bởi vì mồi nhử được gửi cùng một lúc, chúng có thể
tạm thời vi phạm giới hạn kiểm soát ùn tắc.
Cần lưu ý rằng việc sử dụng quá nhiều mồi nhử có thể làm chậm quá trình quét của bạn và thậm chí có khả năng
làm cho nó kém chính xác hơn. Ngoài ra, một số ISP sẽ lọc ra các gói giả mạo của bạn, nhưng nhiều
hoàn toàn không hạn chế các gói IP giả mạo.
-S Địa chỉ IP (Địa chỉ nguồn giả mạo).
Trong một số trường hợp, Nmap có thể không xác định được địa chỉ nguồn của bạn (Nmap
sẽ cho bạn biết nếu đây là trường hợp). Trong tình huống này, hãy sử dụng -S với địa chỉ IP của
giao diện mà bạn muốn gửi các gói tin qua.
Một cách sử dụng có thể có khác của cờ này là giả mạo quá trình quét để làm cho các mục tiêu nghĩ rằng
một người nào đó khác đang quét chúng. Hãy tưởng tượng một công ty bị quét liên tục bởi một
đối thủ! Các -e lựa chọn và -pn thường được yêu cầu cho loại sử dụng này. Ghi chú
mà bạn thường sẽ không nhận được các gói trả lời lại (chúng sẽ được chuyển đến địa chỉ IP
bạn đang giả mạo), vì vậy Nmap sẽ không tạo ra các báo cáo hữu ích.
-e giao diện (Sử dụng giao diện được chỉ định).
Cho Nmap biết giao diện nào để gửi và nhận gói tin. Nmap sẽ có thể
tự động phát hiện điều này, nhưng nó sẽ cho bạn biết nếu nó không thể.
--cổng nguồn số cổng; -g số cổng (Số cổng nguồn giả mạo).
Một cấu hình sai phổ biến đáng ngạc nhiên là chỉ tin tưởng lưu lượng truy cập dựa trên nguồn
số cổng. Có thể dễ dàng hiểu được điều này xảy ra như thế nào. Quản trị viên sẽ thiết lập
lên một bức tường lửa mới sáng bóng, chỉ để tràn ngập những lời phàn nàn từ những người dùng vô ơn
ứng dụng của họ đã ngừng hoạt động. Đặc biệt, DNS có thể bị hỏng do UDP
Các phản hồi DNS từ các máy chủ bên ngoài không thể vào mạng được nữa. FTP là một
ví dụ thông thường. Trong quá trình truyền FTP đang hoạt động, máy chủ từ xa cố gắng thiết lập
kết nối trở lại máy khách để chuyển tệp được yêu cầu.
Các giải pháp an toàn cho những vấn đề này tồn tại, thường ở dạng cấp ứng dụng
proxy hoặc mô-đun tường lửa phân tích cú pháp giao thức. Thật không may, cũng có những thứ dễ dàng hơn,
các giải pháp không an toàn. Lưu ý rằng các phản hồi DNS đến từ cổng 53 và FTP đang hoạt động từ cổng
20, nhiều quản trị viên đã rơi vào bẫy chỉ đơn giản là cho phép lưu lượng truy cập vào
từ các cổng đó. Họ thường cho rằng không có kẻ tấn công nào để ý và khai thác
lỗ hổng tường lửa. Trong các trường hợp khác, quản trị viên coi đây là khoảng cách dừng ngắn hạn
đo lường cho đến khi họ có thể thực hiện một giải pháp an toàn hơn. Sau đó, họ quên mất an ninh
nâng cấp.
Các quản trị viên mạng làm việc quá sức không phải là những người duy nhất rơi vào bẫy này.
Nhiều sản phẩm đã được vận chuyển với những quy tắc không an toàn này. Ngay cả Microsoft cũng đã
có tội. Các bộ lọc IPsec đi kèm với Windows 2000 và Windows XP chứa một
quy tắc ngầm cho phép tất cả lưu lượng TCP hoặc UDP từ cổng 88 (Kerberos). Trong cái khác
trường hợp nổi tiếng, các phiên bản của tường lửa cá nhân Zone Alarm lên đến 2.1.25 cho phép bất kỳ
các gói UDP đến với cổng nguồn 53 (DNS) hoặc 67 (DHCP).
Nmap cung cấp -g và --cổng nguồn các tùy chọn (chúng tương đương nhau) để khai thác những
những điểm yếu. Chỉ cần cung cấp số cổng và Nmap sẽ gửi các gói từ cổng đó
có thể ở đâu. Hầu hết các hoạt động quét sử dụng các ổ cắm thô, bao gồm SYN và UDP
quét, hỗ trợ tùy chọn hoàn toàn. Đáng chú ý, tùy chọn này không có tác dụng đối với
bất kỳ hoạt động nào sử dụng các ổ cắm hệ điều hành thông thường, bao gồm cả các yêu cầu DNS, TCP
kết nối quét,. phát hiện phiên bản và quét tập lệnh. Đặt cổng nguồn cũng
không hoạt động để phát hiện hệ điều hành, vì Nmap phải sử dụng các số cổng khác nhau cho
kiểm tra phát hiện hệ điều hành nhất định để hoạt động bình thường.
--dữ liệu hex chuỗi (Nối dữ liệu nhị phân tùy chỉnh vào các gói đã gửi).
Tùy chọn này cho phép bạn bao gồm dữ liệu nhị phân làm trọng tải trong các gói đã gửi. hex chuỗi có thể
được chỉ định ở bất kỳ định dạng nào sau đây: 0xAABBCCDDEEFF..., AABBCCDDEEFF... or
\ xAA \ xBB \ xCC \ xDD \ xEE \ xFF.... Ví dụ về việc sử dụng là --dữ liệu 0xdeadbeef và --dữ liệu
\ xCA \ xFE \ x09. Lưu ý rằng nếu bạn chỉ định một số như 0x00ff thì không có chuyển đổi thứ tự byte
được thực hiện. Đảm bảo rằng bạn chỉ định thông tin theo thứ tự byte mà
nhận.
--data-chuỗi chuỗi (Nối chuỗi tùy chỉnh vào các gói đã gửi).
Tùy chọn này cho phép bạn bao gồm một chuỗi thông thường làm trọng tải trong các gói đã gửi. chuỗi có thể
chứa bất kỳ chuỗi nào. Tuy nhiên, lưu ý rằng một số ký tự có thể phụ thuộc vào hệ thống của bạn
ngôn ngữ và người nhận có thể không nhìn thấy cùng một thông tin. Ngoài ra, hãy chắc chắn rằng bạn bao gồm
chuỗi trong dấu ngoặc kép và thoát bất kỳ ký tự đặc biệt nào khỏi trình bao.
Ví dụ: --data-chuỗi "Quét thực hiện by Bảo mật Hoạt động, mở rộng 7192 " or
--data-chuỗi "Ph34r my l33t kỹ năng". Hãy nhớ rằng không ai có khả năng thực sự
xem bất kỳ nhận xét nào do tùy chọn này để lại trừ khi họ đang theo dõi mạng cẩn thận
với một trình đánh giá hoặc các quy tắc IDS tùy chỉnh.
--data-độ dài con số (Nối dữ liệu ngẫu nhiên vào các gói đã gửi).
Thông thường Nmap gửi các gói tối giản chỉ chứa một tiêu đề. Vì vậy, các gói TCP của nó
thường là 40 byte và các yêu cầu ICMP echo chỉ là 28. Một số cổng UDP. và IP
các giao thức. nhận trọng tải tùy chỉnh theo mặc định. Tùy chọn này yêu cầu Nmap nối thêm
đã cho số byte ngẫu nhiên cho hầu hết các gói mà nó gửi và không sử dụng bất kỳ
tải trọng giao thức cụ thể. (Sử dụng --data-độ dài 0 không ngẫu nhiên hoặc giao thức cụ thể
trọng tải .. Phát hiện hệ điều hành (-O) các gói không bị ảnh hưởng. bởi vì độ chính xác ở đó
yêu cầu tính nhất quán của thăm dò, nhưng hầu hết các gói pinging và portcan đều hỗ trợ điều này. Nó
làm chậm mọi thứ một chút, nhưng có thể làm cho quá trình quét ít dễ thấy hơn một chút.
--p tùy chọn S | R [tuyến đường] | L [lộ trình] | T | U ... ; --p tùy chọn hex chuỗi (Gửi gói tin với
tùy chọn ip chỉ định).
IP giao thức[13] cung cấp một số tùy chọn có thể được đặt trong tiêu đề gói.
Không giống như các tùy chọn TCP phổ biến, các tùy chọn IP hiếm khi được nhìn thấy do tính thực tế và
lo ngại về an ninh. Trên thực tế, nhiều bộ định tuyến Internet chặn các tùy chọn nguy hiểm nhất
chẳng hạn như định tuyến nguồn. Tuy nhiên, các tùy chọn vẫn có thể hữu ích trong một số trường hợp để xác định
và điều khiển tuyến mạng đến các máy mục tiêu. Ví dụ, bạn có thể
sử dụng tùy chọn tuyến đường bản ghi để xác định đường dẫn đến mục tiêu ngay cả khi truyền thống hơn
phương pháp tiếp cận kiểu theo dõi không thành công. Hoặc nếu các gói tin của bạn đang bị rơi bởi một
tường lửa, bạn có thể chỉ định một tuyến đường khác với nguồn chặt chẽ hoặc lỏng lẻo
các tùy chọn định tuyến.
Cách mạnh mẽ nhất để chỉ định các tùy chọn IP là chỉ cần chuyển các giá trị dưới dạng
tranh luận với --p tùy chọn. Bắt đầu mỗi số hex bằng \ x rồi đến hai chữ số. Bạn có thể
lặp lại các ký tự nhất định bằng cách theo sau chúng bằng dấu hoa thị và sau đó là số
lần bạn muốn họ lặp lại. Ví dụ: \ x01 \ x07 \ x04 \ x00 * 36 \ x01 là một chuỗi hex
chứa 36 byte NUL.
Nmap cũng cung cấp một cơ chế phím tắt để chỉ định các tùy chọn. Đơn giản chỉ cần chuyển bức thư
R, T hoặc U để yêu cầu tuyến bản ghi ,. ghi-dấu thời gian ,. hoặc cả hai tùy chọn cùng nhau,
tương ứng. Định tuyến nguồn lỏng lẻo hoặc nghiêm ngặt. có thể được chỉ định bằng L hoặc S
tiếp theo là dấu cách và sau đó là danh sách địa chỉ IP được phân tách bằng dấu cách.
Nếu bạn muốn xem các tùy chọn trong các gói được gửi và nhận, hãy chỉ định --dấu vết gói.
Để biết thêm thông tin và ví dụ về việc sử dụng các tùy chọn IP với Nmap, hãy xem
http://seclists.org/nmap-dev/2006/q3/52.
--ttl giá trị (Đặt trường thời gian tồn tại IP).
Đặt trường thời gian tồn tại của IPv4 trong các gói đã gửi thành giá trị nhất định.
--randomize-hosts (Ngẫu nhiên hóa thứ tự máy chủ mục tiêu).
Yêu cầu Nmap xáo trộn từng nhóm lên đến 16384 máy chủ trước khi quét chúng. Cái này có thể
làm cho việc quét ít rõ ràng hơn đối với các hệ thống giám sát mạng khác nhau, đặc biệt là khi bạn
kết hợp nó với các tùy chọn thời gian chậm. Nếu bạn muốn sắp xếp ngẫu nhiên trên các kích thước nhóm lớn hơn,
tăng PING_GROUP_SZ. trong nmap.h. và biên dịch lại. Một giải pháp thay thế là
tạo danh sách IP mục tiêu bằng cách quét danh sách (-sL -n -trên tên tập tin), ngẫu nhiên hóa nó với
một tập lệnh Perl, sau đó cung cấp toàn bộ danh sách cho Nmap với -Il..
--spoof-mac MAC Địa chỉ, tiếp đầu ngữ, or nhà cung cấp tên (Địa chỉ MAC giả mạo).
Yêu cầu Nmap sử dụng địa chỉ MAC đã cho cho tất cả các khung ethernet thô mà nó gửi.
Tùy chọn này ngụ ý --gửi-eth. để đảm bảo rằng Nmap thực sự gửi ethernet cấp
gói tin. MAC được cung cấp có thể có một số định dạng. Nếu nó chỉ đơn giản là số 0, Nmap
chọn một địa chỉ MAC hoàn toàn ngẫu nhiên cho phiên. Nếu chuỗi đã cho là một
số chẵn gồm các chữ số hex (với các cặp được phân tách tùy chọn bằng dấu hai chấm), Nmap sẽ
sử dụng chúng làm MAC. Nếu ít hơn 12 chữ số hex được cung cấp, Nmap sẽ điền vào
phần còn lại của sáu byte với các giá trị ngẫu nhiên. Nếu đối số không phải là số XNUMX hoặc số hex
string, Nmap xem xét các tiền tố nmap-mac-để tìm tên nhà cung cấp có chứa
chuỗi đã cho (không phân biệt chữ hoa chữ thường). Nếu tìm thấy khớp, Nmap sử dụng OUI của nhà cung cấp
(tiền tố ba byte). và điền ngẫu nhiên ba byte còn lại. Có giá trị
--spoof-mac ví dụ đối số là Apple, 0, 01: 02: 03: 04: 05: 06, deadbeefcafe, 0020F2,
và Cisco. Tùy chọn này chỉ ảnh hưởng đến các lần quét gói thô như quét SYN hoặc phát hiện hệ điều hành,
không phải các tính năng hướng kết nối như phát hiện phiên bản hoặc Nmap Scripting
Động cơ.
--proxy Được phân tách bằng dấu phẩy of Proxy URL (Chuyển tiếp các kết nối TCP thông qua một chuỗi
proxy).
Yêu cầu Nmap thiết lập kết nối TCP với mục tiêu cuối cùng thông qua chuỗi cung cấp
một hoặc nhiều proxy HTTP hoặc SOCKS4. Proxy có thể giúp ẩn nguồn thực sự của quá trình quét hoặc
tránh các hạn chế nhất định của tường lửa, nhưng chúng có thể cản trở hiệu suất quét bằng cách
độ trễ ngày càng tăng. Người dùng có thể cần điều chỉnh thời gian chờ Nmap và các thông số quét khác
cho phù hợp. Đặc biệt, một thấp hơn - max-song song có thể hữu ích vì một số proxy
từ chối xử lý nhiều kết nối đồng thời như Nmap mở theo mặc định.
Tùy chọn này lấy danh sách proxy làm đối số, được biểu thị dưới dạng URL ở định dạng
proto: // máy chủ: cổng. Sử dụng dấu phẩy để phân tách các URL của nút trong một chuỗi. Không có xác thực là
được hỗ trợ chưa. Các giao thức hợp lệ là HTTP và SOCKS4.
Cảnh báo: tính năng này vẫn đang được phát triển và có những hạn chế. Nó là
được triển khai trong thư viện nsock và do đó không ảnh hưởng đến quá trình ping, quét cổng
và các giai đoạn khám phá hệ điều hành của quá trình quét. Chỉ NSE và quét phiên bản được hưởng lợi từ tùy chọn này
cho đến nay — các tính năng khác có thể tiết lộ địa chỉ thực của bạn. Kết nối SSL chưa
được hỗ trợ, cũng như phân giải DNS phía proxy (tên máy chủ luôn được phân giải bởi Nmap).
--badsum (Gửi các gói với tổng kiểm tra TCP / UDP không có thật).
Yêu cầu Nmap sử dụng tổng kiểm tra TCP, UDP hoặc SCTP không hợp lệ cho các gói được gửi đến đích
vật chủ. Vì hầu như tất cả các ngăn xếp IP máy chủ đều thả các gói này một cách chính xác, mọi phản hồi
nhận được có khả năng đến từ tường lửa hoặc IDS không quan tâm đến việc xác minh
tổng kiểm tra. Để biết thêm chi tiết về kỹ thuật này, hãy xem https://nmap.org/p60-12.html
--adler32 (Sử dụng Adler32 không được dùng nữa thay vì CRC32C cho tổng kiểm tra SCTP).
Yêu cầu Nmap sử dụng thuật toán Adler32 không dùng nữa để tính tổng tổng kiểm tra SCTP.
If --adler32 không được đưa ra, CRC-32C (Castagnoli) được sử dụng. RFC 2960[14] ban đầu
Adler32 được định nghĩa là thuật toán tổng kiểm tra cho SCTP; RFC 4960[7] sau đó đã xác định lại SCTP
tổng kiểm tra để sử dụng CRC-32C. Việc triển khai SCTP hiện tại nên sử dụng CRC-32C, nhưng trong
để gợi ra phản hồi từ các triển khai SCTP cũ, kế thừa, nó có thể thích hợp hơn
để sử dụng Adler32.
OUTPUT
Bất kỳ công cụ bảo mật nào cũng chỉ hữu ích như kết quả mà nó tạo ra. Các bài kiểm tra phức tạp và
các thuật toán có giá trị nhỏ nếu chúng không được trình bày một cách có tổ chức và dễ hiểu
thời trang. Với số lượng cách Nmap được sử dụng bởi mọi người và phần mềm khác, không có
định dạng có thể làm hài lòng tất cả mọi người. Vì vậy Nmap cung cấp một số định dạng, bao gồm cả chế độ tương tác
để con người có thể đọc trực tiếp và XML để phân tích cú pháp dễ dàng bằng phần mềm.
Ngoài việc cung cấp các định dạng đầu ra khác nhau, Nmap cung cấp các tùy chọn để kiểm soát
tính chi tiết của đầu ra cũng như các thông báo gỡ lỗi. Các loại đầu ra có thể được gửi đến
đầu ra tiêu chuẩn hoặc tới các tệp được đặt tên, mà Nmap có thể nối vào hoặc làm tắc nghẽn. Tệp đầu ra có thể
cũng được sử dụng để tiếp tục quét đã hủy bỏ.
Nmap cung cấp đầu ra ở năm định dạng khác nhau. Mặc định được gọi là tương tác
sản lượng ,. và nó được gửi đến đầu ra tiêu chuẩn (stdout) .. Ngoài ra còn có đầu ra bình thường,.
tương tự như tương tác ngoại trừ nó hiển thị ít thông tin thời gian chạy hơn và
cảnh báo vì nó dự kiến sẽ được phân tích sau khi quá trình quét hoàn tất thay vì
một cách tương tác.
Đầu ra XML. là một trong những loại đầu ra quan trọng nhất, vì nó có thể được chuyển đổi sang HTML,
dễ dàng được phân tích cú pháp bởi các chương trình như giao diện người dùng đồ họa Nmap hoặc được nhập vào
cơ sở dữ liệu.
Hai loại đầu ra còn lại là đầu ra có thể chuyển đổi đơn giản. trong đó bao gồm hầu hết
thông tin cho máy chủ đích trên một dòng và sCRiPt KiDDi3 0utPUt. cho những người dùng
tự coi | <-r4d.
Mặc dù đầu ra tương tác là mặc định và không có tùy chọn dòng lệnh liên quan,
bốn tùy chọn định dạng khác sử dụng cùng một cú pháp. Họ lấy một đối số, đó là
tên tệp mà kết quả sẽ được lưu trữ. Nhiều định dạng có thể được chỉ định, nhưng mỗi định dạng
định dạng chỉ có thể được chỉ định một lần. Ví dụ: bạn có thể muốn lưu đầu ra bình thường cho
đánh giá của riêng bạn trong khi lưu XML của cùng một bản quét để phân tích theo chương trình. Bạn có thể làm
điều này với các tùy chọn -con bò đực myscan.xml -trên myscan.nmap. Trong khi chương này sử dụng
tên như myscan.xml cho ngắn gọn, các tên mô tả hơn thường được khuyến khích. Các
những cái tên được chọn là vấn đề sở thích cá nhân, mặc dù tôi sử dụng những cái tên dài kết hợp
ngày quét và một hoặc hai từ mô tả quá trình quét, được đặt trong thư mục có tên
công ty tôi đang quét.
Trong khi các tùy chọn này lưu kết quả vào tệp, Nmap vẫn in đầu ra tương tác ra stdout
như thường lệ. Ví dụ, lệnh nmap -con bò đực myscan.xml mục tiêu in XML sang myscan.xml và
điền vào đầu ra tiêu chuẩn với cùng một kết quả tương tác mà nó sẽ được in ra nếu -con bò đực
không được chỉ định ở tất cả. Bạn có thể thay đổi điều này bằng cách chuyển một ký tự gạch nối làm đối số
sang một trong các loại định dạng. Điều này khiến Nmap tắt đầu ra tương tác và thay vào đó
in kết quả ở định dạng bạn đã chỉ định cho luồng đầu ra tiêu chuẩn. Vì vậy, lệnh
nmap -con bò đực - mục tiêu sẽ chỉ gửi đầu ra XML tới stdout .. Các lỗi nghiêm trọng vẫn có thể
được in ra dòng lỗi bình thường, stderr ..
Không giống như một số đối số Nmap, khoảng cách giữa cờ tùy chọn logfile (chẳng hạn như -con bò đực) Và
tên tệp hoặc dấu gạch nối là bắt buộc. Nếu bạn bỏ qua các cờ và đưa ra các đối số như -oG-
or -oXscan.xml, một tính năng tương thích ngược của Nmap sẽ tạo ra
bình thường định dạng xuất ra các tệp có tên G- và Xscan.xml tương ứng.
Tất cả những lập luận này đều ủng hộ thời gian căng thẳng-thích. chuyển đổi trong tên tệp. % H,% M,% S,
% m,% d,% y và% Y đều giống hệt như trong thời gian căng thẳng. % T giống với% H% M% S,% R
giống với% H% M và% D giống với% m% d% y. A% theo sau bởi bất kỳ ký tự nào khác
chỉ mang lại ký tự đó (%% cung cấp cho bạn ký hiệu phần trăm). Cho nên -con bò đực 'quét-% T-% D.xml' sẽ
sử dụng tệp XML có tên ở dạng scan-144840-121307.xml.
Nmap cũng cung cấp các tùy chọn để kiểm soát độ chi tiết của quá trình quét và nối vào các tệp đầu ra thay vì
hơn làm tắc nghẽn chúng. Tất cả các tùy chọn này được mô tả bên dưới.
Nmap Đầu ra Định dạng
-trên thông số tập tin (đầu ra bình thường).
Yêu cầu đầu ra bình thường được chuyển hướng đến tên tệp đã cho. Như đã thảo luận ở trên,
điều này hơi khác so với đầu ra tương tác.
-con bò đực thông số tập tin (Đầu ra XML).
Yêu cầu đầu ra XML được chuyển hướng đến tên tệp đã cho. Nmap bao gồm một tài liệu
định nghĩa kiểu (DTD) cho phép trình phân tích cú pháp XML xác thực đầu ra XML Nmap. Trong khi đó
chủ yếu nhằm mục đích sử dụng theo chương trình, nó cũng có thể giúp con người diễn giải Nmap XML
đầu ra. DTD xác định các yếu tố pháp lý của định dạng và thường liệt kê
các thuộc tính và giá trị mà chúng có thể đảm nhận. Phiên bản mới nhất luôn có sẵn từ
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML cung cấp một định dạng ổn định có thể dễ dàng phân tích cú pháp bằng phần mềm. Các trình phân tích cú pháp XML miễn phí là
có sẵn cho tất cả các ngôn ngữ máy tính chính, bao gồm C / C ++, Perl, Python và Java.
Mọi người thậm chí đã viết các ràng buộc cho hầu hết các ngôn ngữ này để xử lý đầu ra Nmap
và thực hiện cụ thể. Ví dụ là Nmap :: Máy quét[15]. và Nmap :: Parser[16]. trong
Perl CPAN. Trong hầu hết các trường hợp mà một ứng dụng không tầm thường giao diện với Nmap,
XML là định dạng ưa thích.
Đầu ra XML tham chiếu đến một biểu định kiểu XSL có thể được sử dụng để định dạng kết quả dưới dạng
HTML. Cách dễ nhất để sử dụng điều này chỉ đơn giản là tải đầu ra XML trong trình duyệt web
chẳng hạn như Firefox hoặc IE. Theo mặc định, điều này sẽ chỉ hoạt động trên máy bạn đã chạy Nmap
(hoặc cấu hình tương tự) do đường dẫn hệ thống tệp nmap.xsl được mã hóa cứng. Sử dụng
các --webxml or - bảng tính các tùy chọn để tạo các tệp XML di động hiển thị dưới dạng HTML
trên bất kỳ máy nào được kết nối web.
-oS thông số tập tin (ScRipT KIdd | 3 oUTpuT).
Đầu ra tập lệnh dành cho trẻ em giống như đầu ra tương tác, ngoại trừ việc nó được xử lý sau
phù hợp hơn với chiếc HaXXorZ l33t, người trước đây coi thường Nmap do tính nhất quán của nó
viết hoa và chính tả. Những người khiếm khuyết nên lưu ý rằng tùy chọn này là
chế nhạo những đứa trẻ trong kịch bản trước khi châm biếm tôi vì được cho là “giúp họ”.
-oG thông số tập tin (đầu ra có thể bôi trơn).
Định dạng đầu ra này được đề cập sau cùng vì nó không được dùng nữa. Định dạng đầu ra XML là
mạnh hơn nhiều và gần như thuận tiện cho người dùng có kinh nghiệm. XML là một
tiêu chuẩn mà hàng chục trình phân tích cú pháp xuất sắc có sẵn, trong khi đầu ra có thể chuyển thành tệp
hack đơn giản của riêng tôi. XML có thể mở rộng để hỗ trợ các tính năng Nmap mới như chúng vốn có
được phát hành, trong khi tôi thường phải bỏ qua các tính năng đó khỏi đầu ra có thể tải xuống vì thiếu
nơi để đặt chúng.
Tuy nhiên, đầu ra có thể bôi trơn vẫn khá phổ biến. Nó là một định dạng đơn giản liệt kê
mỗi máy chủ lưu trữ trên một dòng và có thể được tìm kiếm và phân tích cú pháp bằng Unix tiêu chuẩn
các công cụ như grep, awk, cut, sed, diff và Perl. Ngay cả khi tôi thường sử dụng nó cho một lần
kiểm tra được thực hiện tại dòng lệnh. Tìm tất cả các máy chủ có cổng SSH đang mở hoặc
đang chạy Solaris chỉ cần một grep đơn giản để xác định các máy chủ, được chuyển đến một awk hoặc
lệnh cắt để in các trường mong muốn.
Đầu ra có thể bôi trơn bao gồm các chú thích (các dòng bắt đầu bằng một bảng Anh (#)). và mục tiêu
các dòng. Một dòng mục tiêu bao gồm sự kết hợp của sáu trường được gắn nhãn, được phân tách bằng các tab
và theo sau bằng dấu hai chấm. Các trường là Máy chủ, Cổng, Giao thức, Trạng thái bị Bỏ qua, Hệ điều hành,
Chỉ mục Seq, ID IP và Trạng thái.
Điều quan trọng nhất trong số các trường này thường là Cổng, cung cấp thông tin chi tiết về từng
cổng thú vị. Nó là một danh sách các mục cổng được phân tách bằng dấu phẩy. Mỗi cổng vào
đại diện cho một cổng thú vị và có dạng bảy dấu gạch chéo (/) được phân tách
trường con. Các trường con đó là: Số cổng, Trạng thái, Giao thức, Chủ sở hữu, Dịch vụ, SunRPC
thông tin và thông tin phiên bản.
Như với đầu ra XML, trang người này không cho phép ghi lại toàn bộ định dạng. MỘT
xem chi tiết hơn về định dạng đầu ra có thể tải xuống Nmap có sẵn từ
https://nmap.org/book/output-formats-grepable-output.html.
-oA tên cơ sở (Xuất ra tất cả các định dạng).
Để thuận tiện, bạn có thể chỉ định -oA tên cơ sở để lưu trữ kết quả quét ở dạng bình thường, XML,
và các định dạng có thể xám cùng một lúc. Chúng được lưu trữ trong tên cơ sở.nmap, tên cơ sở.xml và
tên cơ sở.gnmap, tương ứng. Như với hầu hết các chương trình, bạn có thể đặt trước tên tệp bằng
một đường dẫn thư mục, chẳng hạn như ~ / nmaplogs / foocorp / trên Unix hoặc c: \ hacking \ scoin trên Windows.
Độ dài và gỡ lỗi lựa chọn
-v (Tăng mức độ chi tiết).
Tăng mức độ chi tiết, khiến Nmap in thêm thông tin về quá trình quét
trong tiến trình. Các cổng đang mở được hiển thị khi chúng được tìm thấy và ước tính thời gian hoàn thành
được cung cấp khi Nmap cho rằng quá trình quét sẽ mất hơn vài phút. Sử dụng nó hai lần hoặc
nhiều hơn nữa để có độ chi tiết lớn hơn: -vvhoặc cung cấp trực tiếp mức độ chi tiết, chẳng hạn như
-V3..
Hầu hết các thay đổi chỉ ảnh hưởng đến đầu ra tương tác và một số thay đổi cũng ảnh hưởng đến thông thường và tập lệnh
đầu ra kiddie. Các loại đầu ra khác có nghĩa là được xử lý bởi máy móc, vì vậy Nmap
có thể cung cấp thông tin chi tiết đáng kể theo mặc định ở các định dạng đó mà không khiến con người mệt mỏi
người dùng. Tuy nhiên, có một số thay đổi trong các chế độ khác, nơi có thể giảm kích thước đầu ra
về cơ bản bằng cách bỏ qua một số chi tiết. Ví dụ: một dòng nhận xét trong
đầu ra cung cấp danh sách tất cả các cổng đã quét chỉ được in ở chế độ tiết
bởi vì nó có thể khá dài.
-d (Tăng mức gỡ lỗi).
Khi ngay cả chế độ tiết không cung cấp đủ dữ liệu cho bạn, bạn có thể gỡ lỗi
tràn ngập bạn với nhiều hơn nữa! Như với tùy chọn độ dài (-v), gỡ lỗi được bật
với cờ dòng lệnh (-d) và mức gỡ lỗi có thể được tăng lên bằng cách chỉ định nó
nhiều lần,. như trong -đhoặc bằng cách đặt một cấp độ trực tiếp. Ví dụ, -d9 bộ
cấp chín. Đó là mức hiệu quả cao nhất và sẽ tạo ra hàng nghìn dòng
trừ khi bạn chạy một quá trình quét rất đơn giản với rất ít cổng và mục tiêu.
Kết quả gỡ lỗi rất hữu ích khi nghi ngờ có lỗi trong Nmap hoặc nếu bạn chỉ đơn giản là
bối rối không biết Nmap đang làm gì và tại sao. Vì tính năng này chủ yếu dành cho
các nhà phát triển, các dòng gỡ lỗi không phải lúc nào cũng tự giải thích. Bạn có thể nhận được một cái gì đó như:
Thời gian chờ vals: srtt: -1 rttvar: -1 đến: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 đến: 100000. Nếu bạn không hiểu một dòng, các đoạn trích dẫn duy nhất của bạn là bỏ qua
nó, tra cứu nó trong mã nguồn hoặc yêu cầu trợ giúp từ danh sách phát triển
(nmap-dev) .. Một số dòng tự giải thích, nhưng các thông báo trở nên tối nghĩa hơn khi
mức gỡ lỗi được tăng lên.
--lý do (Lý do máy chủ và trạng thái cổng).
Hiển thị lý do mỗi cổng được đặt thành một trạng thái cụ thể và lý do mỗi máy chủ hoạt động
hoặc xuống. Tùy chọn này hiển thị loại gói đã xác định một cổng hoặc các máy chủ
trạng thái. Ví dụ: Một gói RST từ một cổng đã đóng hoặc một phản hồi tiếng vọng từ một
tổ chức. Thông tin Nmap có thể cung cấp được xác định bởi kiểu quét hoặc ping. Các
SYN quét và SYN ping (-NS và -PS) rất chi tiết, nhưng quét kết nối TCP (-NS)
bị hạn chế bởi việc thực hiện kết nối cuộc gọi hệ thống. Tính năng này là
được kích hoạt tự động bởi tùy chọn gỡ lỗi (-d). và kết quả được lưu trữ trong nhật ký XML
ngay cả khi tùy chọn này không được chỉ định.
--stats-mọi thời gian (In số liệu thống kê thời gian định kỳ).
Định kỳ in thông báo trạng thái thời gian sau mỗi khoảng thời gian thời gian. Thời gian là một
đặc điểm kỹ thuật của loại được mô tả trong phần được gọi là "THỜI GIAN VÀ HIỆU SUẤT"; Vì thế
ví dụ, sử dụng --stats-mọi 10s để nhận cập nhật trạng thái cứ sau 10 giây. Cập nhật
được in ra đầu ra tương tác (màn hình) và đầu ra XML.
--dấu vết gói (Theo dõi các gói và dữ liệu được gửi và nhận).
Khiến Nmap in bản tóm tắt của mọi gói được gửi hoặc nhận. Điều này thường được sử dụng
để gỡ lỗi, nhưng cũng là một cách có giá trị để người dùng mới hiểu chính xác những gì
Nmap đang hoạt động dưới vỏ bọc. Để tránh in hàng nghìn dòng, bạn có thể muốn
chỉ định một số cổng giới hạn để quét, chẳng hạn như - p20-30. Nếu bạn chỉ quan tâm đến
tiếp tục của hệ thống con phát hiện phiên bản, sử dụng - dấu vết thay thế. Nếu bạn chỉ
quan tâm đến việc theo dõi tập lệnh, chỉ định --script-dấu vết. Với --dấu vết gói, bạn nhận được tất cả
ở trên.
--mở ra (Chỉ hiển thị các cổng đang mở (hoặc có thể đang mở)).
Đôi khi bạn chỉ quan tâm đến các cổng mà bạn thực sự có thể kết nối (những cổng đang mở) và không
muốn kết quả lộn xộn với các cổng đã đóng, đã lọc và đã đóng | đã lọc. Đầu ra
quá trình tùy chỉnh thường được thực hiện sau khi quét bằng các công cụ như grep, awk và Perl,
nhưng tính năng này đã được thêm vào do lượng yêu cầu quá lớn. Chỉ định --mở ra chỉ để xem
máy chủ có ít nhất một cổng mở, mở | được lọc hoặc chưa được lọc và chỉ thấy các cổng trong
các trạng thái đó. Ba trạng thái này được đối xử như bình thường, có nghĩa là
mở | đã lọc và chưa lọc có thể được tổng hợp thành số lượng nếu có
số lượng áp đảo trong số họ.
--flist (Liệt kê các giao diện và các tuyến đường).
In danh sách giao diện và các tuyến hệ thống được Nmap phát hiện. Điều này hữu ích cho
gỡ lỗi các vấn đề về định tuyến hoặc xác định sai thiết bị (chẳng hạn như Nmap xử lý một PPP
kết nối như ethernet).
hỗn hợp đầu ra lựa chọn
--chắp thêm đầu ra (Nối vào các tệp đầu ra thay vì làm tắc nghẽn).
Khi bạn chỉ định tên tệp cho cờ định dạng đầu ra, chẳng hạn như -con bò đực or -trên, tệp đó là
được ghi đè theo mặc định. Nếu bạn muốn giữ lại nội dung hiện có của tệp và
nối các kết quả mới, chỉ định --chắp thêm đầu ra lựa chọn. Tất cả các tên tệp đầu ra
được chỉ định trong quá trình thực thi Nmap đó sau đó sẽ được thêm vào chứ không phải bị che khuất. Điều này
không hoạt động tốt cho XML (-con bò đực) quét dữ liệu vì tệp kết quả thường sẽ không phân tích cú pháp
đúng cách cho đến khi bạn sửa chữa nó bằng tay.
--bản tóm tắt tên tập tin (Tiếp tục quét đã hủy bỏ).
Một số lần chạy Nmap mở rộng mất một thời gian rất dài — theo thứ tự hàng ngày. Quét như vậy không
luôn chạy để hoàn thành. Những hạn chế có thể ngăn Nmap chạy trong quá trình làm việc
giờ, mạng có thể bị gián đoạn, máy Nmap đang chạy có thể bị
khởi động lại theo kế hoạch hoặc ngoài kế hoạch, hoặc bản thân Nmap có thể gặp sự cố. Quản trị viên đang điều hành
Nmap cũng có thể hủy nó vì bất kỳ lý do nào khác, bằng cách nhấn ctrl-C. Khởi động lại
toàn bộ quá trình quét từ đầu có thể không mong muốn. May mắn thay, nếu bình thường (-trên) hoặc
có thể tra được (-oG) nhật ký đã được lưu giữ, người dùng có thể yêu cầu Nmap tiếp tục quét với
mục tiêu nó đang hoạt động khi quá trình thực thi ngừng. Chỉ cần chỉ định --bản tóm tắt lựa chọn và
chuyển tệp đầu ra normal / grepable làm đối số của nó. Không có đối số nào khác là
được phép, vì Nmap phân tích cú pháp tệp đầu ra để sử dụng cùng những tệp được chỉ định trước đó.
Đơn giản chỉ cần gọi Nmap là nmap --bản tóm tắt tên tệp nhật ký. Nmap sẽ nối các kết quả mới vào
các tệp dữ liệu được chỉ định trong lần thực thi trước đó. Tiếp tục không hỗ trợ XML
định dạng đầu ra bởi vì kết hợp cả hai lần chạy thành một tệp XML hợp lệ sẽ là
khó khăn.
- bảng tính con đường or URL (Đặt biểu định kiểu XSL để chuyển đổi đầu ra XML).
Nmap đi kèm với một XSL. bảng định kiểu. có tên nmap.xsl. để xem hoặc dịch XML
đầu ra sang HTML .. Đầu ra XML bao gồm một chỉ thị biểu định kiểu xml trỏ đến
nmap.xml nơi nó được Nmap cài đặt ban đầu. Chạy tệp XML thông qua XSLT
bộ xử lý chẳng hạn như xsltproc[17]. để tạo tệp HTML. Mở trực tiếp XML
tệp trong trình duyệt không còn hoạt động tốt vì các trình duyệt hiện đại giới hạn các vị trí
biểu định kiểu có thể được tải từ. Nếu bạn muốn sử dụng một biểu định kiểu khác, hãy chỉ định nó
như đối số để - bảng tính. Bạn phải chuyển tên đường dẫn hoặc URL đầy đủ. Một cái chung
lời kêu gọi là - bảng tính https://nmap.org/svn/docs/nmap.xsl. Điều này cho biết XSLT
bộ xử lý để tải phiên bản mới nhất của biểu định kiểu từ Nmap.Org. Các --webxml
tùy chọn thực hiện điều tương tự với ít đánh máy và ghi nhớ hơn. Đang tải XSL từ
Nmap.Org giúp xem kết quả trên máy không có Nmap dễ dàng hơn (và do đó
nmap.xsl) đã được cài đặt. Vì vậy, URL thường hữu ích hơn, nhưng hệ thống tệp cục bộ
vị trí của nmap.xsl được sử dụng theo mặc định vì lý do bảo mật.
--webxml (Tải biểu định kiểu từ Nmap.Org).
Đây là một tùy chọn tiện lợi, không gì khác hơn là một bí danh cho - bảng tính
https://nmap.org/svn/docs/nmap.xsl.
--no-bản định kiểu (Bỏ qua khai báo biểu định kiểu XSL khỏi XML).
Chỉ định tùy chọn này để ngăn Nmap liên kết bất kỳ biểu định kiểu XSL nào với XML của nó
đầu ra. Lệnh xml-stylesheet bị bỏ qua.
KHÁC LỰA CHỌN
Phần này mô tả một số tùy chọn quan trọng (và không quá quan trọng) không thực sự phù hợp
bất cứ nơi nào khác.
-6 (Bật quét IPv6).
Nmap có hỗ trợ IPv6 cho các tính năng phổ biến nhất của nó. Quét ping, quét cổng,
phát hiện phiên bản và Công cụ tạo kịch bản Nmap đều hỗ trợ IPv6. Cú pháp lệnh
vẫn giống như thường lệ ngoại trừ việc bạn cũng thêm -6 lựa chọn. Tất nhiên, bạn phải sử dụng
Cú pháp IPv6 nếu bạn chỉ định địa chỉ thay vì tên máy chủ. Một địa chỉ có thể trông
như 3ffe: 7501: 4819: 2000: 210: f3ff: fe03: 14d0, vì vậy nên đặt tên máy chủ. Đầu ra
trông giống như bình thường, với địa chỉ IPv6 trên dòng "cổng thú vị" là
quà tặng IPv6 duy nhất.
Mặc dù IPv6 không chính xác đưa thế giới thành cơn bão, nhưng nó được sử dụng đáng kể trong một số
(thường là châu Á) và hầu hết các hệ điều hành hiện đại đều hỗ trợ nó. Để sử dụng Nmap
với IPv6, cả nguồn và đích quét của bạn phải được định cấu hình cho IPv6. Nếu như
ISP của bạn (giống như hầu hết trong số họ) không phân bổ địa chỉ IPv6 cho bạn, đường hầm miễn phí
các nhà môi giới có sẵn rộng rãi và hoạt động tốt với Nmap. Tôi sử dụng đường hầm IPv6 miễn phí
người môi giới. dịch vụ tại http://www.tunnelbroker.net. Các nhà môi giới đường hầm khác là niêm yết at
Wikipedia[18]. Đường hầm 6to4 là một cách tiếp cận miễn phí, phổ biến khác.
Trên Windows, quét IPv6 cổng thô chỉ được hỗ trợ trên các thiết bị ethernet (không
đường hầm), và chỉ trên Windows Vista. và sau đó. Sử dụng - đặc quyền. tùy chọn trong
các tình huống khác.
-A (Tùy chọn quét tích cực).
Tùy chọn này cho phép các tùy chọn nâng cao và tích cực bổ sung. Hiện tại điều này cho phép
Phát hiện hệ điều hành (-O), quét phiên bản (-sV), quét tập lệnh (-sC) và theo dõi
(--traceroute) .. Nhiều tính năng có thể được thêm vào trong tương lai. Vấn đề là để kích hoạt một
tập hợp toàn diện các tùy chọn quét mà mọi người không cần phải nhớ một tập hợp lớn
cờ. Tuy nhiên, vì quét tập lệnh với tập hợp mặc định được coi là xâm nhập,
bạn không nên sử dụng -A chống lại các mạng mục tiêu mà không được phép. Chỉ tùy chọn này
cho phép các tính năng chứ không phải các tùy chọn thời gian (chẳng hạn như -T4) hoặc tùy chọn độ dài (-v) cái đó
bạn cũng có thể muốn. Các tùy chọn yêu cầu đặc quyền (ví dụ: quyền truy cập root) như OS
phát hiện và theo dõi sẽ chỉ được kích hoạt nếu các đặc quyền đó có sẵn.
--datadir Tên thư mục (Chỉ định vị trí tệp dữ liệu Nmap tùy chỉnh).
Nmap lấy một số dữ liệu đặc biệt trong thời gian chạy trong các tệp có tên nmap-service-thăm dò,
nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes và nmap-os-db. Nếu
vị trí của bất kỳ tệp nào trong số này đã được chỉ định (sử dụng --servicedb or
--versiondb tùy chọn), vị trí đó được sử dụng cho tệp đó. Sau đó, Nmap tìm kiếm
các tệp này trong thư mục được chỉ định với --datadir tùy chọn (nếu có). Bất kỳ tệp nào
không tìm thấy ở đó, được tìm kiếm trong thư mục được chỉ định bởi NAMPDIR.
biến môi trường. Tiếp theo đến ~ / .nmap. cho các UID thực và hiệu quả; hoặc trên Windows,
TRANG CHỦ\ AppData \ Roaming \ nmap (ở đâu TRANG CHỦ là thư mục chính của người dùng, giống như
C: \ Users \ người dùng). Tiếp theo là vị trí của tệp thực thi nmap và cùng
vị trí có thêm ../share/nmap. Sau đó, một vị trí được biên dịch, chẳng hạn như
/ usr / local / share / nmap hoặc / usr / share / nmap.
--servicedb dịch vụ hồ sơ (Chỉ định tệp dịch vụ tùy chỉnh).
Yêu cầu Nmap sử dụng tệp dịch vụ được chỉ định thay vì tệp dữ liệu nmap-services
đi kèm với Nmap. Sử dụng tùy chọn này cũng gây ra quá trình quét nhanh (-F) được sử dụng. Nhìn thấy
mô tả cho --datadir để biết thêm thông tin về các tệp dữ liệu của Nmap.
--versiondb dịch vụ tàu thăm dò hồ sơ (Chỉ định tệp thăm dò dịch vụ tùy chỉnh).
Yêu cầu Nmap sử dụng tệp thăm dò dịch vụ được chỉ định thay vì nmap-service-thăm dò
tệp dữ liệu đi kèm với Nmap. Xem mô tả cho --datadir để biết thêm thông tin
trên các tệp dữ liệu của Nmap.
--gửi-eth (Sử dụng gửi ethernet thô).
Yêu cầu Nmap gửi các gói ở lớp ethernet thô (liên kết dữ liệu) thay vì lớp cao hơn
Lớp IP (mạng). Theo mặc định, Nmap chọn cái mà thường là tốt nhất cho
nền tảng mà nó đang chạy. Các ổ cắm thô (lớp IP). nói chung là hiệu quả nhất cho
Máy Unix, trong khi khung ethernet được yêu cầu cho hoạt động của Windows kể từ
Microsoft đã tắt hỗ trợ cổng thô. Nmap vẫn sử dụng các gói IP thô trên Unix mặc dù
tùy chọn này khi không có lựa chọn nào khác (chẳng hạn như các kết nối không phải ethernet).
--gửi-ip (Gửi ở cấp IP thô).
Yêu cầu Nmap gửi gói tin qua ổ cắm IP thô thay vì gửi ethernet cấp thấp hơn
khung. Nó là sự bổ sung cho --gửi-eth tùy chọn đã thảo luận trước đây.
- đặc quyền (Giả sử rằng người dùng có đầy đủ đặc quyền).
Yêu cầu Nmap chỉ cần giả sử rằng nó đủ đặc quyền để thực hiện gửi thô socket,
đánh hơi gói và các hoạt động tương tự thường yêu cầu đặc quyền root. trên Unix
các hệ thống. Theo mặc định Nmap sẽ thoát nếu các hoạt động như vậy được yêu cầu nhưng người lém lỉnh không phải là
số không. - đặc quyền hữu ích với các khả năng của nhân Linux và các hệ thống tương tự
có thể được cấu hình để cho phép người dùng không có đặc quyền thực hiện quét gói thô. Chắc chắn rằng
cung cấp cờ tùy chọn này trước bất kỳ cờ nào cho các tùy chọn yêu cầu đặc quyền (SYN
quét, phát hiện hệ điều hành, v.v.). Các NMAP_PRIVILEGED. biến môi trường có thể được đặt làm
thay thế tương đương cho - đặc quyền.
- đặc quyền (Giả sử rằng người dùng thiếu đặc quyền ổ cắm thô).
Tùy chọn này ngược lại với - đặc quyền. Nó yêu cầu Nmap coi người dùng là
thiếu ổ cắm thô mạng và đặc quyền đánh hơi. Điều này rất hữu ích cho việc kiểm tra,
gỡ lỗi hoặc khi chức năng mạng thô của hệ điều hành của bạn bằng cách nào đó
vỡ. Các NMAP_UNPRIVILEGED. biến môi trường có thể được đặt là một biến tương đương
thay thế cho - đặc quyền.
--release-bộ nhớ (Giải phóng bộ nhớ trước khi nghỉ việc).
Tùy chọn này chỉ hữu ích để gỡ lỗi rò rỉ bộ nhớ. Nó khiến Nmap phát hành
được cấp phát bộ nhớ ngay trước khi nó thoát để dễ dàng phát hiện ra các rò rỉ bộ nhớ thực tế hơn.
Thông thường Nmap bỏ qua điều này vì hệ điều hành vẫn thực hiện điều này khi quá trình kết thúc.
-V; --phiên bản (Số phiên bản in).
In số phiên bản Nmap và thoát ra.
-h; --Cứu giúp (In trang tóm tắt trợ giúp).
In màn hình trợ giúp ngắn với các cờ lệnh phổ biến nhất. Chạy Nmap mà không cần
bất kỳ đối số nào cũng làm điều tương tự.
THỜI GIAN CHẠY SỰ TƯƠNG TÁC
Trong quá trình thực thi Nmap, tất cả các lần nhấn phím đều được ghi lại. Điều này cho phép bạn tương tác
với chương trình mà không cần hủy bỏ và khởi động lại nó. Các khóa đặc biệt nhất định sẽ thay đổi
tùy chọn, trong khi bất kỳ phím nào khác sẽ in ra thông báo trạng thái cho bạn biết về quá trình quét.
Quy ước là chữ thường bức thư tăng số lượng in ấn, và chữ hoa
bức thư giảm việc in ấn. Bạn cũng có thể nhấn '?' để được giúp đỡ.
v / V
Tăng / giảm mức độ chi tiết
d / D
Tăng / giảm mức gỡ lỗi
p / P
Bật / tắt theo dõi gói tin
?
In màn hình trợ giúp tương tác thời gian chạy
Còn gì nữa không
In ra một thông báo trạng thái như thế này:
Số liệu thống kê: 0:00:07 đã trôi qua; 20 máy chủ đã hoàn thành (1 máy lên), 1 máy đang quét dịch vụ
Thời gian quét dịch vụ: Khoảng 33.33% được thực hiện; ETC: 20:57 (còn lại 0:00:12)
VÍ DỤ
Dưới đây là một số ví dụ sử dụng Nmap, từ đơn giản và thông thường đến phức tạp hơn một chút
và bí truyền. Một số địa chỉ IP và tên miền thực tế được sử dụng để làm cho nhiều thứ hơn
bê tông. Ở vị trí của họ, bạn nên thay thế các địa chỉ / tên từ qua một vài thao tác đơn giản về riêng mạng.
Mặc dù tôi không nghĩ rằng việc quét cổng các mạng khác là bất hợp pháp hoặc phải là bất hợp pháp, nhưng một số mạng
quản trị viên không đánh giá cao việc quét mạng không mong muốn của họ và có thể phàn nàn.
Xin phép trước là cách tốt nhất.
Đối với mục đích thử nghiệm, bạn có quyền quét máy chủ scanme.nmap.org .. Điều này
quyền chỉ bao gồm quét qua Nmap và không kiểm tra khai thác hoặc từ chối dịch vụ
các cuộc tấn công. Để tiết kiệm băng thông, vui lòng không bắt đầu quá nhiều lần quét
máy chủ đó mỗi ngày. Nếu dịch vụ mục tiêu quét miễn phí này bị lạm dụng, nó sẽ bị gỡ xuống
và Nmap sẽ báo Không giải quyết được tên máy / IP đã cho: scanme.nmap.org. Này
quyền cũng áp dụng cho các máy chủ scanme2.nmap.org, scanme3.nmap.org, v.v.
những máy chủ này hiện không tồn tại.
nmap -v scanme.nmap.org.
Tùy chọn này quét tất cả các cổng TCP dành riêng trên máy scanme.nmap.org. Các -v tùy chọn
bật chế độ tiết.
nmap -NS -O scanme.nmap.org/24.
Khởi chạy quét SYN ẩn đối với từng máy có trong số 256 IP trên
mạng cỡ C nơi Scanme cư trú. Nó cũng cố gắng xác định những gì đang hoạt động
hệ thống đang chạy trên mỗi máy chủ lưu trữ đang hoạt động. Điều này yêu cầu đặc quyền root
vì tính năng quét SYN và phát hiện hệ điều hành.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Khởi chạy liệt kê máy chủ và quét TCP ở nửa đầu của mỗi 255 có thể
mạng con tám bit trong không gian địa chỉ lớp B 198.116. Điều này kiểm tra xem hệ thống có chạy hay không
SSH, DNS, POP3 hoặc IMAP trên các cổng tiêu chuẩn của chúng hoặc bất kỳ thứ gì trên cổng 4564. Đối với bất kỳ
các cổng này được mở, phát hiện phiên bản được sử dụng để xác định ứng dụng là gì
đang chạy.
nmap -v -iR 100000 -pn -p 80.
Yêu cầu Nmap chọn ngẫu nhiên 100,000 máy chủ và quét chúng để tìm máy chủ web (cổng 80). Tổ chức
liệt kê bị vô hiệu hóa với -pn kể từ lần đầu tiên gửi một vài thăm dò để xác định xem liệu
một máy chủ hoạt động là lãng phí khi bạn chỉ đang thăm dò một cổng trên mỗi máy chủ mục tiêu.
nmap -pn -p80 -con bò đực logs / pb-port80scan.xml -oG logs / pb-port80scan.gnmap 216.163.128.20/20.
Thao tác này quét 4096 IP cho bất kỳ máy chủ web nào (mà không cần ping chúng) và lưu kết quả đầu ra trong
các định dạng XML và grepable.
nmap BOOK
Mặc dù hướng dẫn tham khảo này trình bày chi tiết tất cả các tùy chọn Nmap vật liệu, nhưng nó không thể trình bày đầy đủ
cách áp dụng các tính năng đó để giải quyết nhanh chóng các tác vụ trong thế giới thực. Vì vậy, chúng tôi đã phát hành Nmap
Quét mạng: Hướng dẫn chính thức của dự án Nmap để khám phá và bảo mật mạng
Đang quét. Các chủ đề bao gồm phá hủy tường lửa và hệ thống phát hiện xâm nhập, tối ưu hóa
Hiệu suất Nmap và tự động hóa các tác vụ mạng thông thường với Công cụ tạo kịch bản Nmap.
Các gợi ý và hướng dẫn được cung cấp cho các tác vụ Nmap phổ biến như lấy mạng
kiểm kê, kiểm tra thâm nhập, phát hiện các điểm truy cập không dây giả mạo và truy cập
bùng phát sâu mạng. Ví dụ và sơ đồ cho thấy giao tiếp thực tế trên dây. Hơn
hơn một nửa cuốn sách được cung cấp miễn phí trên mạng. Nhìn thấy https://nmap.org/book để biết thêm
thông tin.
Sử dụng nmap trực tuyến bằng các dịch vụ onworks.net