Kiểm tra port

Kiểm tra port (cổng) đang mở trên địa chỉ IP của chính bạn hoặc trên bất kỳ máy chủ nào, test port forwarding và quét tới 30 port cùng lúc. Mỗi port trả về trạng thái mở, đóng hoặc bị lọc kèm ý nghĩa của trạng thái đó, thời gian phản hồi, banner của dịch vụ và nơi thực hiện kiểm tra.

Kiểm tra qua TCP từ edge Cloudflare gần bạn nhất, và từ máy chủ riêng của chúng tôi tại Mumbai cho port 25 và các website dùng Cloudflare · IPv4 · không lưu lại gì

Cách check port: làm sao biết một port có đang mở?

Nhập địa chỉ và port, rồi chọn Kiểm tra. Công cụ kiểm tra port mở một kết nối TCP tới port đó từ internet, giống cách một người truy cập hay một game client kết nối, và báo lại kết quả: kết nối được chấp nhận (mở), bị từ chối (đóng) hoặc không có phản hồi nào (bị lọc).

Đang test port forwarding? IP công cộng của bạn đã được điền sẵn: hãy khởi động máy chủ, kiểm tra port của nó, và nếu port chưa mở, kết quả sẽ cho biết cần sửa gì. Với một máy chủ, hãy nhập hostname và chọn một nhóm port có sẵn để quét các port thông dụng trong một lần.

Kết quả kiểm tra port: port 25565 đang mở trên IP gia đình, quá trình bắt tay TCP và danh sách các port đã kiểm traKết quả kiểm tra port: port 25565 đang mở trên IP gia đình, quá trình bắt tay TCP và danh sách các port đã kiểm traKết luậnTrạng thái của port trong một dòng, và ý nghĩa của nó với máy chủ hoặc quy tắc forwarding.Quá trình bắt tayCông cụ của chúng tôi đã gửi gì và nhận lại gì: kết nối được chấp nhận, lời từ chối hay im lặng, kèm thời gian.Nơi kiểm traEdge Cloudflare gần bạn nhất, hoặc máy chủ riêng của chúng tôi cho port 25 và các website dùng Cloudflare.Mọi port trong một lần quétTừng port kèm dịch vụ, banner mà nó gửi và trạng thái, các port rủi ro được đánh dấu.
Test port forwarding cho một máy chủ Minecraft: trạng thái, quá trình bắt tay TCP phía sau và nơi thực hiện kiểm tra. Chọn một số để xem từng phần thể hiện điều gì.

Mở, đóng hay bị lọc: kết quả kiểm tra port có nghĩa là gì?

Một kết nối TCP bắt đầu bằng quá trình bắt tay (handshake): công cụ của chúng tôi gửi một gói SYN, và thứ quay về quyết định trạng thái. Những công cụ kiểm tra port coi hết thời gian chờ là "đóng" đã che mất đúng điểm khác biệt cho bạn biết sự cố nằm ở đâu.

Quá trình kiểm tra

TCP 25565 · Minecraft Java
  1. SYNtới 203.0.113.7:255650 ms
  2. SYN-ACKport đã chấp nhận kết nối38 ms
  3. ACKkết nối đã mở38 ms
  4. …không có gì trong 1,5 s: dịch vụ chờ client lên tiếng trước
  5. FINchúng tôi đóng kết nối
MởSYN → SYN-ACK

Có chương trình đang lắng nghe trên port và đã chấp nhận kết nối. Không có gì giữa internet và máy chủ chặn nó.

Port forwarding hoạt động. Nếu người chơi vẫn không vào được, hãy kiểm tra cài đặt của chính game hoặc địa chỉ họ dùng.

Quá trình kiểm tra

TCP 32400 · Plex
  1. SYNtới 203.0.113.7:324000 ms
  2. RSTbị từ chối: không có gì lắng nghe, hoặc tường lửa ở đó được đặt để từ chối41 ms
ĐóngSYN → RST

Địa chỉ đã trả lời và từ chối kết nối: không có gì lắng nghe trên port, hoặc tường lửa ở đó được đặt để từ chối. Dù là trường hợp nào, bản thân địa chỉ vẫn truy cập được.

Router đã chuyển kết nối đi (hoặc tự trả lời) nhưng không có chương trình nào nhận: hãy khởi động máy chủ, rồi kiểm tra địa chỉ nội bộ và port trong quy tắc.

Quá trình kiểm tra

TCP 25565 · Minecraft Java
  1. SYNtới 203.0.113.7:255650 ms
  2. …không có SYN-ACK, không có RST trong 4,0 s4,0 s
Bị lọcSYN → không phản hồi

Không có phản hồi trong 4 giây. Tường lửa đã âm thầm chặn kết nối, hoặc không có gì trên đường đi chuyển tiếp nó.

Trường hợp thường gặp khi thiếu quy tắc forwarding, port bị chặn trong tường lửa của thiết bị, CGNAT hoặc nhà mạng chặn port.

Không truy cập được nghĩa là mạng báo không có tuyến đường tới địa chỉ. Chưa kiểm tra nghĩa là lần này máy chủ thứ hai của chúng tôi không chạy được lượt kiểm tra; trường hợp này không bao giờ được tính là đóng.

Cách test port forwarding: làm sao biết đã mở port thành công?

Hãy kiểm tra từ bên ngoài mạng của bạn, khi máy chủ đang chạy: port mở trên IP công cộng và port đã forward nghĩa là quy tắc, tường lửa và máy chủ đều hoạt động. Kiểm tra từ bên trong mạng của chính bạn có thể thất bại dù mọi thứ đều đúng, vì nhiều router không vòng lưu lượng ngược về chính nó.

  1. 1

    Khởi động máy chủ

    Máy chủ game, Plex hoặc camera phải đang chạy: port không có gì lắng nghe sẽ đóng, dù quy tắc hoàn hảo.

  2. 2

    Ghi lại địa chỉ nội bộ của thiết bị

    Tìm trong phần cài đặt mạng của thiết bị (ví dụ 192.168.1.20) và đặt trước địa chỉ đó trong router để nó không thay đổi.

  3. 3

    Thêm quy tắc forwarding

    Trong router: port ngoài, giao thức TCP (hoặc TCP và UDP), địa chỉ nội bộ của thiết bị và port của nó.

  4. 4

    Cho phép trong tường lửa của thiết bị

    Windows sẽ hỏi vào lần đầu một máy chủ khởi động; nếu không, hãy thêm một quy tắc chiều vào (inbound) cho port.

  5. 5

    Kiểm tra IP công cộng của bạn tại đây

    Chọn **Kiểm tra** khi IP của bạn đã được điền sẵn. Mở nghĩa là port hoạt động từ mọi nơi trên internet.

Đường đi của một kết nối, và nơi nó có thể dừng lại
Internetcông cụ kiểm tra
1
2Router của bạnĐịa chỉ công cộng · 203.0.113.7Quy tắc 25565 → 192.168.1.20:25565
3Thiết bị của bạn192.168.1.20Máy chủ trên port 25565
  1. 1CGNAT hoặc port bị nhà mạng chặnhiển thị là bị lọc
  2. 2Chưa có quy tắc, sai địa chỉ nội bộ, NAT képhiển thị là bị lọc, đôi khi đóng
  3. 3Tường lửa, máy chủ đã dừng hoặc lắng nghe trên 127.0.0.1hiển thị là đóng hoặc bị lọc

Vì sao đã mở port (port forwarding) mà port vẫn đóng?

Tìm dòng khớp với những gì bạn thấy. Trạng thái là manh mối: đóng nghĩa là kết nối đã tới một thứ và bị nó từ chối, bị lọc nghĩa là kết nối bị lạc trên đường đi.

Chọn tình huống bạn gặp

ĐóngĐóng, dù máy chủ đang chạy

Nguyên nhân có thể

Máy chủ chỉ lắng nghe trên 127.0.0.1, hoặc quy tắc trỏ tới địa chỉ nội bộ hoặc port khác.

Cách xử lý

Đặt máy chủ lắng nghe trên 0.0.0.0 (mọi địa chỉ) và đối chiếu quy tắc với địa chỉ hiện tại của thiết bị.

ĐóngĐóng, máy chủ đang tắt

Nguyên nhân có thể

Không có gì lắng nghe: router chuyển tiếp kết nối và thiết bị từ chối nó.

Cách xử lý

Khởi động máy chủ, rồi kiểm tra lại.

Bị lọcBị lọc, dù đã có quy tắc

Nguyên nhân có thể

Tường lửa của thiết bị chặn kết nối, hoặc quy tắc chỉ dành cho UDP.

Cách xử lý

Cho phép port trong tường lửa (Windows: một quy tắc inbound) và đặt quy tắc thành TCP hoặc cả hai.

Bị lọcBị lọc, địa chỉ WAN của router bắt đầu bằng 100.64–100.127

Nguyên nhân có thể

CGNAT: nhà mạng cho nhiều thuê bao dùng chung một địa chỉ công cộng, nên từ ngoài không tới được router của bạn.

Cách xử lý

Xin một địa chỉ IPv4 công cộng, dùng IPv6 hoặc một dịch vụ tunnel.

Bị lọcBị lọc, địa chỉ WAN của router là 192.168.x.x hoặc 10.x.x.x

Nguyên nhân có thể

NAT kép: một router thứ hai (thường là modem của nhà mạng) đứng trước router của bạn.

Cách xử lý

Forward port trên cả thiết bị đó, hoặc chuyển nó sang chế độ bridge.

Bị lọcChỉ bị lọc ở port 25, 80 hoặc 445

Nguyên nhân có thể

Nhà mạng chặn port này với kết nối gia đình.

Cách xử lý

Forward một port ngoài khác (8080, 2525) tới cùng máy chủ.

MởMở ở đây, nhưng không kết nối được từ trong mạng của bạn

Nguyên nhân có thể

Router không hỗ trợ NAT loopback (hairpinning), nên thiết bị bên trong không tới được địa chỉ công cộng của bạn.

Cách xử lý

Trong mạng nội bộ, hãy kết nối tới địa chỉ nội bộ của thiết bị; từ internet, port vẫn hiển thị là mở.

Mạng của tôi có bị CGNAT hay NAT kép (double NAT) không?

So sánh hai địa chỉ: địa chỉ WAN trên trang trạng thái của router và địa chỉ công cộng mà một website nhìn thấy (IP của bạn ở trên). Nếu hai địa chỉ trùng nhau, router của bạn kết nối thẳng ra internet và port forwarding có thể hoạt động.

Nếu địa chỉ của router nằm trong 100.64.0.0/10, nhà mạng đang dùng NAT cấp nhà mạng (CGNAT): nhiều thuê bao dùng chung một địa chỉ công cộng và không port nào trên đó thuộc về bạn. Nếu đó là địa chỉ riêng, có một router khác đứng trước router của bạn (NAT kép). Công cụ so sánh nằm dưới kết quả của một port sẽ đối chiếu hai địa chỉ giúp bạn.

Địa chỉ WAN của routerÝ nghĩaCách xử lý
Trùng với IP công cộng của bạnĐịa chỉ công cộng: internet tới được router của bạn.Port forwarding có thể hoạt động: hãy kiểm tra quy tắc, tường lửa và máy chủ.
100.64.0.0 – 100.127.255.255CGNAT: dải địa chỉ dùng chung dành cho nhà mạng (RFC 6598).Xin một địa chỉ IPv4 công cộng, dùng IPv6 hoặc tunnel.
10.x, 172.16–31.x, 192.168.xNAT kép: một địa chỉ riêng (RFC 1918) phía sau một router khác.Forward trên cả router thứ nhất, hoặc chuyển nó sang chế độ bridge.
Một địa chỉ công cộng khácLưu lượng đi ra qua một thiết bị khác hoặc qua VPN.Tìm xem thiết bị nào đứng trước router; tắt VPN.
Kết nối từ internet dừng ở đâu
  1. Địa chỉ công cộng
    Internet
    —không NAT
    ✓WAN 203.0.113.7
    192.168.1.20

    Đến được router của bạn: quy tắc forward của nó quyết định.

  2. CGNAT
    Internet
    ✕203.0.113.7dùng chung với nhiều khách hàng
    WAN 100.64.12.5
    192.168.1.20

    Dừng ở nhà mạng: địa chỉ dùng chung không phải của bạn để forward.

  3. NAT kép
    Internet
    ✕203.0.113.7router của nhà mạng
    WAN 192.168.0.2
    192.168.1.20

    Dừng ở router đầu tiên, trừ khi router đó cũng forward port.

Nhà mạng chặn những port nào?

Nhiều nhà mạng internet gia đình chặn một vài port, chủ yếu để ngăn thư rác và sâu máy tính, và một số không cho bạn kết nối IPv4 chiều vào nào cả. Danh sách dưới đây lấy từ tài liệu của chính từng nhà cung cấp (hoặc của cơ quan quản lý); những bên khác chặn port mà không công bố, nên nếu một port chỉ bị lọc trên kết nối của bạn thì nên hỏi nhà mạng.

Nhà cung cấpPort bị chặnGhi chú
Xfinity (Comcast) (US)25135–13916144552019000675471080Cả hai chiều, trừ 0, 67, 547 và 1080: chỉ bị chặn chiều về phía bạn. Port 80 và 443 không bị chặn.
AT&T (US)250191231351394455201900347975476100149152–51020Port 25 bị chặn chiều đi trên địa chỉ động, và một số port từ 49152 đến 51020 chỉ bị chặn chiều vào; phần còn lại bị chặn cả hai chiều.
Verizon Fios (US)25Chỉ chiều đi. Đây là port duy nhất Verizon nêu tên; họ không công bố danh sách đầy đủ.
Spectrum (US)01719135–1394455205931433143419006462364680Port 25 không có trong danh sách của họ.
Cox (US)2580135–13914344514331434190080, 143, 1433 và 1434 chỉ bị chặn chiều vào, nên không thể truy cập máy chủ web tại nhà trên port 80: hãy dùng một port ngoài khác.
Virgin Media (UK)135137138139445TCP và UDP, không thể tắt. Port 25 không có trong danh sách của họ.
Hyperoptic (UK)7547Được dành riêng trên router Hyperhub, nên không thể forward.
Starlink (toàn cầu)25445CGNAT25 và 445 bị chặn chiều đi. IPv4 của Starlink là CGNAT, không nhận kết nối chiều vào, và router của chính họ không forward được port; IPv4 công cộng chỉ có với các gói Priority.
Deutsche Glasfaser (DE)CGNATIPv6 cùng một IPv4 riêng dùng chung: không có IPv4 chiều vào, nên hãy forward trên IPv6.
Free (FR)IPv4IPv4 mặc định có thể bị dùng chung, chỉ với một phần port; hãy yêu cầu IPv4 cố định full-stack trong khu vực thuê bao Freebox để có mọi port.
Netia (PL)25443456725 chỉ bị chặn khi không có IP tĩnh; router của Netia giữ 443 và 4567 cho việc cập nhật và hỗ trợ từ xa, nên bạn không thể forward hai port này.
OCN, BIGLOBE, So-net, au, J:COM (JP)25Chiều đi, trừ tới máy chủ thư của chính nhà mạng (OP25B), với sự hậu thuẫn của cơ quan quản lý; hãy gửi thư qua port 587 hoặc 465.
Mọi nhà mạng băng rộng gia đình (BR)25Chiều đi trên đường truyền gia đình và IP động, theo thỏa thuận năm 2011 với Anatel và CGI.br; các port gửi thư (submission) vẫn mở.
AWS, Google Cloud, Azure, Oracle Cloud (đám mây)25Chiều đi, theo mặc định. AWS và Oracle gỡ chặn khi có yêu cầu, Google gỡ cho các dự án mà họ đánh giá rủi ro thấp; 587 vẫn mở.
DigitalOcean, Hetzner Cloud (đám mây)25465587Chiều đi. DigitalOcean chặn cả ba; Hetzner chặn 25 và 465 và gỡ chặn khi có yêu cầu sau tháng trả phí đầu tiên.

Port 25 là port bị nhà mạng và nhà cung cấp đám mây chặn thường xuyên nhất, với thư gửi đi: hãy gửi thư qua port 587 (hoặc 465) với nhà cung cấp email của bạn.

Các port phổ biến và dịch vụ chạy trên chúng

Số port từ 0 đến 1023 là các port hệ thống phổ biến (well-known), từ 1024 đến 49151 được đăng ký cho các dịch vụ, và từ 49152 đến 65535 dành cho các kết nối tạm thời. Đây là những port được kiểm tra nhiều nhất.

PortDịch vụGiao thứcCông dụngNếu mở cho mọi người
21FTPTCPTruyền tệp, mật khẩu dạng văn bản thôNên hạn chế
22SSHTCPĐăng nhập shell bảo mật và truyền tệp SFTPNên hạn chế
23TelnetTCPĐăng nhập từ xa kiểu cũ, mật khẩu dạng văn bản thôRủi ro cao
25SMTPTCPThư giữa các máy chủBình thường
53DNSTCP và UDPTruy vấn DNSBình thường
80HTTPTCPWebsite qua HTTP thườngBình thường
110POP3TCPTải thư về (POP3)Bình thường
143IMAPTCPThư mục thư (IMAP)Bình thường
443HTTPSTCP và UDPWebsite qua HTTPSBình thường
445SMBTCPChia sẻ tệp Windows (SMB)Rủi ro cao
587SMTP submissionTCPGửi thư từ ứng dụng (submission)Bình thường
993IMAPSTCPIMAP qua TLSBình thường
3306MySQLTCPCơ sở dữ liệu MySQL và MariaDBRủi ro cao
3389RDPTCP và UDPRemote Desktop của WindowsRủi ro cao
5432PostgreSQLTCPCơ sở dữ liệu PostgreSQLRủi ro cao
5900VNCTCPMàn hình từ xa VNCRủi ro cao
6379RedisTCPCơ sở dữ liệu RedisRủi ro cao
8080HTTP altTCPMáy chủ web và proxy trên port thay thếBình thường
8443HTTPS altTCPHTTPS trên port thay thếBình thường
25565Minecraft JavaTCPMáy chủ Minecraft Java EditionBình thường
19132Minecraft BedrockTCP và UDPMáy chủ Minecraft Bedrock EditionBình thường
32400PlexTCPPlex Media ServerBình thường
27017MongoDBTCPCơ sở dữ liệu MongoDBRủi ro cao
51820WireGuardUDPVPN WireGuardBình thường

Những port mở nào là rủi ro bảo mật?

Port mở chỉ là rủi ro khi dịch vụ phía sau không nên phơi ra cho mọi người. Port web và thư được thiết kế để mở; port đăng nhập, cơ sở dữ liệu và chia sẻ tệp thì không. Đây là các mức mà công cụ này đánh dấu.

Rủi ro cao nếu mở cho mọi người

Rủi ro cao

  • 23Telnet
  • 135Windows RPC
  • 137NetBIOS name
  • 138NetBIOS datagram
  • 139NetBIOS session
  • 445SMB
  • 1433MS SQL
  • 1521Oracle DB
  • 2323Telnet (alt)
  • 2375Docker API
  • 2379etcd
  • 3306MySQL
  • 3389RDP
  • 5432PostgreSQL
  • 5900VNC
  • 5984CouchDB
  • 6379Redis
  • 9200Elasticsearch
  • 10250Kubelet API
  • 11211Memcached
  • 27017MongoDB

Bị tấn công suốt ngày đêm và là con đường phổ biến để xâm nhập mạng: Remote Desktop, chia sẻ tệp SMB, Telnet, VNC, cơ sở dữ liệu và Docker API. Hãy đóng chúng với internet hoặc chỉ cho phép địa chỉ của chính bạn.

Hạn chế khi có thể

Nên hạn chế

  • 21FTP
  • 22SSH
  • 69TFTP
  • 161SNMP
  • 554RTSP
  • 1080SOCKS proxy
  • 1883MQTT
  • 1900SSDP / UPnP
  • 2082cPanel
  • 2083cPanel SSL
  • 2086WHM
  • 2087WHM SSL
  • 2376Docker API (TLS)
  • 3000Dev server / Grafana
  • 3128Squid proxy
  • 5000AirPlay / Flask
  • 5985WinRM
  • 5986WinRM (HTTPS)
  • 6443Kubernetes API
  • 8000HTTP alt / Hikvision
  • 9000Reolink / HTTP alt
  • 10000Webmin
  • 25575Minecraft RCON
  • 28016Rust RCON
  • 37777Dahua

Không sao nếu bạn chủ động chạy chúng, nhưng tốt hơn nên giới hạn cho địa chỉ của bạn hoặc qua VPN: SSH, FTP, trang quản trị, proxy, MQTT và máy chủ phát triển.

Được thiết kế để mở

Bình thường

  • 25SMTP
  • 53DNS
  • 80HTTP
  • 110POP3
  • 143IMAP
  • 443HTTPS
  • 587SMTP submission
  • 993IMAPS
  • 8080HTTP alt
  • 8443HTTPS alt
  • 25565Minecraft Java
  • 19132Minecraft Bedrock
  • 32400Plex

Web (80, 443), máy chủ thư (25, 587, 993) và máy chủ game trên port riêng của chúng: mở là bình thường khi bạn chạy dịch vụ đó.

Có kiểm tra port UDP online được không?

Không đáng tin cậy. UDP không có bắt tay: port UDP đóng có thể trả về lỗi hoặc im lặng, còn port mở cũng im lặng cho đến khi nhận được thông điệp đúng giao thức của nó. Với sự im lặng, công cụ kiểm tra chỉ có thể báo "mở hoặc bị lọc", vì vậy công cụ này kiểm tra TCP và nói rõ điều đó.

Các dịch vụ chỉ dùng UDP, như WireGuard (thường là 51820), thoại TeamSpeak (9987) và phần lớn lưu lượng game, có thể đang chạy trong khi mọi công cụ kiểm tra TCP đều báo đóng. Hãy thử chúng bằng chính game hoặc ứng dụng từ bên ngoài mạng của bạn, hoặc xem quy tắc forwarding đã gồm UDP chưa.

Chỉ dùng UDP, được gắn nhãn khi quét:
  • 69TFTP
  • 123NTP
  • 137NetBIOS name
  • 138NetBIOS datagram
  • 161SNMP
  • 500IPsec IKE
  • 514Syslog
  • 1194OpenVPN
  • 1434SQL Browser
  • 1900SSDP / UPnP
  • 4500IPsec NAT-T
  • 5353mDNS / Bonjour
  • 8211Palworld
  • 9987TeamSpeak voice
  • 28015Rust
  • 37778Dahua (UDP)
  • 51820WireGuard
Phản hồi nhận được: TCP và UDP
TCPUDPMởSYN →← SYN-ACKgói UDP →… không phản hồiĐóngSYN →← RSTgói UDP →← lỗi ICMP hoặc không gì cảBị lọcSYN →… không phản hồigói UDP →… không phản hồi

Với UDP, port mở và bị lọc đều im lặng như nhau: công cụ chỉ có thể nói "mở hoặc bị lọc".

Cách kiểm tra port đang mở trên máy tính của bạn

Công cụ online thấy những gì internet thấy. Để xem chương trình nào đang lắng nghe trên chính máy tính, hoặc để kiểm tra một port từ bên trong mạng của bạn, hãy dùng các lệnh có sẵn trong hệ điều hành.

Để tìmWindows (PowerShell)macOSLinux
Những gì đang lắng ngheGet-NetTCPConnection -State Listenlsof -nP -iTCP -sTCP:LISTENss -ltnp
Chương trình nào dùng một portnetstat -ano | findstr :25565lsof -nP -i :25565ss -ltnp 'sport = :25565'
Kiểm tra port trên host khácTest-NetConnection example.com -Port 443nc -vz example.com 443nc -vz example.com 443

Trên Linux, ss cần sudo để hiển thị chương trình của người dùng khác; trên Windows, netstat -ano cho ra ID tiến trình (PID), và tab Details của Task Manager cho biết đó là chương trình nào.

API kiểm tra port

Miễn phí, có CORS cho trình duyệt: GET một port, hoặc POST tối đa 30 port và đọc từng kết quả dưới dạng một dòng NDJSON ngay khi có. Câu trả lời giữ các trường của API cũ của chúng tôi và bổ sung nơi kiểm tra từng port cùng lý do port có trạng thái đó.

/api/port-check
$ curl "https://dnsrobot.net/api/port-check?host=dnsrobot.net&port=443"
{
  "host": "dnsrobot.net", "ip": "104.21.0.129", "service": "HTTPS",
  "port": 443, "status": "open", "ms": 52, "via": "probe", "reason": "connected",
  "cloudflare": true, "network": { "asn": 13335, "name": "Cloudflare", … }, …
}

$ curl -X POST https://dnsrobot.net/api/port-check \
    -H "Content-Type: application/json" -d '{"host": "dnsrobot.net", "ports": [80, 443, 22]}'
{"type":"start","host":"dnsrobot.net","ip":"104.21.0.129","total":3,…}
{"type":"port","service":"HTTPS","port":443,"status":"open","ms":52,"via":"probe",…}
{"type":"port","service":"SSH","port":22,"status":"filtered","ms":4003,…}
{"type":"done","ms":4120}

Câu hỏi thường gặp về kiểm tra port

Port check là gì, và công cụ kiểm tra port làm gì?

Port check là thử mở một kết nối từ internet tới một port trên một địa chỉ. Công cụ kiểm tra port (port checker hay port tester) làm việc đó và cho bạn biết điều gì đã xảy ra: kết nối được chấp nhận (mở), bị từ chối (đóng) hoặc không có phản hồi (bị lọc). Đây là cách nhanh nhất để test port forwarding cho máy chủ game hoặc máy chủ media, hay xem dịch vụ nào trên máy chủ của bạn mà ai cũng truy cập được.

Port báo bị lọc thì có phải đang mở không?

Không: bị lọc nghĩa là không có gì trả lời trong 4 giây, nên từ internet không thể tới chương trình nào trên port đó. Khác với đóng, khi địa chỉ chủ động từ chối, bị lọc nghĩa là tường lửa đã chặn kết nối hoặc không có gì trên đường đi chuyển tiếp nó. Với port forwarding, điều này thường chỉ ra quy tắc, tường lửa của thiết bị, CGNAT hoặc một port mà nhà mạng chặn.

Vì sao port forwarding không hoạt động?

Thường gặp nhất là máy chủ không chạy hoặc chỉ lắng nghe trên 127.0.0.1, quy tắc trỏ tới một địa chỉ nội bộ cũ, hoặc tường lửa của thiết bị chặn kết nối. Nếu địa chỉ WAN của router bắt đầu bằng 100.64 đến 100.127, bạn đang đứng sau CGNAT; nếu đó là địa chỉ riêng, bạn đang ở sau NAT kép. Hãy kiểm tra IP công cộng của bạn tại đây: trạng thái sẽ cho biết đó là trường hợp nào.

Đây có phải port scanner online như Nmap không?

Đây là port scanner online nhẹ hơn và an toàn hơn: mỗi lần chạy kiểm tra tối đa 30 port TCP bằng một kết nối bình thường, giống cách mọi client kết nối, và đọc banner của dịch vụ. Nmap có thể quét hàng nghìn port, UDP và hệ điều hành, nhưng cần cài đặt và cần được phép quét. Hãy dùng công cụ này cho IP và máy chủ của chính bạn.

Làm sao biết cổng nào đang mở trên mạng của tôi?

Từ internet chỉ tới được những port mà router của bạn forward, hoặc mở qua UPnP. Hãy kiểm tra IP công cộng của bạn tại đây với nhóm Phổ biến để thấy chúng từ bên ngoài. Để xem những gì đang lắng nghe trên chính máy tính, hãy chạy Get-NetTCPConnection -State Listen trong PowerShell, lsof trên Mac hoặc ss -ltnp trên Linux.

Để port mở có an toàn không?

Port mở là an toàn khi dịch vụ phía sau vốn dành cho công chúng và được cập nhật thường xuyên, như website trên port 443 hay máy chủ game. Port mở trở nên rủi ro khi để lộ một dịch vụ đăng nhập hoặc cơ sở dữ liệu: Remote Desktop (3389), SMB (445), Telnet, VNC, MySQL, Redis hoặc Docker API. Công cụ này đánh dấu những port đó khi thấy chúng đang mở.

Vì sao port 25 được kiểm tra từ một máy chủ khác?

Cloudflare Workers, nơi công cụ này chạy, không thể mở kết nối tới port 25. Vì vậy port 25 được kiểm tra từ máy chủ riêng của chúng tôi tại Mumbai, và kết quả ghi rõ điều đó. Nhiều nhà mạng gia đình và nhà cung cấp đám mây cũng chặn port 25 chiều đi, đó là lý do ứng dụng thư gửi qua port 587.

Vì sao website dùng Cloudflare lại hiện port 8080 và 8443 đang mở?

Vì địa chỉ đó là của Cloudflare, không phải của máy chủ website: edge Cloudflare nhận kết nối trên 13 port web (80, 443, 8080, 8443, 2052, 2053 và các port khác) cho mọi website mà nó làm proxy, và chặn phần còn lại. Kiểm tra port của một website như vậy là đang kiểm tra Cloudflare. Máy chủ phía sau chỉ truy cập được qua Cloudflare, hoặc qua Spectrum với các port khác.

Có kiểm tra được port IPv6 không?

Chưa: hiện cả Cloudflare Workers lẫn máy chủ thứ hai của chúng tôi đều không tới được địa chỉ IPv6, nên địa chỉ IPv6 bị từ chối thay vì bị báo là đóng. Với IPv6 không có NAT, nên không cần forward, nhưng tường lửa của router thường chặn kết nối từ bên ngoài cho đến khi bạn cho phép port đó cho thiết bị.

Làm sao biết một port có đang được dùng trên máy tính của tôi?

Trên Windows, chạy netstat -ano | findstr :PORT trong terminal: số cuối cùng là ID tiến trình, và tab Details của Task Manager cho biết đó là chương trình nào. Trên Mac, chạy lsof -nP -i :PORT; trên Linux, ss -ltnp. Port đang được dùng trên máy không có nghĩa là truy cập được từ internet: để biết điều đó, hãy kiểm tra tại đây.

Minecraft dùng port nào?

Máy chủ Minecraft Java Edition mặc định lắng nghe trên port TCP 25565, port mà công cụ này kiểm tra được. Bedrock Edition dùng port 19132: các máy chủ hiện nay nhận bắt tay TCP ở đó và chơi qua UDP, còn bản cũ chỉ dùng UDP, nên hãy forward 19132 cho cả TCP và UDP và thử bằng cách vào game từ bên ngoài. Cả hai port đều đổi được trong cài đặt của máy chủ.

Công cụ check port này có miễn phí và hợp pháp không?

Miễn phí, không cần tài khoản: 60 port mỗi phút cho mỗi mạng, và không có gì về các lượt kiểm tra của bạn được lưu lại. Kiểm tra IP, router và máy chủ của chính bạn là bình thường. Quét những hệ thống bạn không sở hữu hoặc không quản lý có thể vi phạm điều khoản của họ hoặc pháp luật nơi bạn sống, nên chỉ kiểm tra những gì bạn được phép.

Còn thiếu điều gì?Đề xuất tính năng hoặc công cụ mới