win10系统中定时屏蔽特定网站

在日常生活中有需要自律、排除外部干扰的需求。所以这里记录一个可以在win10系统中做到定时屏蔽某特定网站的方法。 只需要下载一个小的转换程序,其他的工具都是win10系统自带的。
基本原理是:使用防火墙的出站规则禁止特定网站,通过编辑带有执行这个过程的文件,再通过任务计划程序实现定时屏蔽特定网站。
解释一下相关名词:
①防火墙的出站规则:是用来限制对外访问的,也就是说从本机发出的请求中,如果请求的对象是被禁止的,该请求会被拦截,表现方式就是断网。
②任务计划程序:可以让计算机按照我们的要求在指定时间执行指定的程序,并且可以设置时间间隔重复执行。
下面以定时屏蔽B站(www.bilibili.com)为例子。

一、查看要屏蔽网站的ip地址

点击win10系统的下方任务栏左侧的搜索图标,输入“cmd”,选择弹出的“命令提示符”选项。然后会出现命令行窗口。
然后输入下面的命令:
															nslookup www.bilibili.com
															#也就是nslookup URL,URL处替换自己需要屏蔽的网址。
															
															#紧接着系统会返回下面的内容
															服务器:  192.168.1.1
															Address:  192.168.1.1
															
															非权威应答:
															名称:    a.w.bilicdn1.com
															Addresses:  2409:8c02:21c:b0::21 #注意从这里以下的内容
															          2409:8c02:21c:b0::19
															          2409:8c02:21c:b0::20
															          2409:8c02:21c:b0::18
															          111.31.33.21 #这里开始到Aliases之前,都是我们需要屏蔽的IP。
															          111.31.33.19
															          111.31.33.20
															          120.192.82.74
															          120.192.82.76
															          120.192.82.75
															          120.192.82.77
															          111.31.33.18
															Aliases:  www.bilibili.com
															#注意,不同的地区链接同一个网站的IP地址很可能会不一样。比如在石家庄和保定就不同。
															#也就是说,换了地方需要重新修改这些IP。
														

二、编写防火墙操作命令的bat文件

这里需要两个防火墙的出站命令。
															#禁止访问的命令
															netsh advfirewall firewall add rule name="名称" dir=out remoteip=IP1,IP2 action=block
															#恢复访问的命令
															netsh advfirewall firewall delete rule name="名称"
															#两个命令的“名称”必须一致。
															
															#按照第一步获取到的IP地址,两个命令对应修改为如下
															#命令1
															netsh advfirewall firewall add rule name="禁止B站" dir=out remoteip=111.31.33.21,111.31.33.19,111.31.33.20,120.192.82.74,120.192.82.76,120.192.82.75,120.192.82.77,111.31.33.18 action=block
															#命令2
															netsh advfirewall firewall delete rule name="禁止B站"
														
在桌面新建一个文本文件(.txt)。文件写入命令1,然后点击“文件”-->“另存为”,在“文件名”一栏输入“禁止B站.bat”,“保存类型”选择“所有文件”,“编码”选择“ANSI”,然后保存。
再打开新建的文本文件,与上一步类似,写入命令2,另存为,“文件名”输入“解禁B站.bat”,其他一致。
这样获得了两个文件,新建的文本文件(.txt)可以删除。

三、bat文件转exe文件

为了让任务计划程序可以执行,并且是以管理员权限执行,接下来要把.bat文件转变成.exe文件。
这里需要下载一个转换软件“Bat_To_Exe_Converter”,图标是一个齿轮,大小只有1.88MB。这个软件直接搜索下载即可。
安装好后双击打开,点击界面中的“打开”,选择之前创建好的“禁止B站.bat”打开,界面如下图所示。

设置界面右侧的“选项”,与图片一致即可,“需要管理员权限”必须勾选。
然后点击“转换”,在弹出的界面里选择转换出的exe文件保存在哪里(这里假设保存在D:/blockweb/禁止B站.exe)。
同理,“解禁B站.bat”做同样的处理。

四、任务计划程序的设置

右键在桌面上的“此电脑”,然后选择“管理”,在弹出的界面里点开“>”,找到“任务计划程序库”,点击使文字变成蓝底。然后点击上方的“操作”再选择“新文件夹”,给新建的文件夹命个名。结果如下图。

然后点击刚刚新建的那个文件夹,然后点击界面最右侧的“操作”一栏,点击“创建任务”,会弹出一个有五个卡片的界面,“常规”、“触发”、“操作”、“条件”和“设置”。
以创建"禁止B站"计划任务为例,对应卡片的设置如下各图,基本对照设置即可。

选择什么时间触发。




五、成功效果展示

每次禁止成功后都会在“防火墙” --> “高级设置” --> “出站规则”中找到对应项目。这时再访问B站就会提示被限制,提前进入主页也不能刷新内容,更换浏览器也不行,只能够观看已经打开的网页中加载好的内容。