Bất cứ khi nào một ứng dụng muốn tự truy cập thông qua mạng, nó sẽ cần một port TCP/IP, có nghĩa là port đó không thể được sử dụng bởi bất kỳ ứng dụng hoặc service nào khác. Vậy làm thế nào để bạn kiểm tra port đang mở để xem ứng dụng hoặc service nào đang sử dụng nó?
Địa chỉ IP dùng để xác nhận một máy tính ( hoặc thiết bị mạng khác ) trong cùng một mạng. Khi một thiết bị gửi gói tin đến một thiết bị khác, địa chỉ IP được sử dụng để giúp gói tin đó đến đúng nơi cần đến. Khi gói tin đến đúng địa chỉ, nó cần biết ứng dụng hoặc dịch vụ nào là nơi gói tin đó đến, port sẽ giúp nó xác định.
Nếu xem địa chỉ IP giống với địa chỉ nhà trên một bì thư, thì port giống như tên của người nhận thư tại địa chỉ đó. Hầu như không có vấn đề gì đối với các port. Nhưng thỉnh thoảng, bạn có thể gặp phải một ứng dụng được cài đặt để nhận gói tin trên cùng một port mà một ứng dụng khác đã sử dụng. Trong trường hợp đó, bạn sẽ cần tìm xem ứng dụng nào đã sử dụng port đó.
Sử dụng công cụ để kiểm tra port đang mở
Có một số cách để kiểm tra port, trong bài viết này sẽ bao gồm các cách sử dụng Command Prompt, sau đó là cách dùng một ứng dụng phần mềm miễn phí giúp bạn kiểm tra port đang mở. Tất cả các phương pháp trên đều có thể sử dụng trên bất kỳ phiên bản Windows nào.
Có hai lệnh bạn có thể dùng, đầu tiên liệt kê các port đang hoạt động cùng với tên của quá trình đang sử dụng chúng. Tuy nhiên, đôi khi bạn không xác định được ứng dụng hoặc service nào bị sự cố thông qua tên quy trình. Đối với những trường hợp đó, bạn sẽ cần liệt kê các port đang hoạt động cùng với process identifier numbers và sau đó tra cứu các quy trình đó trong Task Manager.
Trước tiên, bạn cần mở Command Prompt ở chế độ admin. Nhấn Start, rồi nhập “command” vào hộp tìm kiếm. Khi bạn thấy “Command Prompt” xuất hiện, hãy nhấp chuột phải vào nó và chọn “Run as administrator”.
Tại cửa sổ Command Prompt, nhập lệnh sau rồi nhấn Enter:
netstat -ab
Sau khi nhấn Enter, hãy đợi khoảng một hoặc hai phút để kết quả hiển thị đầy đủ. Cuộn xuống để + tìm port trong danh sách (ngay sau dấu hai chấm bên phải địa chỉ IP) và tên quy trình được liệt kê bên dưới dòng đó. Bạn có thể chuyển kết quả sang một file văn bản để có thể tìm kiếm port dễ dàng hơn bằng công cụ tìm kiếm.
Ở ví dụ dưới đây, bạn có thể thấy rằng port 49902 bị ràng buộc bởi một quá trình có tên picpick.exe. PicPick là một ứng dụng chỉnh sửa hình ảnh trên hệ thống, vì vậy có thể cho rằng port bị ràng buộc bởi quy trình kiểm tra các bản cập nhật cho ứng dụng.
Kiểm tra port đang mở với Process Identifiers
Nếu bạn không biết được ứng dụng nào có liên quan khi kiểm tra port thông qua tên của quy trình, bạn có thể kiểm tra port bằng một lệnh khác để hiển thị process identifiers (PID) sau đó có thể dò nó trong Task Manager để tìm ứng dụng hoặc dịch vụ.
Nhập lệnh sau vào Command Prompt, sau đó nhấn Enter:
netstat -aon
Cột ở ngoài cùng bên phải liệt kê các PID, vì vậy chỉ cần tìm PID được liên kết với port mà bạn muốn khắc phục sự cố.
Tiếp theo, mở Task Manager bằng cách nhấp chuột phải vào taskbar và chọn “Task Manager.”
Nếu bạn đang sử dụng Windows 8 hoặc 10, hãy chuyển sang tab “Details” trong tab Task Manager. Trong các phiên bản Windows cũ hơn, bạn sẽ thấy thông tin này trên tab “Processes”.
Sắp xếp danh sách các quy trình theo cột “PID” và tìm PID được liên kết với port mà bạn đang kiểm tra. Sẽ có thông tin thêm về ứng dụng hoặc dịch vụ nào có port bị ràng buộc bằng cách xem cột “Description”.
Nếu không bạn có thể nhấp chuột phải vào quy trình và chọn “Open file location”. Vị trí của file có thể cho bạn biết ứng dụng nào mà bạn đang tìm kiếm.
Khi đang ở cửa sổ này bạn có thể sử dụng các tùy chọn như End Process, Open File Location, hoặc Go to Service(s) để kiểm soát hoặc dừng quy trình nếu muốn.
Sử dụng CurrPorts để kiểm tra port đang mở
Nếu bạn không muốn kiểm tra port đang mở trên máy tính bằng cách sử dụng Command Prompt hoặc bạn chỉ muốn sử dụng một tiện ích đơn giản để thực hiện việc kiểm tra port tất cả trong một bước. Vietnix giới thiệu đến bạn tiện ích CurrPorts một phần mềm miễn phí của NirSoft.
Hãy bấm vào đường dẫn và tải xuống và chọn đúng phiên bản cho máy tính của bạn (phiên bản thông thường dành cho Windows 32 bit và phiên bản x64 dành cho Windows 64 bit). Bạn không cần cài đặt ứng dụng này, chỉ cần giải nén folder tải xuống và cho chạy file.
Trong cửa sổ CurrPorts, sắp xếp theo cột “Local Port” và kiểm tra port đang mở. Nó sẽ bào gồm từ tên quy trình, PID, port, đường dẫn đầy đủ đến quy trình,…
Bạn có thể nhấn đúp chuột vào bất cứ quy trình nào và thông tin sẽ được hiển thị đầy đủ trong một cửa sổ như dưới đây:
Khi bạn đã xác định được ứng dụng hoặc dịch vụ nào bị trùng port, bạn có thể xử lý nó tùy theo cách của bạn. Nếu đó là một ứng dụng, bạn có thể chỉ định một port khác. Nếu đó là một service hoặc bạn không có tùy chọn để chỉ định một port khác, bạn có thể phải dừng service hoặc xóa ứng dụng.
Nếu mình muốn tìm hiểu về Web Server thì nên bắt đầu như thế nào vậy bạn