如何確定哪些程序正在通過某些端口連接到Internet Windows

我可以在計算機上的任何位置打開許多程序,其中許多程序甚至在沒有意識到的情況下也可以連接到Internet。 如果我想知道其中哪些程序通過端口443(安全的HTTPS可以對進出的所有東西進行加密)連接到外部,該怎麼辦?

網絡統計 是 Windows 顯示活動網絡連接,本地計算機正在偵聽的端口,以太網統計信息,路由表等的命令行。在提升的命令提示符窗口中運行-b開關後,我可以找到創建每個連接所涉及的可執行文件及其監聽端口。

NetStat -b

但是很難對輸出進行過濾以找出我到底在尋找什麼。

Get-NetTCPConnectionNetStat的PowerShell表弟(也就是NetStat的表親)還可以立即獲得具有其他可用過濾選項的當前TCP連接。

要獲取到遠程端口443的已建立連接的列表,

Get-NetTCPConnection -RemotePort 443-狀態已建立

唯一的問題是,它不會告訴我哪個程序正在使用列表中的哪個連接。

我們需要cmdlet的幫助 獲取進程。 要顯示進程名稱,請使用以下命令。

(獲取進程-id $ id).ProcessName

如果您需要可執行文件所在的完整路徑,請改用此路徑。

(Get-Process -id $ id)。路徑

從那以後 選擇對象 支持即時計算的屬性,我們可以定義一個變量來計算原始屬性 擁有過程 來自的財產 獲取NetTCPConnect cmdlet。 謝謝 小費 來自PowerTips。

放在一起,以下腳本列出了所有通過HTTPS協議連接到Internet的程序。

$Process = @{
    Name='Process'
    Expression={
        # return process path
        (Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName
        }
}
 
# get all connections to port 443 (HTTPS)
Get-NetTCPConnection -RemotePort 443 -State Established | 
  # and resolve IP and process ID
  Select-Object -Property $HostName, RemotePort, OwningProcess, $Process 

如果要列出所有連接到Internet的程序,無論它們經過哪個端口,請刪除 -遠程端口443 出的 Get-NetTCPConnection 小命令。

如果要查看是否有使用不安全HTTP連接的程序,請在命令中將443替換為80。 您可能最終收到一條錯誤消息,指出CIM沒有找到匹配的MSFT_NetTCPConnection對象,這是一個好兆頭,告訴您沒有任何使用不安全HTTP連接的程序。

該職位 如何確定哪些程序正在通過某些端口連接到Internet Windows 最早出現 下一個 Windows.