Computer >> Máy Tính >  >> Phần mềm >> Phần mềm

Sử dụng Netstat để xem các cổng nghe và PID trong Windows

Trong một bài viết khác, chúng tôi đã giải thích về các cổng máy tính và chúng được sử dụng để làm gì. Ngoài ra, chúng ta có thể làm gì với thông tin cổng? Vì tất cả lưu lượng truy cập vào và ra khỏi máy tính đều đi qua các cổng, nên chúng tôi có thể kiểm tra chúng để xem chúng đang làm gì. Có thể cổng không lắng nghe lưu lượng truy cập? Có thể một cái gì đó đang sử dụng một cổng không nên?

Chúng tôi sẽ sử dụng lệnh Windows netstat để xem các cổng lắng nghe và PID (Process ID) của chúng tôi. Chúng tôi cũng sẽ xem chúng tôi có thể làm gì với thông tin đó.

Sử dụng Netstat để xem các cổng nghe và PID trong Windows

Netstat là gì?

Lệnh netstat là sự kết hợp của các từ ‘mạng’ và ‘thống kê’. Lệnh netstat hoạt động trên tất cả các phiên bản Windows từ Windows XP cho đến Windows 10. Lệnh này cũng được sử dụng trong các hệ điều hành (OS) khác như Unix và Linux, nhưng chúng tôi sẽ gắn bó với Windows tại đây.

Netstat có thể cung cấp cho chúng tôi:

  • Tên của giao thức mà cổng đang sử dụng (TCP hoặc UDP).
  • Địa chỉ IP cục bộ và tên của máy tính cũng như số cổng đang được sử dụng.
  • Địa chỉ IP và số cổng mà chúng tôi đang kết nối.
  • Trạng thái của kết nối TCP. Để biết chi tiết về các trạng thái này, hãy đọc phần Xử lý sự kiện của RFC 793.

Sử dụng Netstat để xem các cổng nghe &PID

  • Sử dụng tổ hợp phím Win Key + X . Trong trình đơn mở ra, chọn Command Prompt .
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Nhập lệnh
     netstat -a -n -o 
    . Các tham số cho netstat được đặt trước bằng dấu gạch ngang chứ không phải dấu gạch chéo lên như nhiều lệnh khác. -A yêu cầu nó hiển thị cho chúng ta tất cả các kết nối đang hoạt động và các cổng mà máy tính đang nghe.

    The -n ra lệnh cho netstat chỉ hiển thị địa chỉ IP và cổng dưới dạng số. Chúng tôi đang yêu cầu nó không cố gắng giải quyết các tên. Điều này giúp hiển thị nhanh hơn và gọn gàng hơn. -O yêu cầu netstat bao gồm PID. Sau đó, chúng tôi sẽ sử dụng PID để tìm hiểu quy trình đang sử dụng một cổng cụ thể.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Xem kết quả và ghi lại địa chỉ, số cổng, trạng thái và PID. Giả sử chúng tôi muốn biết những gì đang sử dụng cổng 63240. Lưu ý rằng PID của cổng đó là 8552 và nó đang kết nối với địa chỉ IP 172.217.12.138 trên cổng 443.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows

Cái gì đang sử dụng cổng đó?

  • Mở Trình quản lý Tác vụ. Điều đó dễ dàng thực hiện nhất bằng cách sử dụng tổ hợp phím Ctrl + Shift + Esc .
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Nhấp vào Chi tiết chuyển hướng. Để giúp việc tìm kiếm này dễ dàng hơn, hãy nhấp vào PID tiêu đề cột để sắp xếp các PID theo số lượng.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Cuộn xuống PID 8552 và xem quá trình đó là gì. Trong trường hợp này, đó là googledrivesync.exe . Nhưng nó có thực sự không? Đôi khi, vi-rút có thể làm cho chúng trông giống như các quy trình hợp pháp.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Trong trình duyệt web, truy cập ipinfo.io. Nhập địa chỉ IP 172.217.12.138 . Như chúng ta thấy, địa chỉ IP đã được đăng ký với Google. Vì vậy, googledrivesync.exe này là một trang hợp pháp.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows

Cách lấy tên cổng, PID và quy trình trong PowerShell

PowerShell là cách mới hơn của Microsoft để sử dụng giao diện dòng lệnh với Windows. Chúng tôi nói mới hơn, nhưng nó đã tồn tại trong một số phiên bản. Bạn nên học PowerShell ngay cả khi bạn là người dùng gia đình.

Hầu hết các lệnh Windows cũng hoạt động trong PowerShell, ngoài ra chúng ta có thể kết hợp chúng với lệnh ghép ngắn của PowerShell - phát âm là command-allow . Joe tại Winteltools.com cung cấp tập lệnh cho phương pháp này.

  • Mở Notepad và nhập mã sau:
 $ netstat =netstat -aon | Select-String -pattern "(TCP | UDP)" $ processList =Get-Processforeach ($ result in $ netstat) {$ splitArray =$ result -split "" $ procID =$ splitArray [$ splitArray.length - 1] $ processName =$ processList | Đối tượng ở đâu {$ _. Id -eq $ procID} | chọn tên tiến trình $ splitArray [$ splitArray.length - 1] =$ procID + "" + $ processName.processname $ splitArray -join ""} 
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Lưu tệp dưới dạng get-NetstatProcessName.ps1 . Hãy nhớ ghi lại nơi nó đang được lưu. Điều quan trọng là thay đổi Lưu dưới dạng: đến Tất cả các tệp (*. *) hoặc nó sẽ được lưu dưới dạng get-NetstatProcessName.ps1 .txt và nó sẽ không hiệu quả với chúng tôi.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Mở PowerShell và điều hướng đến vị trí mà tập lệnh đã được lưu. Trong trường hợp này, đó là
     cd C:\ Scripts 
    . Nhấn Enter để chạy lệnh.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Chạy tập lệnh bằng cách sử dụng phương pháp tìm nguồn cung ứng điểm để làm cho tập lệnh hoạt động. Điều đó có nghĩa là sử dụng ./ trước tên của tệp. Lệnh sẽ là
     ./get-NetstatProcessName.ps1 
Sử dụng Netstat để xem các cổng nghe và PID trong Windows
  • Giờ đây, chúng tôi có thể xem tất cả thông tin netstat truyền thống cùng với tên quy trình. Không cần mở Trình quản lý tác vụ nữa.
Sử dụng Netstat để xem các cổng nghe và PID trong Windows

Tìm kiếm chúng

Chúng tôi đã đề cập đến hai cách sử dụng lệnh netstat để xem các cổng lắng nghe. Nó có thể được sử dụng trong Command Prompt cũ hoặc trong tập lệnh PowerShell. Với thông tin nó có thể cung cấp cho chúng tôi, chúng tôi đã xem xét cách nó có thể giúp chúng tôi tìm ra những gì máy tính của chúng tôi đang làm.

Nếu bạn nghĩ netstat là một tiện ích tuyệt vời, hãy xem một số tiện ích Windows TCP / IP khác như tracert, ipconfig và nslookup. Hoặc sử dụng Resource Monitor để có cái nhìn rõ hơn về trang web ẩn và các kết nối Internet. Bạn có thể làm nhiều điều để xem chính xác máy tính của mình đang hoạt động như thế nào.

Bạn đã sử dụng netstat để giải quyết vấn đề chưa? Hãy cho chúng tôi biết bạn đã làm gì. Bất kỳ câu hỏi nào về cách sử dụng netstat? Vui lòng hỏi chúng tôi trong phần bình luận bên dưới.