lintrainwy 发表于 2016-12-17 18:37:28

批处理利用Windows防火墙阻止程序和服务联网!

本帖最后由 comzhongwy 于 2016-12-24 14:02 编辑

Windows防火墙其实是个好东西,但是好像很少有人好好利用起来,这次简单说说利用Windows防火墙阻止程序联网。

1.先来看个图,这是我安装的Click-to-Run-Office2016,一打开word、Excel、PPT,表面上看不出来,实际上他们都在后台联网上传你的使用信息,对于很多人,根本不需要它们联网,再比如说,很多人装AutoCAD的时候,说明里都是断网激活,挺麻烦的,而且激活后,它还是会联网上传,下面我们看看如何利用Windows防火墙。


2.看下高级设置,这就是我们要配置的地方了,我不详细说了,简单说,入站规则设置远程主机连接本机的规则,出站规则设置本机连接远程主机的规则,也就是说,要阻止本地程序联网,只要在出站规则里添加就好了。


3.批处理添加禁止程序联网,这是我对office和AutoCAD程序,以及Windows Update服务的,这样,禁止联网什么的,就非常方便了,不只是对程序,还可以对服务、端口进行设置,我就说到这里了。
@echo off
setlocal ENABLEDELAYEDEXPANSION
mode con: cols=65 lines=25
color 0a
rem 批处理获取管理员权限
:-------------------------------------
    %1 mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&&exit /b
    CD /D "%~dp0"
:-------------------------------------

::添加阻止程序出站规则
(
        echo "Office_OfficeClickToRun","%ProgramFiles%\Common Files\microsoft shared\ClickToRun\OfficeClickToRun.exe"
        echo "Office_msoia","%ProgramFiles%\Microsoft Office\root\Office16\msoia.exe"
        echo "Office_WINWORD","%ProgramFiles%\Microsoft Office\root\Office16\WINWORD.EXE"
        echo "Office_EXCEL","%ProgramFiles%\Microsoft Office\root\Office16\EXCEL.EXE"
        echo "Office_POWERPNT","%ProgramFiles%\Microsoft Office\root\Office16\POWERPNT.EXE"
        echo "Office_VISIO","%ProgramFiles%\Microsoft Office\root\Office16\VISIO.EXE"
        echo "Office_WINPROJ","%ProgramFiles%\Microsoft Office\root\Office16\WINPROJ.EXE"
        echo "Office_MSPUB","%ProgramFiles%\Microsoft Office\root\Office16\MSPUB.EXE"
        echo "Office_MSACCESS","%ProgramFiles%\Microsoft Office\root\Office16\MSACCESS.EXE"
        echo "AutoCAD_LMU","%ProgramFiles%\Common Files\Autodesk Shared\AdLM\R11\LMU.exe"
        echo "AutoCAD_DADispatcherService","C:\Program Files\Autodesk\AutoCAD 2016\DADispatcherService.exe"
        echo "AutoCAD_acad","C:\Program Files\Autodesk\AutoCAD 2016\acad.exe"
)>list.txt
FOR /F "usebackq tokens=1,2 delims=," %%i in ( list.txt ) do (
        netsh advfirewall firewall del rule name="%%i">nul 2>nul
        netsh advfirewall firewall add rule name="%%i" program=%%j action=block dir=out>nul
        echo 阻止%%i程序出站规则已添加
)
del list.txt

::添加阻止服务出站规则
(
        echo "Windows Update","wuauserv"
)>list.txt
set svchost_exe="%%systemroot%%\system32\svchost.exe"
FOR /F "usebackq tokens=1,2 delims=," %%i in ( list.txt ) do (
        netsh advfirewall firewall del rule name=%%i>nul 2>nul
        netsh advfirewall firewall add rule name=%%i service=%%j action=block dir=out program="%svchost_exe%">nul
        echo 阻止%%i服务出站规则已添加
)
del list.txt
pause

6.这下,世界清静了!

大胜 发表于 2016-12-17 18:56:22

这个不错,学习了。

2012waz 发表于 2016-12-18 12:15:42

好,学习了

happysong21 发表于 2016-12-20 11:14:04

楼主厉害,不如顺便示范一下怎么开放、禁用端口呗?

12250279 发表于 2016-12-20 11:44:07

这个东西太完美了,我喜欢

lintrainwy 发表于 2016-12-25 12:21:41

happysong21 发表于 2016-12-20 11:14
楼主厉害,不如顺便示范一下怎么开放、禁用端口呗?

cmd里面执行:netsh advfirewall firewall add rule,就会有帮助内容,里面正好有设置端口的例子

wynew8au 发表于 2016-12-25 18:09:58

楼主厉害,谢谢。

hai2002713 发表于 2016-12-25 19:24:30

happysong21 发表于 2016-12-26 11:38:15

comzhongwy 发表于 2016-12-25 12:21
cmd里面执行:netsh advfirewall firewall add rule,就会有帮助内容,里面正好有设置端口的例子

感谢感谢!

wuyouman01 发表于 2016-12-26 21:05:12

楼主厉害,谢谢。

大胜 发表于 2016-12-28 21:31:28

cmd里面执行:netsh advfirewall firewall add rule,就会有帮助内容,里面正好有设置端口的例子
这个得记住了。感谢分享

不落的太阳 发表于 2016-12-29 10:58:51

也去研究一下,谢谢

2487043250 发表于 2017-1-12 09:37:12

怎么批量取消出站规则呢?看到麻烦回复一下谢谢!

lintrainwy 发表于 2017-1-12 10:16:57

2487043250 发表于 2017-1-12 09:37
怎么批量取消出站规则呢?看到麻烦回复一下谢谢!

批处理里面是先删除再添加的,你注释掉添加那一句就只是删除了
netsh advfirewall firewall del rule name=%%i>nul 2>nul
netsh advfirewall firewall add rule name="%%i" program=%%j action=block dir=out>nul

Superxiaokui 发表于 2017-3-30 14:05:07

txttxt88 发表于 2017-5-1 09:27:47

66666666666666666666

jqrung 发表于 2017-9-7 14:12:57

学习了,正好需要。。3Q

jqrung 发表于 2017-11-3 11:47:50

经过多次测试,还是大哥这个靠谱。感谢

szlghyx 发表于 2018-1-13 10:17:38

请教楼主,一问:你帖子是新建阻止程序出站,是包括家庭网络、公共网络、工作网络都阻止吗?二问:阻止程序入站又该怎么写呢?需要家庭网络、公共网络、工作网络都阻止,谢谢

szlghyx 发表于 2018-1-13 10:45:12

楼主您好,看了您的一篇"批处理利用Windows防火墙阻止程序和服务联网!",还是不太明白,假如我要阻止我电脑的酷狗程序出站与入站,新建规则名称写“kugou”,然后是家庭网络、公共网络、工作网络都阻止出站和入站,酷狗程序路径是"C:\Program Files\KuGou\KGMusic\KuGou.exe",还有需要禁止一个服务程序运行,假如这个服务程序路径也是"C:\Program Files\KuGou\KGMusic\KuGou.exe",那么这个批处理该怎么写?能不能以此写一个批处理给我?万分谢谢

2897755067 发表于 2018-1-13 13:38:29

平常都是進到防火牆去做,來回做好多次才好,有批處理是很方便的。

lintrainwy 发表于 2018-1-13 14:03:30

本帖最后由 lintrainwy 于 2018-1-13 14:04 编辑

szlghyx 发表于 2018-1-13 10:45
楼主您好,看了您的一篇"批处理利用Windows防火墙阻止程序和服务联网!",还是不太明白,假如我要阻止我电 ...

这个写法是完全禁止出站连接,酷狗添加这两个,我试了一下,乐库等不能连接,但搜歌没问题,搜歌听歌下载应该是 KGService.exe 负责的。

@ECHO OFF

set name="Kugou"
set exePath="D:\Program Files\KuGou\KGMusic\KuGou.exe"

netsh advfirewall firewall del rule name=%name%>nul 2>nul
netsh advfirewall firewall add rule name=%name% program=%exePath% action=block dir=out>nul


set serviceNameShow="KuGou Service"
set serviceName="KugouService"
set svchost="%%systemroot%%\system32\svchost.exe"

netsh advfirewall firewall del rule name=%serviceNameShow%>nul 2>nul
netsh advfirewall firewall add rule name=%serviceNameShow% service=%serviceName% action=block dir=out program="%svchost%">nul

sairen139 发表于 2018-1-13 16:16:27

批助理利用windows防火墙,很强大的绿色方法

szlghyx 发表于 2018-1-13 16:44:26

lintrainwy 发表于 2018-1-13 14:03
这个写法是完全禁止出站连接,酷狗添加这两个,我试了一下,乐库等不能连接,但搜歌没问题,搜歌听歌下 ...

楼主您好,谢谢您那么快就回复了,您说这是出站的写法,那同样禁止"C:\Program Files\KuGou\KGMusic\KuGou.exe"的“KuGou.exe”程序入站又该怎么写呢?

lintrainwy 发表于 2018-1-13 17:45:05

szlghyx 发表于 2018-1-13 16:44
楼主您好,谢谢您那么快就回复了,您说这是出站的写法,那同样禁止"C:\Program Files\KuGou\KGMusic\Ku ...

dir=out 改成 dir=in

szlghyx 发表于 2018-1-13 20:13:52

lintrainwy 发表于 2018-1-13 17:45
dir=out 改成 dir=in

谢谢,非常感谢

szlghyx 发表于 2018-1-14 20:54:54

楼主您好,不好意思,再次请教一下,如您所说的类似AutoCAD这类软件可以利用防火墙禁止出站来达到预防联网上传进行验证而出现一段时间过后又变成未破解或提示盗版问题,那么这里有个问题是禁止了这些软件的主程序以及服务程序出站后是否还有必要再禁止它入站呢?这当中又有何区别?谢谢!

lintrainwy 发表于 2018-1-14 22:03:37

szlghyx 发表于 2018-1-14 20:54
楼主您好,不好意思,再次请教一下,如您所说的类似AutoCAD这类软件可以利用防火墙禁止出站来达到预防联网 ...

出站:你电脑上的程序连接远程服务器,就像发送短信
入站:远程服务器连接你电脑上的程序,就像接收短信

一般禁止出站就行了,这是在程序、服务会连接远程服务器的情况,也可以单独对端口设置。

禁止入站,用在某些程序、服务会在你的电脑上打开端口等待被连接的情况,不过一般没什么用,因为大多数人都是动态IP,局域网内部。如果你要防止被人用 ip 扫描,可以设置禁止入站。

不过我想 AutoCAD 这些不会搞 IP 扫描来查盗版,再者你禁止出站后,他没法远程确定你是不是用的盗版。

如果你想万无一失,可以都禁止。

禁止出站类似的方法是用 hosts 把 AutoCAD 等的服务器地址重定向为本地 127.0.0.1,不过这需要你知道他所有的服务器地址。

szlghyx 发表于 2018-1-15 09:44:49

lintrainwy 发表于 2018-1-14 22:03
出站:你电脑上的程序连接远程服务器,就像发送短信
入站:远程服务器连接你电脑上的程序,就像接收短 ...

好的,谢谢,之所以提这样的问题,是刚好这两天在弄某某某软件的破解,网络上只提了禁止某某某软件的两个程序入站,没有说也需要禁止出站,而恰好某某某软件官网提示说可以无网络但至少必须每一个月连一次网络,我想网上之所以没说需要禁止出站会不会就是因为某某某软件每一段时间会检测网络并且必须链接一次网络否则一样会无法使用某某某软件,不过想想情理上不可能,某某某软件总不能要求客户即使购买正版也要有网络才行吧?所以我是觉得应该禁止了出站就行了,禁止了出站向某某某发送信息,那么理论上某某某软件永远不知道这台电脑是否安装了盗版软件,那这个软件破解之后就不会提示是盗版软件了

lintrainwy 发表于 2018-1-15 13:30:57

szlghyx 发表于 2018-1-15 09:44
好的,谢谢,之所以提这样的问题,是刚好这两天在弄某某某软件的破解,网络上只提了禁止某某某软件的两个 ...

它要求至少必须每一个月连一次网络,就是为了检查有没有授权,这个就得另外想办法了。
页: [1] 2
查看完整版本: 批处理利用Windows防火墙阻止程序和服务联网!