Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 记录所有入站连接powershell_C#_.net_Powershell_Ports_Inbound - Fatal编程技术网

C# 记录所有入站连接powershell

C# 记录所有入站连接powershell,c#,.net,powershell,ports,inbound,C#,.net,Powershell,Ports,Inbound,我需要在所有公司机器上启用防火墙,并且没有任何关于所用端口的文档,因此我计划使用PowerShell脚本记录所有入站连接,以便创建所需的异常 如何使用PowerShell或C监控创建到我的计算机的所有入站连接?因为y发现有一个Cmdlet列出了与计算机的所有连接,但我没有找到一种方法来只选择入站连接 有办法做到这一点吗?为什么不使用FW软件呢 至于 因为y发现有一个Cmdlet列出了所有 连接到机器,但我没有找到一种方法来选择 入站连接 您刚刚声明可以获得所有连接,这些连接线应该显示触发的FW规

我需要在所有公司机器上启用防火墙,并且没有任何关于所用端口的文档,因此我计划使用PowerShell脚本记录所有入站连接,以便创建所需的异常

如何使用PowerShell或C监控创建到我的计算机的所有入站连接?因为y发现有一个Cmdlet列出了与计算机的所有连接,但我没有找到一种方法来只选择入站连接


有办法做到这一点吗?

为什么不使用FW软件呢

至于

因为y发现有一个Cmdlet列出了所有 连接到机器,但我没有找到一种方法来选择 入站连接

您刚刚声明可以获得所有连接,这些连接线应该显示触发的FW规则,并且从您的FW软件中,您已经知道什么是入口/出口规则

根据列出的入站规则筛选以获取数据集

# Get the configured FW ingress rules
$FirewallInboundRules = Get-NetFirewallRule | Where { $_.Enabled –eq ‘True’ –and $_.Direction –eq ‘Inbound’ }
然后将其匹配到您的所有连接数据集


但所有这些听起来都像是你在尝试使用PS创建自己的ID。我认为这是一项过度工程,因为现成的工具已经提供了这一功能。

谢谢@postanote我已经用你给我的提示解决了这个问题,可以启用windows防火墙,并且可以将日志重定向到文件共享,以分析公司机器正在使用的入站端口

我正在使用类似的脚本启用防火墙,并将所有日志转发到将成为测试组一部分的计算机列表

 $machines = Get-Content -Path '.\Desktop\servers.txt'
 foreach ($machine in $machines)
 {
     Invoke-Command -ComputerName machine -ScriptBlock {Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True;Set-NetFirewallProfile -Profile Domain,Public,Private -LogFileName "\\localhost\C$\Block-$env:COMPUTERNAME.txt" -LogMaxSizeKilobytes 444 -LogAllowed False -LogBlocked True}
 }
在我的情况下,这并不能解决问题,因为这只显示打开的入站端口,而不显示使用的入站端口

$FirewallInboundRules = Get-NetFirewallRule | Where { $_.Enabled –eq ‘True’ –and $_.Direction –eq ‘Inbound’ }