Total Pageviews

Sunday, 8 February 2015

windows下,封锁端口的方案

 有些情况下需要封掉程序打开的某些固定端口,故而制定此简易方案,这里我们以11平台游戏来举例。

1,打开需要封闭端口的联网程序(11平台),完全进入程序后我们按Win+D键切换到桌面。这里有两种方法查看联网程序的PID分别举出:

 1)第一种:Win+R,输入CMD,然后在弹出窗口输入tasklist显示任务列表(正在运行的所有进程),可以看到他PID,即20936。

 2)第二种:ctrl+shift+esc,打开任务管理器,点到进程,然后点击上面的查看--选择列--在PID前面打勾确定,然后就会看到所有11进程的PID,记下来。

2,打开cmd,输入netstat -aon|findstr "20936",该命令相当于查看11gme进程联网的相关端口。其中netstat -aon命令是查看所有联网程序占用端口,这里20936是自己记下来的11game的进程号码。

3,这里建议多次关闭11再开11,然后进入不同的房间,重复上面查看端口的操作,从而得知11端口占用的规律。

4,从上面的操作以及下图的结果可以看出该游戏本地端口开启的是某些不固定的群端口,但是远程端口在同一个房间中却是几乎是固定的,80一般是网页端口,所不能封,封掉就无法打开网页了,可以注意到3080等端口应该是这个房间的固定连接端口,但是如果登陆11不是在这房间玩的话,就要去想要封掉端口的房间看看具体端口情况。如果是LoL之类游戏的话,远程端口应该是固定,相对封锁远程端口会效果好一点。

5,具体的封锁方法的话一般分为路由器封锁、系统自带封锁、以及防火墙封锁。这里选择封锁2099远程端口为例子。

  1)路由器封锁
  路由器封锁大同小异,举一个例子即可。如下图之步骤进入到路由器的过滤ip选项中进行设置。
    这里是进行封锁外网端口的具体方法,内部端口的话可以自行思考。

  这个配置图片表示的具体含义如下:

  生效时间:00:00-24:00,就是全天生效

  局域网IP地址:可以是本机的IP,也可以是整个内网的

  局域网端口:1-65534,表示所有端口

  广域网IP地址:留空,表示连接到所有外网IP

  广域网端口:这个我们填上想要封禁的端口

  协议:可以是TCP、UDP等,为了方便我直接用默认的ALL,就是所有协议

  通过:这里是设置数据包通过或阻止的,这里使用黑名单方式,即禁止通过

  状态:生效

  做了以上修改之后,我们点保存,让规则生效。

  综合起来,这条防火墙规则的意思是:从0点到24点这段时间内,内网IP地址为192.168.1.3的电脑,通过本机所有的端口连接到所有外网的2099端口的数据包,不管是任何协议,都禁止通过路由器。


  2)系统自带封锁

  运行Win+R,输入gpedit.msc,找到ip安全策略.

  创建ip安全策略,
    
  然后不停的下一步,直到出现了如下的新窗口,就点击添加,

  然后不停的下一步,直到出现了如下的新窗口,点选前面的小圈,然后点击编辑,

  接下来弹出对话框的,还是继续要点击编辑,

  如下图出来了这个页面之后要把源变成我的ip,接着点到协议选项卡 把协议改成tcp,然后到如下图修改就是筛选任何指向远程2099端口的tcp内容。

  确定之后,还要点下一步,点选前面的小圈,然后编辑,接着就是在选项卡里面选择阻止,确定。

接下来就是不停确定完成了,最后来到开始开始的ip安全策略,点击分配,执行这个端口阻止行为。

3)防火墙封锁。
  一般是第三方软件,可自行百度各个软件封锁的方案,这里是windows7自带防火墙说明。

  这里必须要在控制面板里面找到自己的防火墙,然后事先确认打开了防火墙。然后点击高级设置。

  然后是出站规则--新建规则--端口,

  下一步之后就要如图设定再写上2099。

  下一步,点选阻止,下一步,确定全部打勾之后下一步,名称可随意,确定即可。

  当然相对的,如果封锁本地端口,则要如上面所写一般到入站规则来改写。
  最后请确认自己的防火墙是开启的。