Hầu hết mọi người nghĩ rằng việc kiểm tra các cổng mở là nhiệm vụ chỉ dành cho các chuyên gia bảo mật cho đến khi máy chủ của họ bị xâm phạm thông qua một cổng bị lộ mà họ thậm chí không biết là đang nghe lén. Bạn có thể kiểm tra các cổng đang mở trong Linux bằng các lệnh tích hợp như netstat, ss, lsof, nmap và netcat hoặc quét cổng từ xa bằng PowerShell từ hệ thống Windows. Mỗi phương pháp cung cấp các mức độ chi tiết khác nhau và yêu cầu các quyền khác nhau.
Quản lý cảng quan trọng hơn bao giờ hết. Các hoạt động trinh sát tự động tiếp tục gia tăng và những kẻ tấn công liên tục thăm dò các điểm xâm nhập dễ bị tổn thương. Cho dù bạn đang bảo mật máy chủ sản xuất hay thử nghiệm các dịch vụ cục bộ, việc nắm vững bảo mật cổng là điều cơ bản để duy trì một hệ thống an toàn và hoạt động tốt.
TL;DR: Tổng quan nhanh
- Sử dụng ss hoặc netstat để kiểm tra nhanh các cổng nghe mà không cần cài đặt thêm công cụ
- Triển khai nmap khi bạn cần quét cổng toàn diện với tính năng phát hiện dịch vụ chi tiết
- Sử dụng lsof để xác định quy trình cụ thể nào đang sử dụng một cổng cụ thể
- Sử dụng Test-NetConnection của PowerShell từ Windows để kiểm tra cổng trên máy chủ Linux từ xa
Một cổng trong điều kiện đơn giản là gì?

Hãy coi các cổng như những ô cửa được đánh số trên máy chủ của bạn. Mỗi cổng đóng vai trò là điểm cuối liên lạc, nơi lưu lượng truy cập mạng vào hoặc ra khỏi hệ thống của bạn. Số cổng nằm trong khoảng từ 0 đến 65.535, được chia thành ba loại: cổng nổi tiếng (0-1023), cổng đã đăng ký (1024-49151) và cổng động (49152-65,535).
Nói một cách đơn giản hơn, khi bạn duyệt một trang web, trình duyệt của bạn sẽ gõ cổng 80 cho HTTP hoặc cổng 443 cho HTTPS. Máy chủ email trả lời tại cổng 25 cho SMTP, trong khi truy cập từ xa SSH hoạt động trên cổng 22. Các cổng nghe này hoạt động như cổng cho lưu lượng truy cập hợp pháp nhưng chúng cũng có thể trở thành điểm truy cập cho kẻ tấn công nếu không được bảo vệ.
Các cổng hoạt động cùng với hai giao thức truyền tải chính: TCP để liên lạc theo hướng kết nối, đáng tin cậy và UDP để truyền dữ liệu nhanh hơn, không cần kết nối. Hiểu cách hoạt động của cổng giúp bạn đưa ra quyết định sáng suốt về việc cổng nào nên mở và cổng nào nên đóng để bảo mật tốt hơn.
Cách kiểm tra các cổng đang mở trong Linux

Linux cung cấp một số công cụ mạnh mẽ để phân tích cổng, mỗi công cụ đều có những ưu điểm riêng biệt. Một số được cài đặt sẵn, trong khi một số khác yêu cầu cài đặt. Việc chọn công cụ phù hợp tùy thuộc vào cấp độ quyền, chi tiết bắt buộc và trường hợp sử dụng cụ thể của bạn.
Sử dụng lệnh netstat
Lệnh netstat đã là một công cụ đáng tin cậy để phân tích mạng trong nhiều thập kỷ. Để kiểm tra các cổng đang mở, hãy sử dụng netstat -tuln trong đó mỗi cờ phục vụ một mục đích cụ thể: -t hiển thị các kết nối TCP, -u hiển thị các kết nối UDP, -l chỉ lọc các cổng nghe và -n trình bày kết quả ở định dạng số thay vì phân giải tên máy chủ.
Khi chạy lệnh này, bạn sẽ thấy đầu ra hiển thị giao thức, địa chỉ cục bộ cùng với số cổng, địa chỉ nước ngoài và trạng thái kết nối. Ví dụ, 0.0.0.0:22 cho biết SSH đang lắng nghe trên tất cả các giao diện mạng trên cổng 22. Mỗi mục nhập cung cấp khả năng hiển thị ngay lập tức về các dịch vụ đang hoạt động và trạng thái mạng của chúng.
các Lệnh netstat Linux cung cấp các cờ bổ sung để phân tích chi tiết hơn. Việc thêm -p hiển thị tiến trình nào sở hữu từng kết nối, mặc dù điều này yêu cầu quyền root. Ví dụ, sudo netstat -tulnp hiển thị cả cổng và ID tiến trình sử dụng nó.
Sử dụng lệnh ss
Lệnh ss đóng vai trò là sự thay thế hiện đại cho netstat, mang lại hiệu suất vượt trội và số liệu thống kê ổ cắm chi tiết hơn. Sử dụng ss -tuln có cùng cờ với netstat để có đầu ra tương đương. Tuy nhiên, ss xử lý thông tin nhanh hơn, đặc biệt là trên các hệ thống có nhiều kết nối.
Để kiểm tra các cổng đang mở bằng tính năng lọc nâng cao, ss cung cấp các tùy chọn cú pháp mạnh mẽ. Đang chạy ss -tulnp | grep :22 chỉ hiển thị các kết nối liên quan đến SSH. Lệnh trạng thái ss -tn được thành lập hiển thị tất cả các kết nối TCP đã thiết lập, giúp bạn giám sát các phiên hoạt động.
Một ưu điểm của ss là khả năng lọc theo tiêu chí cụ thể. Ví dụ, ss -t '( dport = :80 hoặc sport = :80 )' chỉ hiển thị các kết nối liên quan đến lưu lượng truy cập web trên cổng 80. Độ chính xác này khiến ss trở nên vô giá trong việc khắc phục sự cố dịch vụ cụ thể.
Sử dụng lệnh lsof
Lệnh lsof có khả năng xác định quá trình nào đang sử dụng một cổng cụ thể. Đang chạy sudo lsof -i -P -n hiển thị tất cả các kết nối mạng với các chi tiết quá trình. Cờ -i lọc các kết nối internet, -P ngăn chuyển đổi số cổng thành tên dịch vụ và -n bỏ qua độ phân giải DNS để có kết quả nhanh hơn.
Khi bạn cần tìm những gì đang sử dụng một cổng cụ thể, lsof sẽ cung cấp câu trả lời. Ví dụ, sudo lsof -i :3306 tiết lộ liệu MySQL có đang chạy hay không và ID tiến trình nào sở hữu nó. Điều này trở nên quan trọng khi khắc phục sự cố xung đột cổng hoặc xác định các dịch vụ trái phép.
Bạn cũng có thể lọc kết quả theo ứng dụng cụ thể. Nếu bạn nghi ngờ một chương trình cụ thể đang nghe trên các cổng không mong muốn, sudo lsof -i -a -p [PID] hiển thị tất cả các kết nối mạng cho ID tiến trình cụ thể đó.
Sử dụng Nmap để quét cổng

Nmap là một trong những công cụ quét cổng toàn diện nhất hiện có. Đầu tiên, cài đặt nó với sudo apt cài đặt nmap trên hệ thống Ubuntu hoặc Debian. Để kiểm tra cổng cục bộ, hãy sử dụng nmap localhost or nmap 127.0.0.1 để quét cơ bản.
Đối với máy chủ từ xa, chỉ định địa chỉ IP: nmap 192.168.1.100. Nmap cung cấp thông tin chi tiết về các cổng mở, phiên bản dịch vụ và thậm chí cả khả năng phát hiện hệ điều hành bằng các cờ nâng cao. Lệnh nmap -sV localhost thực hiện phát hiện phiên bản dịch vụ, tiết lộ chính xác phần mềm nào đang chạy trên mỗi cổng.
Các nhóm bảo mật đánh giá cao khả năng kiểm tra các quy tắc tường lửa của Nmap. Đang chạy nmap -Pn [IP] quét máy chủ ngay cả khi ping bị chặn. Tuy nhiên, hãy luôn đảm bảo bạn có quyền trước khi quét máy chủ từ xa vì việc quét cổng trái phép có thể vi phạm chính sách bảo mật.
Sử dụng Netcat (nc) để kiểm tra các cổng đang mở
Netcat cung cấp một cách tiếp cận đơn giản để kiểm tra cổng với chi phí tối thiểu. Lệnh nc -zv localhost 22-80 quét phạm vi cổng từ 22 đến 80, hiển thị cổng nào chấp nhận kết nối. Cờ -z cho phép chế độ quét mà không gửi dữ liệu, trong khi -v cung cấp đầu ra dài dòng.
Để xác minh một cổng, nc -zv tên máy chủ 443 nhanh chóng xác nhận xem HTTPS có thể truy cập được hay không. Phương pháp này tỏ ra hữu ích trong các tập lệnh và quy trình tự động hóa. Bạn có thể kết hợp netcat với các vòng shell để quét rộng hơn: cho cổng trong {1..1000}; làm nc -zv localhost $port 2>&1 | grep đã thành công; xong
các người nghe netcat chức năng này mở rộng ra ngoài việc kiểm tra cổng đến kiểm tra dịch vụ thực tế và truyền dữ liệu, khiến nó trở thành một công cụ linh hoạt trong bộ công cụ của bất kỳ quản trị viên nào.
Sử dụng PowerShell để kiểm tra các cổng đang mở
PowerShell cho phép người dùng Windows kiểm tra các cổng mở trên máy chủ Linux từ xa mà không cần cài đặt phần mềm bổ sung. Lệnh Test-NetConnection -ComputerName [Linux-IP] -Cổng 22 xác minh khả năng truy cập SSH từ máy Windows.
Để quét nhiều cổng, hãy tạo một vòng lặp PowerShell đơn giản: 1..1024 | ForEach-Object { Test-NetConnection -ComputerName 192.168.1.100 -Port $_ -WarningAction SilentlyContinue } | Đối tượng ở đâu { $_.TcpTestSucceeded }. Phương pháp này hoạt động hiệu quả khi kiểm tra các cổng trên Ubuntu, Debian hoặc bất kỳ bản phân phối Linux nào khác từ hệ thống Windows.
Ưu điểm của PowerShell nằm ở khả năng tích hợp với cơ sở hạ tầng Windows. Bạn có thể xuất kết quả sang CSV, gửi thông báo qua email hoặc kích hoạt phản hồi tự động dựa trên trạng thái cổng, lý tưởng cho việc giám sát môi trường kết hợp.
So sánh phương pháp quét cổng
| Dụng cụ | Cú pháp lệnh | Tốt nhất cho | Điều kiện tiên quyết |
| netstat | netstat -tuln | Tổng quan nhanh về các cổng nghe | Được cài đặt sẵn trên hầu hết các hệ thống |
| ss | ss -tuln | Hiệu suất nhanh, thông tin ổ cắm chi tiết | Được cài đặt sẵn (Linux hiện đại) |
| lsof | sudo lsof -i -P -n | Tìm quá trình nào sử dụng một cổng | Yêu cầu quyền truy cập root/sudo |
| nmap | nmap localhost | Quét cổng toàn diện | Phải cài riêng |
| mèo mạng | cổng máy chủ nc -zv | Kiểm tra kết nối cổng đơn giản | Cài đặt sẵn hoặc cài đặt dễ dàng |
| PowerShell | Kết nối mạng thử nghiệm | Quét từ xa từ Windows | Cần có máy Windows |
Các cổng Linux phổ biến và các dịch vụ liên quan của chúng
| Cảng | Dịch vụ | Giao thức | Sử dụng chung |
| 22 | SSH | TCP | Bảo mật truy cập từ xa thông qua Kết nối từ xa SSH |
| 80 | HTTP | TCP | Lưu lượng truy cập web không được mã hóa |
| 443 | HTTPS | TCP | Lưu lượng truy cập web được mã hóa |
| 21 | FTP | TCP | Chuyển tập tin |
| 25 | SMTP | TCP | Gửi email |
| 3306 | MySQL | TCP | Kết nối cơ sở dữ liệu |
| 5432 | PostgreSQL | TCP | Kết nối cơ sở dữ liệu |
Cấu hình cổng yêu cầu kiến thức về cài đặt tường lửa và các ràng buộc dịch vụ. Nhiều quản trị viên thay đổi cổng SSH trong Linux từ cổng mặc định 22 sang cổng không chuẩn để giảm các nỗ lực tấn công tự động. các Telnet so với SSH cuộc tranh luận nêu bật lý do tại sao cổng 23 (Telnet) nên vẫn đóng để ủng hộ giao thức SSH được mã hóa của cổng 22.
Hiểu các cổng mở trong Linux

Mỗi cổng mở đại diện cho một điểm truy cập tiềm năng vào hệ thống của bạn. Ý nghĩa bảo mật đã tăng lên, với hoạt động quét cổng tự động tăng lên 16,7% trên toàn cầu, khi các tác nhân đe dọa liên tục thăm dò các điểm xâm nhập dễ bị tấn công. Các hoạt động trinh sát này quét hàng tỷ cổng hàng tháng, tìm kiếm các dịch vụ bị định cấu hình sai hoặc phần mềm lỗi thời.
Công bằng mà nói, nhưng điều gì thực sự xảy ra khi kẻ tấn công tìm thấy một cổng mở? Các bang cảng kể cho bạn câu chuyện. Một cổng ở trạng thái LISTEN chấp nhận các kết nối đến, ESTABLISHED biểu thị quá trình truyền dữ liệu đang hoạt động và TIME_WAIT hiển thị kết nối đã đóng gần đây nhưng vẫn được theo dõi. Những kẻ tấn công khai thác các cổng mở thông qua nhiều phương pháp khác nhau: tấn công vũ phu vào SSH (cổng 22), chèn SQL qua cổng web (80/443) và thực thi mã từ xa thông qua các dịch vụ dễ bị tấn công.
Việc mở cổng một cách an toàn đòi hỏi một cách tiếp cận phòng thủ theo chiều sâu. Bắt đầu với chính sách tường lửa từ chối mặc định. Xác minh cấu hình của bạn với iptables hiển thị quy tắc. Chỉ mở cổng cho các dịch vụ bạn thường xuyên sử dụng và đóng chúng ngay lập tức khi không còn cần thiết. Hãy cân nhắc việc thay đổi cổng mặc định cho các dịch vụ phổ biến để giảm khả năng quét tự động thành công.
Hệ sinh thái Linux phải đối mặt với những thách thức bảo mật đáng kể, với hàng trăm lỗ hổng cần được vá lỗi. Kiểm tra cổng thường xuyên giúp bạn phát hiện các dịch vụ trái phép trước khi kẻ tấn công thực hiện. Sử dụng các công cụ truyền tệp tôn trọng ranh giới bảo mật, chẳng hạn như sao chép tập tin qua SSH thay vì FTP không được mã hóa. Khi di chuyển tập tin giữa các hệ thống, sử dụng SCP để sao chép tập tin từ xa sang hệ thống cục bộ cung cấp chuyển mã hóa qua kênh bảo mật của SSH.
Các phương pháp hay nhất bao gồm triển khai tính năng gõ cổng cho các dịch vụ nhạy cảm, sử dụng Fail2ban để chặn các lỗi xác thực lặp lại và duy trì nhật ký chi tiết về các lần thử kết nối. Lên lịch kiểm tra bảo mật thường xuyên để xem xét cổng nào vẫn mở và liệu chúng có còn phục vụ các mục đích hợp pháp hay không.
VPS Linux của Cloudzy đơn giản hóa việc quản lý cổng như thế nào
Việc quản lý cổng trở nên dễ dàng hơn đáng kể với cơ sở hạ tầng được cấu hình tốt. Cloudzy's VPS Linux các giải pháp cung cấp các cài đặt bảo mật được cấu hình sẵn bao gồm các quy tắc tường lửa thông minh và quản lý cổng hợp lý thông qua bảng điều khiển trực quan. Với quyền truy cập root đầy đủ, bạn duy trì toàn quyền kiểm soát việc mở hoặc đóng cổng nào.
Hãy sở hữu cho mình một VPS Linux cao cấp hoặc tiết kiệm để lưu trữ trang web hoặc máy tính từ xa của bạn với mức giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ lưu trữ SSD NVMe để tăng tốc độ.
Đọc thêmVấn đề hiệu suất khi kiểm tra và quản lý cổng. Bộ lưu trữ NVMe của Cloudzy đảm bảo các công cụ quét cổng của bạn chạy hiệu quả, đồng thời kết nối lên tới 10 Gbps xử lý lưu lượng truy cập khối lượng lớn mà không bị tắc nghẽn. Cơ sở hạ tầng được hưởng lợi từ thực tế là Linux cung cấp một phần đáng kể cơ sở hạ tầng máy chủ toàn cầu, khiến cho các cấu hình được tối ưu hóa này trở nên đáng tin cậy và được thử nghiệm trong chiến đấu.
Bắt đầu chỉ với 3,96 USD hàng tháng, bạn sẽ có được một môi trường chuyên nghiệp hoàn hảo để thực hành các kỹ thuật quản lý cảng. Nhiều vị trí trung tâm dữ liệu cho phép bạn kiểm tra các thiết lập được phân bổ theo địa lý, đồng thời hỗ trợ 24/7 hỗ trợ các cấu hình tường lửa phức tạp hoặc khắc phục sự cố liên quan đến cổng. Cho dù bạn đang tìm hiểu cách kiểm tra các cổng mở trong Linux hay triển khai các dịch vụ sản xuất, việc có môi trường VPS linh hoạt sẽ tăng tốc quá trình triển khai bảo mật của bạn.
Phần kết luận
Vậy cách tốt nhất để kiểm tra các cổng đang mở là gì? Nói một cách khá rõ ràng, không có một cái nào cả. Để kiểm tra cục bộ nhanh chóng, ss hoặc netstat hoàn thành công việc mà không gặp rắc rối. Khi bạn cần kiểm tra bảo mật toàn diện, Nmap sẽ tiết lộ mọi thứ. Để theo dõi quá trình nào sở hữu một cổng, lsof giúp tiết kiệm hàng giờ đoán. PowerShell kết nối Windows và Linux khi bạn cần xác minh từ xa.
Bài học thực sự ở đây không phải là ghi nhớ các lệnh. Đó là việc biến việc kiểm tra cổng thành một thói quen thay vì phản ứng hoảng loạn. Lên lịch quét hàng tuần, đóng các cổng không sử dụng ngay khi bạn phát hiện ra chúng và ghi lại dịch vụ nào cần cổng nào. Cách tiếp cận đó biến việc kiểm tra cảng từ chữa cháy phản ứng thành phòng thủ chủ động.