• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Quản trị hệ thống Linux OS

Cách kiểm tra các cổng mở trong Linux

@admiz by @admiz
08/05/2021
in Linux OS, Quản trị hệ thống
0
Cách Kiểm Tra Các Cổng Mở Trong Linux 6094e9b310ae6.jpeg

Khi đang khắc phục sự cố mạng hoặc tìm cách cải thiện bảo mật cho máy tính Linux, bạn cần biết cổng nào đang mở. Bài viết này sẽ chỉ cho bạn một số cách để kiểm tra cổng mở trong Linux.

Cổng (port) là gì?

Một cổng là một số 16-bit (0-65.535) để giúp xác định một ứng dụng nhất định hoặc tiến trình trên hệ điều hành Linux (Unix). Mỗi một ứng dụng có cổng khác nhau trên hệ thống Linux.

Dưới đây là các loại cổng khác nhau :

  • 0 – 1023 – Được gọi là cổng phổ biến (Well Known Port)
  • 1024 – 49151 – Được gọi là cổng đăng ký (Registered Port)
  • 49152 – 65535 – Được gọi là cổng động (Dynamic Port)

Sử dụng lệnh sau để hiển thị danh sách các ứng dụng và cổng trên Terminal:

cat /etc/services

Danh sách cổng và ứng dụng

TCP: TCP là viết tắt của Transmission Control Protocol. Đây là giao thức được sử dụng phổ biến nhất trên Internet. TCP không chỉ giao tiếp một chiều, thay vào đó nó sẽ gửi các gói trở lại để xác nhận rằng nó nhận được các gói tin của bạn.

UDP: viết tắt của User Datagram Protocol. Nó là một giao thức giao tiếp thay thế cho TCP. Giao thức UDP hoạt động tương tự như TCP. Tuy nhiên, nó bỏ qua tất cả các công cụ kiểm tra lỗi. UDP cần thiết khi muốn tăng tốc mà không quan tâm đến sửa lỗi.

SOCKET: Socket cho phép giao tiếp từ hai tiến trình khác nhau trên cùng một máy hoặc trên các máy khác nhau.

  • Làm thế nào để bảo vệ các cổng mạng có tính rủi ro cao?

Hãy xem xét các cách khác nhau để liệt kê một cổng mở trong Linux.

1. Lệnh Netstat

Trong phương thức này, chúng ta sẽ sử dụng lệnh netstat -atu để kiểm tra các cổng mở trong Linux.

Sử dụng lệnh netstat -atu

Ở đây chúng ta sử dụng cờ -a, -t và -u cho netstat.

  • -a: hiển thị tất cả các socket
  • -t: hiển thị kết nối TCP
  • -u: hiển thị kết nối UDP

Bạn cũng có thể thêm cờ -p để hiển thị PID của tên chương trình hoặc tiến trình liên quan.

Hiển thị PID của tên chương trình hoặc tiến trình liên quan

Để chỉ hiển thị các cổng UDP, bạn có thể sử dụng lệnh sau:

netstat -vaun

Sử dụng lệnh netstat -vaun

Ngoài ra, bạn có thể sử dụng lệnh sau để tìm kiếm các cổng TCP:

netstat -vatn

Sử dụng lệnh netstat -vatn

2. Lệnh lsof

Thay vì sử dụng netstat, chúng ta có thể sử dụng lệnh lsof để hiển thị các cổng mở trong Linux:

lsof -i

Sử dụng lệnh lsof -i

Lệnh sau cũng có thể hiển thị các socket mở:

lsof -n -P | grep LISTEN

Sử dụng lệnh lsof -n -P | grep LISTEN

Ngoài ra, bạn có thể sử dụng lệnh dưới đây để liệt kê tất cả các kết nối TCP:

lsof -i tcp

Sử dụng lệnh lsof -i tcp

Bạn có thể sử dụng lệnh sau đây cho các kết nối UDP:

lsof -i udp

3. Lệnh ánh xạ mạng

Trong phương pháp này, chúng ta sẽ sử dụng nmap để phát hiện cổng mở trên hệ thống Linux. Sử dụng lệnh sau để hiển thị các kết nối cổng TCP:

nmap -sT -O localhost

Sử dụng lệnh nmap -sT -O localhost

Cuối cùng, để hiển thị các kết nối cổng UDP, chúng ta có thể sử dụng lệnh sau:

nmap -sU localhost

Sử dụng lệnh nmap -sU localhost

4. Kiểm tra các cổng mở bằng netcat

Netcat (hay nc) là một công cụ dòng lệnh có thể đọc và ghi dữ liệu qua các kết nối mạng, sử dụng giao thức TCP hoặc UDP.

Với netcat, bạn có thể quét một cổng hoặc một dải cổng.

Kiểm tra các cổng mở bằng netcat
Kiểm tra các cổng mở bằng netcat

Ví dụ, để quét các cổng TCP đang mở trên một máy từ xa có địa chỉ IP 10.10.8.8 trong phạm vi 20 – 80, bạn sẽ sử dụng lệnh sau:

nc -z -v 10.10.8.8 20-80

Tùy chọn -z yêu cầu nc chỉ quét các cổng đang mở mà không gửi bất kỳ dữ liệu nào và -v là để biết thêm thông tin chi tiết.

Đầu ra sẽ giống như sau:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
...
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Nếu bạn chỉ muốn xuất các dòng có cổng mở trên màn hình, hãy lọc kết quả bằng lệnh grep.

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Để quét các cổng UDP, hãy đưa tùy chọn -u vào lệnh nc:

nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded

5. Kiểm tra các cổng đang mở bằng Bash Pseudo Device

Một cách khác để kiểm tra xem một cổng nhất định đang mở hay đã đóng là sử dụng Bash shell pseudo-device /dev/tcp/.. hoặc /dev/udp/...

Khi thực thi lệnh trên pseudo-device /dev/$PROTOCOL/$HOST/$IP, Bash sẽ mở kết nối TCP hoặc UDP đến host trên cổng được chỉ định.

Câu lệnh if..else sau đây sẽ kiểm tra xem cổng 443 trên kernel.org có đang mở hay không:

if timeout 5 bash -c '/tcp/kernel.org/443 &>/dev/null'
then
echo "Port is open"
else
echo "Port is closed"
fi

Đầu ra:

Port is open

Đoạn code trên hoạt động như thế nào?

Khi kết nối với một cổng bằng pseudo-device (pseudo-device thường nằm trong /dev, giống như file thiết bị, nhưng thay vì đóng vai trò là cầu nối giữa hệ điều hành và phần cứng, chúng là driver thiết bị (mà không có thiết bị thực tế), thường phục vụ một mục đích thực tế, chẳng hạn như tạo ra dữ liệu ngẫu nhiên hoặc hoạt động như một lỗ hổng ảo cho dữ liệu không mong muốn), thời gian chờ mặc định là rất lớn, vì vậy ví dụ đang sử dụng lệnh timeout để hủy lệnh test sau 5 giây. Nếu kết nối được thiết lập đến cổng 443 kernel.org, lệnh test sẽ trả về true.

Để kiểm tra một dải cổng, hãy sử dụng vòng lặp for:

for PORT in {20..80 ; do
timeout 1 bash -c "/tcp/10.10.8.8/$PORT &>/dev/null" && echo "port $PORT is open"
done

Đầu ra sẽ giống như sau:

port 22 is open
port 80 is open

Khi nói đến bảo mật của máy tính Linux, điều đầu tiên cần làm là đóng tất cả các cổng không cần thiết để ngăn chặn truy cập bên ngoài. Với các phương thức được liệt kê ở trên, bạn sẽ có thể dễ dàng kiểm tra các cổng mở trên hệ thống Linux và xác định cổng nào sẽ đóng hoặc mở.

Chúc các bạn thực hiện thành công!

Xem thêm:

  • Hướng dẫn thao tác với mạng cho người dùng Linux: 11 câu lệnh cần biết
  • 5 công cụ kiểm tra mạng Linux
  • Kiểm tra lưu lượng mạng Linux bằng vnStat
  • Cách vô hiệu hóa cổng USB trên Windows, Mac và Linux
  • Cách kiểm tra lịch sử sudo trong Linux
  • Cách làm stress test trên hệ thống Linux
  • Cách kiểm soát mạng WiFi trong Linux
  • Cách kiểm tra tất cả các service đang chạy trong Linux
  • 8 cách kiểm tra nhanh tình trạng website trên Linux
Post Views: 117
Previous Post

Linus Torvalds công bố Linux 5.8 với hàng loạt “cải tiến nhỏ làm nên bản cập nhật lớn”

Next Post

Sửa lỗi WiFi không hoạt động trên Ubuntu

Related Posts

Quicktime Player Logo650 1
macOS

Cách ghép video trên macOS bằng QuickTime Player

26/12/2021
Kali Linux 2021 4 700 1
Linux

Kali Linux 2021.4: Thêm 9 công cụ mới và hỗ trợ tốt hơn cho Apple M1

26/12/2021
Openbsd La Gi 1
Linux

OpenBSD là gì? Đây là mọi thứ bạn cần biết về hệ điều hành này!

26/12/2021
Mac Os Xoa Ung Dung Cai Dat Logo640 1
macOS

Cách gỡ, xóa ứng dụng trên Mac OS

26/12/2021
Tim Thu Vien Anh Photos Library Tren May Mac700 1
macOS

Hướng dẫn tìm thư viện ảnh Photos Library trên máy Mac

26/12/2021
So Sanh Macbook Pro Macbook Air Va Ipad Pro 1
macOS

So sánh MacBook Pro 13 inch với MacBook Air và iPad Pro

26/12/2021
Next Post
Sửa Lỗi Wifi Không Hoạt động Trên Ubuntu 6094e9809f85b.jpeg

Sửa lỗi WiFi không hoạt động trên Ubuntu

Bài mới nhất

Tổng Hợp 10 Mẫu Email Marketing Giới Thiệu Sản Phẩm Nổi Bật Nhất Hiện Nay 612d0da97658c.png

Tổng hợp 10 mẫu email marketing giới thiệu sản phẩm nổi bật nhất hiện nay

07/05/2025
Dịch Vụ Thiết Kế Website Tại Hải Dương Chuyên Nghiệp, ấn Tượng Và Uy Tín 612d25752b14f.png

Dịch vụ thiết kế website tại Hải Dương chuyên nghiệp, ấn tượng và uy tín

06/05/2025
Top Công Ty Thiết Kế Website Tại Biên Hòa Chuyên Nghiệp, Chuẩn Seo 612d259494e93.jpeg

Top công ty thiết kế website tại Biên Hòa chuyên nghiệp, chuẩn SEO

06/05/2025
Top Công Ty Thiết Kế Website Tại Vinh – Nghệ An Uy Tín 612d259a9cae3.jpeg

Top công ty thiết kế website tại Vinh – Nghệ An uy tín

05/05/2025
Top 10 Công Ty Thiết Kế Website Tại Nha Trang Chuyên Nghiệp 612d0a9ad018b.jpeg

Top 10 công ty thiết kế website tại Nha Trang chuyên nghiệp

05/05/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution