[玩转系统] 如何使用 PowerShell 在 Windows Defender 防火墙上阻止域或网站?
作者:精品下载站 日期:2024-12-14 20:08:52 浏览:16 分类:玩电脑
如何使用 PowerShell 在 Windows Defender 防火墙上阻止域或网站?
让我们考虑一些在不使用第三方工具的情况下阻止对 Windows 中特定网站、域名、URL 或 IP 地址的访问的方法。在我们的例子中,我们将尝试使用内置的 Windows 10 工具和 PowerShell 自动化功能来阻止某些网站。
通常,通过网络路由器(用于访问互联网的交换机或 Wi-Fi 接入点)或使用第三方软件(内容过滤器、DNS 过滤器等)来阻止网站会更容易。
在 Windows 中使用 Hosts 文件阻止网站
在 Windows 上阻止特定网站的最流行方法是编辑 hosts 文件。通常它位于 %windir%\system32\drivers tc\ 目录中。请注意,hosts 文件没有扩展名。
包含hosts 文件的目录路径在注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下的DataBasePath 参数中设置。默认情况下它是%SystemRoot%\System32\drivers tc。
Hosts 文件用于手动分配 IP 地址和 DNS 名称之间的映射。解析名称时,主机的优先级高于网络连接设置中指定的 DNS 服务器。
要阻止特定网站(例如 facebook.com),请打开主机文件(使用管理员权限)并向其中添加如下字符串:
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
保存文件并重新启动计算机(或使用以下命令清除 DNS 缓存:
ipconfig /flushdns
)。
之后,当尝试在任何浏览器中打开 facebook.com 时,您将看到消息“找不到页面”/“页面不可用”。
您可以使用这样的 .bat 文件将包含网站 URL 的新行添加到主机文件中:
@echo off
set hostspath=%windir%\System32\drivers\etc\hosts
echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 facebook.com >> %hostspath%
exit
或者,您可以使用以下 PowerShell 函数自动阻止主机文件中的特定网站。
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If(-not $is_blocked) {
$hoststr="127.0.0.1 ” + $Url
Add-Content -Path $hosts -Value $hoststr
}
}
Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If($is_blocked) {
$newhosts = Get-Content -Path $hosts |
Where-Object {
$_ -notmatch ([regex]::Escape($Url))
}
Set-Content -Path $hosts -Value $newhosts
}
}
要将网站添加到阻止的 URL 列表中,只需执行以下命令:
BlockSiteHosts ("twitter.com")
要解锁网站,请运行:
UnBlockSiteHosts ("twitter.com")
使用 DNS 过滤阻止网站
如果您的客户端使用相同的 DNS 服务器,您可以通过在该 DNS 中创建 DNS 条目并在其中指定类似 127.0.0.1 之类的内容来阻止某些网站。顺便说一句,大多数商业 DNS 内容过滤器(OpenDNS、SafeDNS、Cisco Umbrella 等)都使用相同的原理。
如何在 Windows Defender 防火墙中阻止网站 IP 地址?
此外,您还可以使用内置的 Windows Defender 防火墙阻止某些网站。此方法的主要缺点是您无法在阻止规则中使用域名或网站 URL。 Windows Defender 防火墙允许您仅指定 IP 地址或子网作为源/目标。
首先,您必须获取要阻止的网站的 IP 地址。使用 nslookup 命令更容易做到这一点:
nslookup twitter.com
如您所见,该命令返回了分配给该网站的多个 IP 地址。你必须阻止他们所有人。
运行 Windows Defender 防火墙管理管理单元(控制面板\所有控制面板项\Windows Defender 防火墙\高级设置或通过运行 firewall.cpl)。
在出站规则部分中,使用以下设置创建新规则:
规则类型:自定义
程序:所有程序
-
协议类型:任何
范围:在“此规则适用于哪些远程 IP 地址?”中。 ”部分选择“这些 IP 地址”-> 添加。在下一个窗口中,输入要阻止的 IP 地址、子网或 IP 地址范围。
单击确定 -> 下一步 -> 操作 -> 阻止连接。
将所有选项保留在窗口中,并应用规则的防火墙配置文件。然后指定规则名称并保存。
之后,Windows Defender 防火墙将阻止到指定网站 IP 地址的所有传出连接。尝试连接到被阻止的站点时,您的浏览器中将显示以下消息:
Unable to connect
或者
Your Internet access is blocked
Firewall or antivirus software may have blocked the connection
ERR_NETWORK_ACCESS_DENIED
在 AD 域中,您可以部署 Windows 防火墙策略来阻止使用 GPO 访问用户计算机上的网站。然而,这并不理性。最好在您的互联网访问路由器(网关)上过滤网站。
使用PowerShell创建防火墙规则以通过域名或IP地址阻止网站
您还可以使用 PowerShell 创建防火墙规则来阻止与网站的连接:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress 104.244.42.129, 104.244.42.0/24
字符串“规则已从存储中成功解析”表示新的防火墙规则已成功应用。您可以在 Windows Defender 防火墙的图形界面中找到它。
为了不手动将网站名称解析为 IP 地址,您可以使用 Resolve-DnsName PowerShell cmdlet 来获取网站 IP 地址:
Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
因此,您可以将网站名称转换为其 IP 地址,并向防火墙设置添加阻止规则:
$IPAddress = Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
因此,您现在可以同时向 Windows 防火墙添加针对多个网站的阻止规则:
$SitesToBlock = "facebook.com","instagram.com","youtube.com"
$IPAddress = $SitesToBlock | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Web Sites" -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
我已将 -NoHostsFile 参数添加到 Resolve-DnsName cmdlet,以便不使用主机文件进行解析。
让我们确保 Windows 防火墙控制台中出现了阻止出站规则。
这篇文章主要是大脑训练练习。在企业网络中,您必须在 Internet 访问网关、路由器或代理服务器上使用网站过滤。主机级别的阻止效果不是很好。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag