Tổng quan kiến thức Nmap cho người mới bắt đầu

Nmap cho người mới bắt đầu

Chia sẻ kiến thức 12/03/2022

Bạn muốn biết thêm về các điểm yếu trên mạng (network) của bạn? Đây là cách bắt đầu với Nmap - công cụ quét cổng mạnh mẽ cho phép quản trị viên xác định các điểm yếu trong mạng của họ.

Nếu bạn đã từng thực hiện bất kỳ công việc giám sát mạng nào, bạn nên quen thuộc với Nmap. Nó là một công cụ quét cổng mạnh mẽ cho phép quản trị viên xác định các điểm yếu trong mạng của họ.

Bạn có thể quét toàn bộ mạng, xem các dịch vụ đang chạy và khám phá các lỗ hổng đã biết bằng cách sử dụng một lệnh nmap. Trong bài viết này, FUNiX sẽ giới thiệu một số cách hữu ích để phân tích các dịch vụ mạng bằng nmap trong Linux.

1. Cách quét mạng bằng Nmap

Nmap có thể quét toàn bộ mạng để tìm các máy chủ có sẵn và các cổng đang mở. Có một số phương pháp quét để lựa chọn. Các kiểu quét sâu mang lại nhiều thông tin hơn, nhưng chúng có thể gây báo động tường lửa. Mặt khác, quét nhanh phù hợp hơn trong các tình huống thực tế.

nmap -sT scanme.nmap.org

Đây là quét kết nối TCP. Những kiểu quét này hoàn thành quá trình bắt tay ba bước TCP (three-way TCP handshake) với máy chủ. Tuy nhiên, nó cũng khiến máy chủ dễ dàng chặn các lần quét như vậy. Thêm vào đó, chúng cũng mất nhiều thời gian hơn để hoàn thành.

Mặt khác, SYN quét không hoàn thành toàn bộ quá trình bắt tay ba bước. Do đó, nó khó chặn hơn và nhanh hơn so với quét kết nối TCP.

>nmap -sS scanme.nmap.org

Vì hầu hết các trang web sử dụng TCP nên việc quét UDP ít được dùng hơn. Tuy nhiên, bạn có thể sử dụng chúng để tìm các dịch vụ DNS, SNMP và DHCP.

nmap -sU scanme.nmap.org

Quét SCTP INIT là một tính năng mạnh mẽ khác của nmap trong Linux. Tuy nhiên, không phải thiết bị nào cũng sử dụng giao thức này. Vì vậy, quy mô giám sát có thể hạn chế hơn. Dù vậy, những lần quét này rất nhanh và chính xác.

nmap -sY scanme.nmap.org

>>> Đọc bài viết: 5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX

2. Cách chỉ định máy chủ bằng Nmap trong Linux

Nmap cho phép quản trị viên phân tích mạng theo một số cách. Bạn có thể quét một IP, một loạt các IP và các IP đã chọn.

nmap -sS 192.168.1.1
nmap -sS 192.168.1.1/24
nmap -sS 192.168.1.1 192.168.1.101 192.168.1.201

Tất cả các lần quét nmap này đều được thực hiện trên mạng cục bộ. Bạn cũng có thể quét các mạng từ xa theo cách tương tự.

Tuy nhiên, hãy đảm bảo rằng bạn có các quyền cần thiết nếu bạn không muốn gặp phải những thách thức pháp lý. Chúng tôi khuyên bạn nên tạo Máy ảo (VM) để thử nghiệm các lệnh nmap này. 

3. Cách chỉ định các cổng trong Nmap

Nmap quét 1000 cổng phổ biến nhất theo mặc định. Tuy nhiên, chúng thường mất nhiều thời gian hơn và có thể kích hoạt tường lửa hoặc hệ thống phát hiện xâm nhập. Chúng ta có thể chỉ định các cổng từ xa để giải quyết vấn đề này.

nmap -sS -p 80,443 192.168.1.1
nmap -sS -p 21-25,80,139,8080 192.168.1.1

Bạn có thể thêm bao nhiêu cổng bạn muốn bằng cách sử dụng tùy chọn -p. Tùy chọn -F chọn chế độ nhanh, về cơ bản quét ít cổng hơn so với chế độ quét mặc định.

nmap -sS -F 192.168.1.1

Tùy chọn –top-port cho phép quản trị viên chỉ định các cổng phổ biến nhất. Điều này có thể hữu ích cho việc quét quy mô lớn.

nmap -sS --top-ports 10 192.168.1.1

4. Cách phát hiện dịch vụ và thông tin phiên bản

Nmap rất hiệu quả trong việc tìm kiếm các dịch vụ và thông tin về phiên bản của chúng. Trong hầu hết các trường hợp, những dữ liệu này khá chính xác. Bạn có thể thêm tính năng phát hiện phiên bản vào quá trình quét nmap của mình bằng cách thêm tùy chọn -sV.

nmap -sS -sV -p 80,443 192.168.1.1

Nmap sử dụng một số kỹ thuật để lấy thông tin phiên bản. Bạn có thể kiểm soát hoạt động bằng cách sử dụng tùy chọn –version-intensity Cường độ (intensity) càng lớn thì kết quả càng chính xác. Tuy nhiên, chúng cũng mất nhiều thời gian hơn đáng kể.

nmap -sS -sV --version-intensity 9 192.168.1.1

Bạn cũng có thể sử dụng nmap để phát hiện các phiên bản hệ điều hành. Điều này rất hữu ích vì sẽ giúp phát hiện ra các dịch vụ lỗi thời ngay lập tức.

nmap -sS -O -p 80,443 192.168.1.1

Trong một số trường hợp tùy chọn –osscan-guess có thể cung cấp thêm một chút thông tin. Nhưng, nó cũng xâm nhập vào hệ thống nhiều hơn.

nmap -sS --osscan-guess 192.168.1.1

Bạn cũng có thể sử dụng tùy chọn -A để kích hoạt phát hiện phiên bản và hệ điều hành cùng với quy trình theo dõi.

nmap -sS -A -p 80,443 192.168.1.1

>>> Xem thêm: Review khóa học trực tuyến FUNiX FPT đang được nhiều bạn trẻ lựa chọn

5. Làm thế nào để sử dụng Nmap Scripts trong Linux?

Các tập lệnh Nmap kết hợp sức mạnh và tính linh hoạt. Quản trị viên có thể chọn từ nhiều tập lệnh NSE (NSE scripts) do cộng đồng tạo ra hoặc tự tạo các tập lệnh tùy chỉnh. Nmap phân loại các tập lệnh mặc định để làm cho chúng dễ sử dụng hơn.

nmap --script=version 192.168.1.1

Các tập lệnh Nmap được viết bằng Lua và được lưu trữ tại /usr/share/nmap/nselib/. Một số tập lệnh NSE thú vị khác bao gồm auth, vulns, exploit, và brute. Bạn có thể sử dụng nhiều tập lệnh bằng cách gõ một danh sách được phân tách bằng dấu phẩy.

nmap --script=version,auth 192.168.1.1

Thêm dấu cách giữa các dấu phẩy sẽ phá vỡ quá trình quét. Hãy chắc chắn để không dùng chúng. Bạn cũng có thể chỉ định các tập lệnh có liên quan bằng cách sử dụng các ký tự đại diện (wildcard) kiểu bash.

nmap --script=http* 192.168.1.1

Bạn luôn có thể tìm hiểu thêm về tập lệnh nmap bằng cách sử dụng tùy chọn –script-help.

nmap --script-help "discovery"

6. Cách kiểm soát thời gian quét cho Nmap trong Linux

Nmap có hiệu suất tuyệt vời. Tuy nhiên, bạn cũng có thể điều chỉnh thời gian để đáp ứng các mục tiêu quét của mình. Tùy chọn -T cho phép chúng ta đặt mẫu thời gian từ 0 đến 5. Giá trị cao hơn chỉ định quét nhanh hơn.

nmap -sS -T 2 --top-ports 10 192.168.1.1

Người dùng cũng có thể chỉ định khoảng cách giữa mỗi lần dò quét (probe) được gửi bởi nmap. Bạn có thể sử dụng điều này để tránh tường lửa. Khoảng cách được chỉ định bằng giây.

nmap -sS --scan-delay 1 --top-ports 10 192.168.1.1

7. Làm thế nào để tránh tường lửa cho Nmap Scans?

Hầu hết các tường lửa ngày nay có thể phát hiện quét cổng và chặn hoàn toàn địa chỉ nguồn. Nmap cung cấp một số phương pháp để tránh tường lửa và IDS.

nmap -sS -D 192.168.1.111 --top-ports 10 192.168.1.1

Tùy chọn -D đặt địa chỉ IP giả. Tuy nhiên, điều này không che giấu IP của bạn. Thay vào đó, nó làm cho nó trông giống như nhiều máy chủ đang gửi cùng một dò quét (scan probe).

nmap -sS -e wlp2s0 -S 192.168.1.111 --top-ports 10 192.168.1.1

Bạn có thể sử dụng tùy chọn -S để giả mạo địa chỉ IP của mình. Tuy nhiên, bạn sẽ cần sử dụng tùy chọn -e để giả mạo địa chỉ nguồn của mình. Nó lấy tên giao diện làm đối số. Bạn cũng có thể giả mạo địa chỉ MAC.

nmap -sS --spoof-mac 0 --top-ports 10 192.168.1.1

Việc chỉ định giá trị 0 cho –spoof-mac yêu cầu nmap tạo MAC ngẫu nhiên cho phiên đó. Bạn luôn có thể sử dụng địa chỉ tùy chỉnh.

>>> Xem thêm: Cách quét tất cả các cổng mạng đang mở với Nmap

8. Cách quản lý đầu ra Nmap

Nmap cung cấp một số cách xử lý đầu ra. Bạn có thể lưu kết quả của một phiên quét vào các tệp cụ thể.

nmap -sS -p 80,443 -oN scan-output 192.168.1.1

Nhiều quản trị viên muốn lưu đầu ra dưới dạng XML. Điều này làm cho việc phân tích dễ dàng hơn. 

nmap -sS -p 80,443 -oX scan-output 192.168.1.1

Cá nhân tôi muốn lưu kết quả đầu ra trong một tệp có thể tải xuống. Điều này làm cho việc phân tích dữ liệu dễ dàng hơn bằng cách sử dụng các công cụ Unix phổ biến như grep, cut và awk.

nmap -sS -p 80,443 -oG scan-output 192.168.1.1

9. Phân tích các dịch vụ mạng bằng Nmap

Nmap giúp việc khám phá mạng trở nên dễ dàng. Bạn có thể chọn từ rất nhiều kỹ thuật quét để đáp ứng các mục tiêu khác nhau. Thêm vào đó, một bộ sưu tập các tập lệnh NSE giúp việc tìm kiếm các dịch vụ dễ bị tấn công dễ dàng hơn nhiều.

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

>>> Xem thêm các chủ đề hữu ích:

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/troubleshoot-internet-connection-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!