Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Phần Mềm

Dùng Netstat xem cổng đang lắng nghe và PID trong Windows

Trong bài viết khác, chúng tôi đã giải thích cổng máy tính và chúng được 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 vào và ra máy tính đều đi qua cổng, chúng ta có thể kiểm tra chúng để xem chúng đang làm gì. Có lẽ cổng không đang lắng nghe lưu lượng? Có lẽ thứ gì đó đang dùng cổng mà không nên?

Chúng ta sẽ dùng lệnh Windows netstat để xem cổng đang lắng nghe và PID (ID tiến trình). Chúng ta cũng sẽ xem có thể làm gì với thông tin đó.

    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows

    Netstat là gì?

    Lệnh netstat là kết hợp của từ 'network' và 'statistics'. Lệnh netstat hoạt động trong tất cả phiên bản Windows từ Windows XP đến Windows 10. Nó cũng dùng trong các hệ điều hành khác (OS) như Unix và Linux, nhưng chúng ta sẽ tập trung vào Windows ở đây.

    Netstat có thể cung cấp cho chúng ta:

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

    Dùng Netstat xem cổng đang lắng nghe & PID

    • Dùng tổ hợp phím Win Key + X. Trong menu mở ra, chọn Command Prompt.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Nhập lệnh <pre>netstat -a -n -o</pre>. Tham số cho netstat được tiền tố bằng dấu gạch ngang, không phải dấu gạch chéo như nhiều lệnh khác. -a bảo nó hiển thị tất cả kết nối hoạt động và cổng máy tính đang lắng nghe.

      -n bảo netstat hiển thị địa chỉ IP và cổng chỉ dưới dạng số. Chúng ta bảo nó không thử phân giải tên. Điều này giúp hiển thị nhanh và gọn hơn. -o bảo netstat bao gồm PID. Chúng ta sẽ dùng PID sau để tìm tiến trình nào đang dùng cổng cụ thể.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Xem kết quả và ghi nhớ địa chỉ, số cổng, trạng thái, và PID. Giả sử chúng ta muốn biết gì đang dùng cổng 63240. Ghi chú PID là 8552 và nó kết nối đến địa chỉ IP 172.217.12.138 trên cổng 443.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows

    Đang dùng cổng đó là gì?

    • Mở Task Manager. Cách dễ nhất là dùng tổ hợp phím Ctrl + Shift + Esc.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Nhấp tab Chi tiết (Details). Để dễ tìm, nhấp tiêu đề cột PID để sắp xếp PID theo số.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Cuộn xuống PID 8552 và xem tiến trình là gì. Trong trường hợp này, là googledrivesync.exe. Nhưng có thực sự vậy? Đôi khi virus có thể làm cho mình trông như tiến trình hợp pháp.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Trên trình duyệt web, vào ipinfo.io. Nhập địa chỉ IP 172.217.12.138. Như ta thấy, địa chỉ IP đăng ký cho Google. Vì vậy googledrivesync.exe này là hợp pháp.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows

    Cách lấy cổng, PID, & tên tiến trình trong PowerShell

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

    Hầu hết lệnh Windows cũng hoạt động trong PowerShell, cộng với việc kết hợp chúng với cmdlet của PowerShell — phát âm command-lets. Joe tại Winteltools.com cung cấp script cho phương pháp này.

    • Mở Notepad và nhập mã sau:
    $netstat = netstat -aon | Select-String -pattern "(TCP|UDP)" $processList = Get-Process foreach ($result in $netstat) { $splitArray = $result -split " " $procID = $splitArray[$splitArray.length – 1] $processName = $processList | Where-Object {$_.id -eq $procID} | select processname $splitArray[$splitArray.length – 1] = $procID + " " + $processName.processname $splitArray -join " " }
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Lưu tệp dưới tên get-NetstatProcessName.ps1. Đảm bảo ghi nhớ nơi lưu. Quan trọng: đổi Lưu dưới dạng: sang Tất cả tệp (*.*) hoặc nó sẽ lưu thành get-NetstatProcessName.ps1.txt và không chạy được.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Mở PowerShell và điều hướng đến vị trí script được lưu. Trong trường hợp này, <pre>cd C:\Scripts</pre>. Nhấn Enter để chạy lệnh.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Chạy script dùng dot-sourcing để làm cho nó hoạt động. Nghĩa là dùng ./ trước tên tệp. Lệnh sẽ là <pre>./get-NetstatProcessName.ps1</pre>
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows
    • Bây giờ ta thấy tất cả thông tin netstat truyền thống cộng với tên tiến trình. Không cần mở Task Manager nữa.
    Dùng Netstat xem cổng đang lắng nghe và PID trong Windows

    Đi tìm chúng

    Chúng tôi đã bao gồm hai cách dùng lệnh netstat xem cổng đang lắng nghe. Có thể dùng trong Command Prompt cũ hoặc trong script PowerShell. Với thông tin nó cung cấp, chúng ta đã xem nó giúp tìm ra máy tính đang làm gì.

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

    Bạn đã dùng netstat giải quyết vấn đề? Hãy cho chúng tôi biết bạn làm gì. Có câu hỏi về cách dùng netstat? Hãy hỏi trong phần bình luận bên dưới.