Hướng dẫn cách xem tất cả các thiết bị trong mạng của bạn bằng nmap trên Linux

Bạn nghĩ mình biết những gì được kết nối với mạng gia đình? Bạn có thể ngạc nhiên đấy. Tìm hiểu cách kiểm tra bằng cách sử dụng nmap
trên Linux, cho phép bạn khám phá tất cả các thiết bị được kết nối với mạng của mình.
Mục lục
Toggle1. Nếu cần, hãy cài đặt nmap
Chúng ta sẽ sử dụng lệnh nmap. Tùy thuộc vào các gói phần mềm khác đã được cài đặt trên máy tính của bạn, nmap có thể đã có sẵn.
Nếu chưa có, đây là cách cài đặt nó trên Ubuntu:
sudo apt-get install nmap
Đây là cách cài đặt nó trên Fedora:
sudo dnf install nmap
Đây là cách cài đặt nó trên Manjaro:
sudo pacman -Syu nmap
Bạn có thể cài đặt nó trên các phiên bản Linux khác bằng trình quản lý gói của bản phân phối Linux của bạn.
2. Tìm địa chỉ IP của bạn
Nhiệm vụ đầu tiên là tìm ra địa chỉ IP của máy tính Linux của bạn. Mạng của bạn có một địa chỉ IP tối thiểu và một địa chỉ IP tối đa có thể sử dụng. Đây là phạm vi hoặc dải địa chỉ IP cho mạng của bạn. Chúng ta sẽ cần cung cấp các địa chỉ IP hoặc một dải địa chỉ IP cho nmap, vì vậy chúng ta cần biết các giá trị đó là gì.
Thật tiện lợi, Linux cung cấp một lệnh gọi là ip và nó có một tùy chọn gọi là addr (address) hoặc chỉ add. Gõ ip, một khoảng trắng, add, rồi nhấn Enter.
ip add
Trong phần dưới cùng của kết quả, bạn sẽ tìm thấy địa chỉ IP của mình. Nó được đặt trước nhãn “inet”.
Địa chỉ IP của máy tính này là “192.168.4.25”. Ký hiệu “/24” có nghĩa là có ba bộ tám số 1 liên tiếp trong subnet mask. (Và 3×8=24).
Trong hệ nhị phân, subnet mask là:
11111111.11111111.11111111.00000000
Trong hệ thập phân, nó là 255.255.255.0.
Subnet mask và địa chỉ IP được sử dụng để chỉ ra phần nào của địa chỉ IP xác định mạng và phần nào xác định thiết bị. Subnet mask này thông báo cho phần cứng rằng ba số đầu tiên của địa chỉ IP sẽ xác định mạng và phần cuối cùng của địa chỉ IP xác định các thiết bị riêng lẻ. Và bởi vì số lớn nhất bạn có thể lưu trữ trong một số nhị phân 8-bit là 255, dải địa chỉ IP cho mạng này sẽ là 192.168.4.0 đến 192.168.4.255.
Tất cả những điều đó được gói gọn trong ký hiệu “/24”. May mắn thay, nmap hoạt động với ký hiệu đó, vì vậy chúng ta đã có những gì cần thiết để bắt đầu sử dụng nmap.
3. Bắt đầu với nmap
nmap là một công cụ lập bản đồ mạng (network mapping tool). Nó hoạt động bằng cách gửi các loại thông báo mạng khác nhau đến các địa chỉ IP trong dải mà chúng ta sẽ cung cấp cho nó. Nó có thể suy luận rất nhiều về thiết bị mà nó đang thăm dò bằng cách đánh giá và giải thích loại phản hồi mà nó nhận được.
Hãy bắt đầu một lần quét đơn giản với nmap. Chúng ta sẽ sử dụng tùy chọn -sn (scan no port – không quét cổng). Điều này yêu cầu nmap không thăm dò các cổng trên thiết bị vào lúc này. Nó sẽ thực hiện một lần quét nhanh chóng, nhẹ nhàng.
Mặc dù vậy, nmap có thể mất một chút thời gian để chạy. Tất nhiên, bạn càng có nhiều thiết bị trên mạng, nó sẽ mất nhiều thời gian hơn. Nó thực hiện tất cả công việc thăm dò và trinh sát trước, sau đó trình bày kết quả khi giai đoạn đầu tiên hoàn tất. Đừng ngạc nhiên khi không có gì hiển thị xảy ra trong khoảng một phút hoặc lâu hơn.
Địa chỉ IP chúng ta sẽ sử dụng là địa chỉ chúng ta lấy được bằng lệnh ip trước đó, nhưng số cuối cùng được đặt thành 0. Đó là địa chỉ IP đầu tiên có thể có trên mạng này. Ký hiệu “/24” yêu cầu nmap quét toàn bộ dải mạng này. Tham số “192.168.4.0/24” được dịch là “bắt đầu tại địa chỉ IP 192.168.4.0 và quét tất cả các địa chỉ IP cho đến và bao gồm 192.168.4.255”.
Lưu ý chúng ta đang sử dụng sudo.
sudo nmap -sn 192.168.4.0/24
Sau một thời gian ngắn chờ đợi, kết quả được ghi vào cửa sổ terminal.
Bạn có thể chạy lần quét này mà không cần sử dụng sudo, nhưng sử dụng sudo đảm bảo nó có thể trích xuất được nhiều thông tin nhất có thể. Ví dụ, nếu không có sudo, lần quét này sẽ không trả về thông tin nhà sản xuất.
Ưu điểm của việc sử dụng tùy chọn -sn—cũng như là một lần quét nhanh và nhẹ—là nó cung cấp cho bạn một danh sách gọn gàng các địa chỉ IP đang hoạt động (live IP addresses). Nói cách khác, chúng ta có một danh sách các thiết bị được kết nối với mạng, cùng với địa chỉ IP của chúng. Và nếu có thể, nmap đã xác định được nhà sản xuất. Đó không phải là một kết quả tồi cho lần thử đầu tiên.
Đây là phần cuối của danh sách.
Chúng ta đã thiết lập một danh sách các thiết bị mạng được kết nối, vì vậy chúng ta biết có bao nhiêu thiết bị. Có 15 thiết bị đang bật và được kết nối với mạng. Chúng ta biết nhà sản xuất của một số thiết bị. Hoặc, như chúng ta sẽ thấy, chúng ta có thông tin mà nmap đã báo cáo là nhà sản xuất, theo khả năng tốt nhất của nó.
Khi bạn xem qua kết quả của mình, bạn có thể sẽ thấy các thiết bị mà bạn nhận ra. Cũng có thể có một số thiết bị mà bạn không biết. Đây là những thiết bị chúng ta cần điều tra thêm.
Rõ ràng đối với tôi một số thiết bị này là gì. Raspberry Pi Foundation là tự giải thích. Thiết bị Amazon Technologies sẽ là Echo Dot của tôi. Thiết bị Samsung duy nhất tôi có là một máy in laser, vì vậy điều đó thu hẹp phạm vi cho thiết bị đó. Có một vài thiết bị được liệt kê là do Dell sản xuất. Những thiết bị này dễ dàng, đó là một PC và máy tính xách tay. Thiết bị Avaya là một điện thoại Voice Over IP cung cấp cho tôi một số máy nhánh trong hệ thống điện thoại tại trụ sở chính. Nó cho phép họ làm phiền tôi ở nhà dễ dàng hơn, vì vậy tôi biết rõ về thiết bị đó.
Nhưng tôi vẫn còn những câu hỏi.
Có một số thiết bị với những cái tên hoàn toàn không có ý nghĩa gì đối với tôi. Ví dụ, Liteon technology và Elitegroup Computer systems.
Tôi có nhiều hơn một chiếc Raspberry Pi (rất nhiều). Số lượng kết nối với mạng sẽ luôn thay đổi vì chúng liên tục được hoán đổi và tái sử dụng khi chúng được cài đặt lại hệ điều hành và tái mục đích. Nhưng chắc chắn, phải có nhiều hơn một chiếc xuất hiện.
Có một vài thiết bị được đánh dấu là Unknown (Không xác định). Rõ ràng, chúng sẽ cần được xem xét.
4. Thực hiện một lần quét sâu hơn
Nếu chúng ta bỏ tùy chọn -sn, nmap cũng sẽ cố gắng thăm dò các cổng trên các thiết bị. Cổng là các điểm cuối được đánh số cho các kết nối mạng trên các thiết bị. Hãy hình dung một khu chung cư. Tất cả các căn hộ đều có cùng địa chỉ đường phố (tương đương với địa chỉ IP), nhưng mỗi căn hộ có số riêng (tương đương với cổng).
Mỗi chương trình hoặc dịch vụ bên trong một thiết bị đều có một số cổng. Lưu lượng mạng được gửi đến một địa chỉ IP và một cổng, chứ không chỉ đến một địa chỉ IP. Một số số cổng đã được phân bổ trước hoặc được dành riêng. Chúng luôn được sử dụng để truyền tải lưu lượng mạng thuộc một loại cụ thể. Ví dụ, Cổng 22 được dành cho các kết nối SSH và Cổng 80 được dành cho lưu lượng web HTTP.
Bạn chỉ nên quét cổng trên các mạng mà bạn có quyền rõ ràng để làm như vậy. Việc quét cổng có thể bị phát hiện và bị coi là độc hại, khiến bạn gặp rắc rối. Hãy xem qua hướng dẫn pháp lý của nmap để tìm hiểu thêm.
Chúng ta sẽ sử dụng nmap để quét các cổng trên mỗi thiết bị và cho biết cổng nào đang mở.
nmap 192.168.4.0/24
Lần này, chúng ta nhận được một bản tóm tắt chi tiết hơn về từng thiết bị. Chúng ta được thông báo có 13 thiết bị đang hoạt động trên mạng. Khoan đã; lúc trước chúng ta có 15 thiết bị mà.
Số lượng thiết bị có thể thay đổi khi bạn chạy các lần quét này. Điều này có khả năng là do các thiết bị di động đến và rời khỏi cơ sở, hoặc thiết bị được bật và tắt. Ngoài ra, hãy lưu ý rằng khi bạn bật một thiết bị đã được tắt nguồn, nó có thể không có cùng địa chỉ IP như lần cuối cùng nó được sử dụng. Nó có thể có, nhưng cũng có thể không.
Đã có rất nhiều kết quả đầu ra. Hãy thực hiện lại và lưu nó vào một tệp.
nmap 192.168.4.0/24 > nmap-list.txt
Và bây giờ chúng ta có thể liệt kê tệp bằng lệnh less, và tìm kiếm trong đó nếu muốn.
less nmap-list.txt
Khi bạn cuộn qua báo cáo nmap, bạn đang tìm kiếm bất cứ điều gì mà bạn không thể giải thích hoặc dường như bất thường. Khi xem xét danh sách của mình, hãy ghi lại địa chỉ IP của bất kỳ thiết bị nào mà bạn muốn điều tra thêm.
Theo danh sách mà chúng ta đã tạo trước đó, 192.168.4.10 là một Raspberry Pi. Nó sẽ chạy một bản phân phối Linux này hay khác. Vậy cái gì đang sử dụng cổng 445? Nó được mô tả là “microsoft-ds”. Microsoft, trên một Pi đang chạy Linux? Chắc chắn chúng ta sẽ xem xét điều đó. 192.168.4.11 được gắn thẻ là “Unknown” (Không xác định) trong lần quét trước. Nó có rất nhiều cổng mở; chúng ta cần biết đó là gì.
192.168.4.18 cũng được xác định là một Raspberry Pi. Nhưng chiếc Pi đó và thiết bị 192.168.4.21 đều có cổng 8888 mở, được mô tả là đang được sử dụng bởi “sun-answerbook”. Sun AnswerBook là một hệ thống truy xuất tài liệu (sơ cấp) đã ngừng hoạt động từ nhiều năm trước. Không cần phải nói, tôi không cài đặt nó ở bất cứ đâu. Điều đó cần được xem xét.
Thiết bị 192.168.4.22 trước đó được xác định là máy in Samsung, điều này được xác minh ở đây bằng thẻ ghi là “printer”. Điều khiến tôi chú ý là cổng HTTP 80 đang hiện diện và mở. Cổng này được dành riêng cho lưu lượng truy cập trang web. Máy in của tôi có tích hợp một trang web không?
Thiết bị 192.168.4.31 được báo cáo là do một công ty tên là Elitegroup Computer Systems sản xuất. Tôi chưa từng nghe nói về họ, và thiết bị này có rất nhiều cổng mở, vì vậy chúng ta sẽ xem xét điều đó. Một thiết bị càng có nhiều cổng mở, tội phạm mạng càng có nhiều cơ hội xâm nhập vào nó — nếu nó tiếp xúc trực tiếp với Internet. Nó giống như một ngôi nhà. Bạn càng có nhiều cửa ra vào và cửa sổ, thì càng có nhiều điểm xâm nhập tiềm năng cho kẻ trộm.
5. Chúng ta đã xếp hàng các nghi phạm; hãy bắt chúng lên tiếng
Thiết bị 192.168.4.10 là một Raspberry Pi có cổng 445 mở, được mô tả là “microsoft-ds”. Một chút tìm kiếm nhanh trên Internet cho thấy cổng 445 thường được liên kết với Samba. Samba là một phần mềm triển khai miễn phí của giao thức Server Message Block (SMB) của Microsoft. SMB là một phương tiện chia sẻ thư mục và tệp qua mạng. Điều này có lý; tôi sử dụng chiếc Pi cụ thể đó như một loại thiết bị Lưu trữ Gắn kèm Mạng (NAS) mini. Nó sử dụng Samba để tôi có thể kết nối với nó từ bất kỳ máy tính nào trên mạng của mình. Được rồi, cái này dễ dàng. Một thiết bị đã rõ, còn vài cái nữa.
5.1. Thiết bị không rõ với nhiều cổng mở
Thiết bị có Địa chỉ IP 192.168.4.11 có nhà sản xuất không rõ và nhiều cổng mở. Chúng ta có thể sử dụng nmap mạnh mẽ hơn để cố gắng moi thêm thông tin từ thiết bị. Tùy chọn -A (quét tấn công/aggressive scan) buộc nmap phải sử dụng tính năng phát hiện hệ điều hành, phát hiện phiên bản, quét tập lệnh và phát hiện traceroute. Tùy chọn -T (mẫu thời gian/timing template) cho phép chúng ta chỉ định một giá trị từ 0 đến 5. Điều này đặt một trong các chế độ thời gian. Các chế độ thời gian có những cái tên tuyệt vời: paranoid (0), sneaky (1), polite (2), normal (3), aggressive (4) và insane (5). Số càng thấp, nmap càng ít ảnh hưởng đến băng thông và những người dùng mạng khác. Lưu ý rằng chúng ta không cung cấp cho nmap một dải IP. Chúng ta đang tập trung nmap vào một địa chỉ IP duy nhất, đó là địa chỉ IP của thiết bị đang được đề cập.
sudo nmap -A -T4 192.168.4.11
Trên máy được sử dụng để nghiên cứu bài viết này, phải mất chín phút để nmap thực hiện lệnh đó. Đừng ngạc nhiên nếu bạn phải đợi một lúc trước khi thấy bất kỳ kết quả đầu ra nào.
Thật không may, trong trường hợp này, kết quả đầu ra không cung cấp cho chúng ta câu trả lời dễ dàng như chúng ta hy vọng.
Một điều bổ sung chúng ta đã biết là nó đang chạy một phiên bản Linux. Trên mạng của tôi thì điều đó không có gì đáng ngạc nhiên, nhưng phiên bản Linux này thì hơi kỳ lạ. Có vẻ như nó khá cũ. Linux được sử dụng trong hầu hết các thiết bị Internet of Things, vì vậy đó có thể là một manh mối. Phần dưới của kết quả đầu ra, nmap đã cung cấp cho chúng ta địa chỉ MAC (Media Access Control address) của thiết bị. Đây là một tham chiếu duy nhất được gán cho các giao diện mạng. Ba byte đầu tiên của địa chỉ MAC được gọi là Organizationally Unique Identifier (OUI). Điều này có thể được sử dụng để xác định nhà cung cấp hoặc nhà sản xuất của giao diện mạng. Nếu bạn tình cờ là một người đam mê công nghệ đã tập hợp một cơ sở dữ liệu gồm 35.909 địa chỉ OUI, thì bạn có thể tra cứu được.
Tiện ích của tôi cho biết nó thuộc về Google. Với câu hỏi trước đó về phiên bản Linux đặc biệt và nghi ngờ rằng nó có thể là một thiết bị Internet of Things, điều này chỉ thẳng vào chiếc loa thông minh Google Home mini của tôi. Bạn có thể thực hiện tra cứu OUI tương tự trực tuyến, bằng cách sử dụng trang Wireshark Manufacturer Lookup.
Điều đáng khích lệ là kết quả này khớp với kết quả của tôi. Một cách để chắc chắn về ID của một thiết bị là thực hiện một lần quét, tắt thiết bị đó và quét lại. Địa chỉ IP bị thiếu trong tập hợp kết quả thứ hai sẽ là thiết bị bạn vừa tắt nguồn.
5.2. Sun AnswerBook?
Bí ẩn tiếp theo là mô tả “sun-answerbook” cho chiếc Raspberry Pi có địa chỉ IP 192.168.4.18. Mô tả “sun-answerbook” tương tự cũng xuất hiện cho thiết bị tại 192.168.4.21. Thiết bị 192.168.4.21 là một máy tính để bàn Linux.
nmap đưa ra dự đoán tốt nhất về mục đích sử dụng của một cổng từ danh sách các liên kết phần mềm đã biết. Tất nhiên, nếu bất kỳ liên kết cổng nào trong số này không còn áp dụng nữa — có lẽ phần mềm không còn được sử dụng và đã hết vòng đời — bạn có thể nhận được các mô tả cổng gây hiểu lầm trong kết quả quét của mình. Đây có lẽ là trường hợp ở đây, hệ thống Sun AnswerBook có từ đầu những năm 1990 và không hơn gì một ký ức xa xăm — đối với những người thậm chí còn biết đến nó.
Vậy, nếu nó không phải là phần mềm Sun Microsystems cổ xưa nào đó, thì hai thiết bị này, Raspberry Pi và máy tính để bàn, có điểm gì chung? Tìm kiếm trên Internet không mang lại bất cứ điều gì hữu ích. Có rất nhiều kết quả. Có vẻ như bất cứ thứ gì có giao diện web mà không muốn sử dụng cổng 80 đều chọn cổng 8888 làm phương án dự phòng. Vì vậy, bước hợp lý tiếp theo là thử kết nối với cổng đó bằng trình duyệt. Tôi đã sử dụng 192.168.4.18:8888 làm địa chỉ trong trình duyệt của mình. Đây là định dạng để chỉ định một địa chỉ IP và một cổng trong trình duyệt. Sử dụng dấu hai chấm : để phân tách địa chỉ IP với số cổng.
Quả thực một trang web đã mở ra.
Đó là cổng thông tin quản trị cho bất kỳ thiết bị nào đang chạy Resilio Sync, một dịch vụ đồng bộ hóa tệp ngang hàng. Tôi luôn sử dụng dòng lệnh, vì vậy tôi hoàn toàn quên mất tiện ích này. Vì vậy, mục nhập Sun AnswerBook chỉ là một sự đánh lạc hướng hoàn toàn, và dịch vụ đằng sau cổng 8888 đã được xác định.
6. Máy chủ Web ẩn
Vấn đề tiếp theo tôi đã ghi lại để xem xét là cổng HTTP 80 trên máy in của tôi. Một lần nữa, tôi lấy địa chỉ IP từ kết quả nmap và sử dụng nó làm địa chỉ trong trình duyệt của mình. Tôi không cần phải cung cấp cổng; trình duyệt sẽ mặc định là cổng 80.
Và này, máy in của tôi có một máy chủ web nhúng trong đó. Bây giờ tôi có thể xem số lượng trang đã được in, mức mực, và các thông tin hữu ích hoặc thú vị khác.
7. Một thiết bị không xác định khác
Thiết bị tại 192.168.4.24 không tiết lộ bất cứ điều gì cho bất kỳ lần quét nmap nào chúng ta đã thử cho đến nay. Tôi đã thêm tùy chọn -Pn (no ping – không ping). Điều này khiến nmap giả định thiết bị mục tiêu đang hoạt động và tiến hành các lần quét khác. Điều này có thể hữu ích đối với các thiết bị không phản ứng như mong đợi và làm nmap nhầm tưởng rằng chúng đang ngoại tuyến.
sudo nmap -A -T4 -Pn 192.168.4.24
Điều này đã truy xuất được một lượng thông tin, nhưng không có gì xác định được thiết bị. Nó được báo cáo là đang chạy một nhân Linux từ Mandriva Linux. Mandriva Linux là một bản phân phối đã ngừng hoạt động vào năm 2011. Nó vẫn tồn tại với một cộng đồng mới hỗ trợ nó, dưới tên gọi OpenMandriva. Lại là một thiết bị Internet of Things khác, có thể không? Có lẽ là không — tôi chỉ có hai chiếc, và cả hai đều đã được xác định.
Việc đi bộ kiểm tra từng phòng và đếm thiết bị vật lý không giúp ích gì cho tôi. Hãy tra cứu địa chỉ MAC.
Hóa ra đó là điện thoại di động của tôi. Hãy nhớ rằng bạn có thể thực hiện các tra cứu này trực tuyến, bằng cách sử dụng trang Wireshark Manufacturer Lookup.
8. Elitegroup Computer Systems
Hai câu hỏi cuối cùng tôi có là về hai thiết bị có tên nhà sản xuất mà tôi không nhận ra, cụ thể là Liteon và Elitegroup Computer Systems.
Hãy thay đổi chiến thuật. Một lệnh hữu ích khác trong việc xác định danh tính của các thiết bị trên mạng của bạn là arp. arp được sử dụng để làm việc với bảng Address Resolution Protocol (ARP) trong máy tính Linux của bạn. Nó được sử dụng để dịch từ một địa chỉ IP (hoặc tên mạng) sang một địa chỉ MAC. Nếu arp chưa được cài đặt trên máy tính của bạn, bạn có thể cài đặt nó như sau. Trên Ubuntu, sử dụng apt-get:
sudo apt-get install net-tools
Trên Fedora, sử dụng dnf:
sudo dnf install net-tools
Trên Manjaro, sử dụng pacman:
sudo pacman -Syu net-tools
Để có được danh sách các thiết bị và tên mạng của chúng — nếu chúng đã được gán tên — chỉ cần gõ arp và nhấn Enter. Đây là kết quả đầu ra từ máy nghiên cứu của tôi:
Các tên trong cột đầu tiên là tên máy (machine names) (còn gọi là tên máy chủ/hostnames hoặc tên mạng/network names) đã được gán cho các thiết bị. Một số tôi đã tự đặt (ví dụ: Nostromo, Cloudbase, và Marineville) và một số đã được nhà sản xuất đặt (chẳng hạn như Vigor.router).
Kết quả đầu ra cung cấp cho chúng ta hai cách để đối chiếu nó với kết quả từ nmap. Bởi vì các địa chỉ MAC cho các thiết bị được liệt kê, chúng ta có thể tham chiếu đến kết quả từ nmap để xác định thêm các thiết bị. Ngoài ra, bởi vì bạn có thể sử dụng tên máy với ping và vì ping hiển thị địa chỉ IP cơ bản, bạn có thể đối chiếu tên máy với địa chỉ IP bằng cách sử dụng ping trên từng tên một. Ví dụ, hãy ping Nostromo.local và tìm hiểu địa chỉ IP của nó là gì. Lưu ý rằng tên máy không phân biệt chữ hoa chữ thường.
ping nostromo.local
Bạn phải sử dụng Ctrl+C để dừng ping.
Kết quả đầu ra cho chúng ta thấy rằng địa chỉ IP của nó là 192.168.4.15. Và đó tình cờ là thiết bị đã xuất hiện trong lần quét nmap đầu tiên với Liteon là nhà sản xuất.
Công ty Liteon sản xuất các linh kiện máy tính được sử dụng bởi rất nhiều nhà sản xuất máy tính. Trong trường hợp này, đó là một card Wi-Fi Liteon bên trong một máy tính xách tay Asus. Vì vậy, như chúng ta đã lưu ý trước đó, tên nhà sản xuất được nmap trả về chỉ là dự đoán tốt nhất của nó. Làm thế nào nmap biết được card Wi-Fi Liteon được gắn vào một máy tính xách tay Asus?
Và cuối cùng. Địa chỉ MAC cho thiết bị do Elitegroup Computer Systems sản xuất khớp với địa chỉ trong danh sách arp cho thiết bị tôi đã đặt tên là LibreELEC.local. Đây là một Intel NUC, đang chạy trình phát đa phương tiện LibreELEC. Vì vậy, NUC này có một bo mạch chủ từ công ty Elitegroup Computer Systems. Và đó là tất cả, mọi bí ẩn đã được giải quyết.
9. Tất cả đã được xác định
Chúng ta đã xác minh rằng không có thiết bị không giải thích được nào trên mạng này. Bạn có thể sử dụng các kỹ thuật được mô tả ở đây để điều tra mạng của mình. Bạn có thể làm điều này vì tò mò — để thỏa mãn sở thích của mình — hoặc để tự trấn an rằng mọi thứ được kết nối với mạng của bạn đều có quyền ở đó.
Hãy nhớ rằng các thiết bị được kết nối có đủ hình dạng và kích cỡ. Tôi đã mất một thời gian đi vòng quanh và cố gắng theo dõi một thiết bị lạ trước khi nhận ra rằng đó, trên thực tế, là chiếc đồng hồ thông minh trên cổ tay tôi.
Dưới đây là bảng dịch và phân loại các lệnh Linux:
Loại | Lệnh | Chức năng |
Tệp (Files) | tar | Nén/giải nén tệp tin |
pv | Giám sát tiến trình dữ liệu qua pipeline | |
cat | Nối và hiển thị nội dung tệp tin | |
tac | Hiển thị nội dung tệp tin ngược | |
chmod | Thay đổi quyền truy cập tệp tin/thư mục | |
grep | Tìm kiếm các dòng khớp với mẫu | |
diff | So sánh sự khác biệt giữa hai tệp tin | |
sed | Trình biên tập luồng để lọc và biến đổi văn bản | |
ar | Tạo, sửa đổi và trích xuất các kho lưu trữ | |
man | Hiển thị các trang hướng dẫn sử dụng | |
pushd | Lưu thư mục hiện tại và chuyển sang thư mục mới | |
popd | Khôi phục thư mục đã lưu | |
fsck | Kiểm tra và sửa chữa hệ thống tệp | |
testdisk | Công cụ khôi phục phân vùng và tệp tin bị mất | |
seq | In các chuỗi số (print sequences of numbers). | |
fd | Công cụ tìm tệp nhanh hơn find | |
pandoc | Chuyển đổi tệp từ định dạng này sang định dạng khác | |
cd | Thay đổi thư mục | |
$PATH | Biến môi trường chứa danh sách thư mục tìm kiếm lệnh | |
awk | Ngôn ngữ xử lý và quét mẫu | |
join | Ghép các dòng của hai tệp có chung một trường . | |
jq | Bộ xử lý JSON dòng lệnh nhẹ | |
fold | Gói mỗi dòng đầu vào thành chiều rộng đã chỉ định | |
uniq | Báo cáo hoặc loại bỏ các dòng trùng lặp | |
journalctl | Truy vấn nhật ký từ hệ thống systemd | |
tail | Hiển thị phần cuối của tệp | |
stat | Hiển thị trạng thái tệp hoặc hệ thống tệp | |
ls | Liệt kê nội dung thư mục | |
fstab | Tệp cấu hình hệ thống tệp để mount | |
echo | Hiển thị một dòng văn bản | |
less | Trình xem tệp tương tác | |
chgrp | Thay đổi nhóm sở hữu tệp | |
chown | Thay đổi quyền sở hữu tệp | |
rev | Đảo ngược các dòng của tệp | |
look | Hiển thị các dòng bắt đầu bằng một chuỗi | |
strings | Tìm và in các chuỗi ký tự có thể in được trong tệp | |
type | Chỉ báo một lệnh được diễn giải như thế nào | |
rename | Đổi tên nhiều tệp | |
zip | Nén các tệp thành kho lưu trữ .zip | |
unzip | Giải nén các tệp từ kho lưu trữ .zip | |
mount | Gắn một hệ thống tệp | |
umount | Gỡ bỏ một hệ thống tệp | |
install | Sao chép tệp và đặt thuộc tính | |
fdisk | Công cụ quản lý bảng phân vùng | |
mkfs | Xây dựng một hệ thống tệp Linux | |
rm | Xóa tệp hoặc thư mục | |
rmdir | Xóa thư mục rỗng | |
rsync | Đồng bộ hóa tệp từ xa và cục bộ | |
df | Báo cáo dung lượng đĩa trống | |
gpg | Mã hóa và ký tệp | |
vi | Trình biên tập văn bản toàn màn hình | |
nano | Trình biên tập văn bản dòng lệnh dễ sử dụng | |
mkdir | Tạo thư mục | |
du | Ước tính mức sử dụng dung lượng tệp | |
ln | Tạo liên kết tệp | |
patch | Áp dụng tệp bản vá | |
convert | Chuyển đổi định dạng hình ảnh | |
rclone | Đồng bộ hóa tệp với bộ nhớ đám mây | |
shred | Xóa tệp an toàn | |
srm | Xóa tệp an toàn hơn | |
scp | Sao chép tệp an toàn | |
gzip | Nén hoặc giải nén tệp | |
chattr | Thay đổi thuộc tính tệp trên hệ thống tệp Linux | |
cut | Xóa các phần của dòng từ tệp | |
find | Tìm kiếm tệp trong hệ thống phân cấp thư mục | |
umask | Đặt mặt nạ tạo quyền tệp mặc định | |
wc | Đếm số dòng, từ và ký tự | |
tr | Dịch hoặc xóa ký tự | |
Tiến trình (Processes) | alias | Tạo bí danh cho lệnh |
screen | Quản lý nhiều phiên terminal | |
top | Hiển thị các tiến trình Linux | |
nice | Chạy chương trình với mức độ ưu tiên đã sửa đổi | |
renice | Thay đổi mức độ ưu tiên của tiến trình đang chạy | |
progress | Hiển thị tiến trình cho các lệnh đang chạy | |
strace | Theo dõi các lệnh gọi hệ thống và tín hiệu | |
systemd | Hệ thống init và quản lý dịch vụ | |
tmux | Bộ ghép kênh terminal | |
chsh | Thay đổi shell đăng nhập | |
history | Hiển thị lịch sử lệnh | |
at | Lên lịch lệnh để thực hiện một lần trong tương lai | |
batch | Thực thi các lệnh khi tải hệ thống cho phép . | |
free | Hiển thị lượng bộ nhớ vật lý và swap miễn phí và đã sử dụng | |
which | Định vị tệp lệnh | |
dmesg | Hiển thị bộ đệm thông báo nhân | |
chfn | Thay đổi thông tin ngón tay | |
usermod | Sửa đổi tài khoản người dùng | |
ps | Báo cáo trạng thái tiến trình | |
chroot | Thay đổi thư mục gốc | |
xargs | Xây dựng và thực thi các dòng lệnh từ đầu vào tiêu chuẩn | |
tty | In tên tệp của terminal được kết nối với đầu vào tiêu chuẩn | |
pinky | Một phiên bản nhẹ của finger | |
lsof | Liệt kê các tệp đang mở | |
vmstat | Báo cáo thống kê bộ nhớ ảo | |
timeout | Chạy lệnh với giới hạn thời gian | |
wall | Gửi tin nhắn đến tất cả người dùng terminal | |
yes | In chuỗi lặp lại | |
kill | Gửi tín hiệu đến tiến trình | |
sleep | Tạm dừng trong một khoảng thời gian xác định | |
sudo | Thực thi lệnh với quyền root/người dùng khác | |
su | Chuyển đổi ID người dùng | |
time | Báo cáo thời gian thực hiện lệnh | |
groupadd | Tạo nhóm bảo mật mới | |
groups | In tên nhóm cho người dùng | |
lshw | Liệt kê cấu hình phần cứng | |
shutdown | Tắt máy | |
reboot | Khởi động lại hệ thống | |
halt | Dừng hệ thống | |
poweroff | Tắt nguồn hệ thống | |
passwd | Thay đổi mật khẩu người dùng | |
lscpu | Hiển thị thông tin kiến trúc CPU | |
crontab | Quản lý công việc được lên lịch | |
date | Hiển thị hoặc đặt ngày và giờ hệ thống | |
bg | Tiếp tục công việc bị tạm dừng trong nền | |
fg | Đưa công việc lên nền trước | |
pidof | Tìm ID tiến trình của lệnh đang chạy. | |
nohup | Chạy lệnh không bị gián đoạn bởi việc đăng xuất | |
pmap | Báo cáo bản đồ bộ nhớ của tiến trình | |
Mạng (Networking) | netstat | In các kết nối mạng, bảng định tuyến, thống kê giao diện (Lưu ý: Lệnh cũ, nên dùng ss hoặc ip ). |
ping | Gửi các gói ICMP ECHO_REQUEST đến máy chủ mạng | |
traceroute | In lộ trình gói đến máy chủ mạng | |
ip | Công cụ hiển thị và cấu hình định tuyến, thiết bị, chính sách định tuyến | |
ss | Tiện ích socket để kiểm tra các socket | |
whois | Tra cứu thông tin tên miền và IP | |
fail2ban | Khung ngăn chặn xâm nhập để quét tệp nhật ký | |
bmon | Giám sát băng thông và thống kê mạng | |
dig | Công cụ tra cứu DNS | |
finger | Công cụ tra cứu thông tin người dùng | |
nmap | Công cụ thăm dò và kiểm tra bảo mật mạng | |
ftp | Giao thức truyền tệp | |
curl | Công cụ truyền dữ liệu với cú pháp URL | |
wget | Trình truy xuất tệp không tương tác từ web | |
who | Hiển thị những người đang đăng nhập | |
whoami | In ID người dùng hiệu dụng | |
w | Hiển thị những người đang đăng nhập và họ đang làm gì | |
iptables | Thiết lập, duy trì và kiểm tra các bảng bộ lọc gói IP | |
ssh-keygen | Tạo, quản lý và chuyển đổi khóa xác thực cho SSH | |
ufw | Tường lửa không phức tạp (uncomplicated firewall – giao diện thân thiện với người dùng cho iptables ). | |
arping | Gửi các gói ARP_REQUEST đến máy chủ mạng | |
firewalld | Dịch vụ tường lửa động để quản lý tường lửa |
10. Kết luận
Sử dụng nmap trên Linux để xem tất cả các thiết bị trong mạng là một kỹ năng mạnh mẽ, giúp bạn quản lý và bảo mật mạng một cách hiệu quả, từ việc phát hiện thiết bị lạ đến kiểm tra trạng thái kết nối. Với các bước hướng dẫn chi tiết, bạn có thể dễ dàng làm chủ công cụ này, biến nó thành trợ thủ đắc lực trong việc giám sát và tối ưu hóa mạng. Hy vọng bài viết này đã giúp bạn tự tin sử dụng nmap, sẵn sàng khám phá và bảo vệ mạng của mình một cách chuyên nghiệp!
Xem thêm: Hướng dẫn cách tắt tổng quan AI trên Google tìm kiếm bằng Chrome và Edge cho Windows 11
Hãy ghé qua COHOTECH để khám phá các thiết bị công nghệ mạnh mẽ hỗ trợ làm việc với Linux và nmap, cùng bộ sưu tập laptop, PC và phụ kiện chất lượng cao. Với đội ngũ chuyên gia tận tâm và dịch vụ hỗ trợ kỹ thuật chuyên nghiệp, COHOTECH cam kết mang đến giải pháp tối ưu và những ưu đãi hấp dẫn để bạn chinh phục mọi thử thách công nghệ. Theo dõi chúng tôi để cập nhật thêm nhiều mẹo công nghệ hữu ích và sản phẩm độc quyền!
Bạn đã thử dùng nmap để kiểm tra mạng của mình chưa? Hãy chia sẻ kinh nghiệm hoặc đặt câu hỏi trong phần bình luận bên dưới nhé! Nếu bài viết này hữu ích, đừng quên like, share và lan tỏa đến bạn bè để cùng khám phá sức mạnh của nmap trên Linux. Cảm ơn bạn đã đọc và hẹn gặp lại!