一键关闭服务器危险端口BAT文件安防篇[端口介绍]
程序员文章站
2022-04-06 20:32:39
默认状态下,windows会在你的电脑上打开许多服务端口,黑客常常利用这些端口来实施入侵,因此掌握端口方面的知识,是安全上网必备的技能。 一、常用端口及其分类 电脑在int...
默认状态下,windows会在你的电脑上打开许多服务端口,黑客常常利用这些端口来实施入侵,因此掌握端口方面的知识,是安全上网必备的技能。
一、常用端口及其分类
电脑在internet上相互通信需要使用tcp/ip协议,根据tcp/ip协议规定,电脑有256×256(65536)个端口,这些端口可分为tcp端口和udp端口两种。如果按照端口号划分,它们又可以分为以下两大类:
1.系统保留端口(从0到1023)
这些端口不允许你使用,它们都有确切的定义,对应着因特网上常见的一些服务,每一个打开的此类端口,都代表一个系统服务,例如80端口就代表web服务。21对应着ftp,25对应着smtp、110对应着pop3等(如图1)。
2.动态端口(从1024到65535)
当你需要与别人通信时,windows会从1024起,在本机上分配一个动态端口,如果1024端口未关闭,再需要端口时就会分配1025端口供你使用,依此类推。
但是有个别的系统服务会绑定在1024到49151的端口上,例如3389端口(远程终端服务)。从49152到65535这一段端口,通常没有捆绑系统服务,允许windows动态分配给你使用。
二、如何查看本机开放了哪些端口
在默认状态下,windows会打开很多“服务端口”,如果你想查看本机打开了哪些端口、有哪些电脑正在与本机连接,可以使用以下两种方法。
1.利用netstat命令
windows提供了netstat命令,能够显示当前的 tcp/ip 网络连接情况,注意:只有安装了tcp/ip协议,才能使用netstat命令。
操作方法:单击“开始→程序→附件→命令提示符”,进入dos窗口,输入命令 netstat -na 回车,于是就会显示本机连接情况及打开的端口,如图2。其中local address代表本机ip地址和打开的端口号(图中本机打开了135端口),foreign address是远程计算机ip地址和端口号,state表明当前tcp的连接状态,图中listening是监听状态,表明本机正在打开135端口监听,等待远程电脑的连接。
如果你在dos窗口中输入了netstat -nab命令,还将显示每个连接都是由哪些程序创建的。上图2中本机在135端口监听,就是由svchost.exe程序创建的,该程序一共调用了5个组件(ws2_32.dll、rpcrt4.dll、rpcss.dll、svchost.exe、advapi32.dll)来完成创建工作。如果你发现本机打开了可疑的端口,就可以用该命令察看它调用了哪些组件,然后再检查各组件的创建时间和修改时间,如果发现异常,就可能是中了木马。
2.使用端口监视类软件
与netstat命令类似,端口监视类软件也能查看本机打开了哪些端口,这类软件非常多,著名的有tcpview、port reporter、绿鹰pc万能精灵、网络端口查看器等,推荐你上网时启动tcpview,密切监视本机端口连接情况,这样就能严防非法连接,确保自己的网络安全。
三、关闭本机不用的端口
默认情况下windows有很多端口是开放的,一旦你上网,黑客可以通过这些端口连上你的电脑,因此你应该封闭这些端口。主要有:tcp139、445、593、1025 端口和 udp123、137、138、445、1900端口、一些流行病毒的后门端口(如 tcp 2513、2745、3127、6129 端口),以及远程服务访问端口3389。关闭的方法是:
①137、138、139、445端口:它们都是为共享而开放的,你应该禁止别人共享你的机器,所以要把这些端口全部关闭,方法是:单击“开始→控制面板→系统→硬件→设备管理器”,单击“查看”菜单下的“显示隐藏的设备”,双击“非即插即用驱动程序”,找到并双击netbios over tcpip,在打开的“netbios over tcpip属性”窗口中,单击选中“常规”标签下的“不要使用这个设备(停用)”,如图3,单击“确定”按钮后重新启动后即可。
②关闭udp123端口:单击“开始→设置→控制面板”,双击“管理工具→服务”,停止windows time服务即可。关闭udp 123端口,可以防范某些蠕虫病毒。
③关闭udp1900端口:在控制面板中双击“管理工具→服务”,停止ssdp discovery service 服务即可。关闭这个端口,可以防范ddos攻击。
④其他端口:你可以用网络防火墙来关闭,或者在“控制面板”中,双击“管理工具→本地安全策略”,选中“ip 安全策略,在本地计算机”,创建 ip 安全策略来关闭。
四、重定向本机默认端口,保护系统安全
如果本机的默认端口不能关闭,你应该将它“重定向”。把该端口重定向到另一个地址,这样即可隐藏公认的默认端口,降低受破坏机率,保护系统安全。
例如你的电脑上开放了远程终端服务(terminal server)端口(默认是3389),可以将它重定向到另一个端口(例如1234),方法是:
1.在本机上(服务器端)修改
定位到下列两个注册表项,将其中的 portnumber,全部改成自定义的端口(例如1234)即可:
[hkey_local_machine\system\currentcontrolset\control\terminal server\wds\rdpwd\tds\tcp]
[hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\rdp-tcp]
2.在客户端上修改
依次单击“开始→程序→附件→通讯→远程桌面连接”,打开“远程桌面连接”窗口,单击“选项”按钮扩展窗口,填写完相关参数后,单击“常规”下的“另存为”按钮,将该连接参数导出为.rdp文件。用记事本打开该文件,在文件最后添加一行:server port:i:1234 (这里填写你服务器自定义的端口)。以后,直接双击这个.rdp 文件即可连接到服务器的这个自定义端口了
一键关闭危险端口(135 137 138 139 445 593 1025 3389)bat文件篇
@echo off
color 1f
title 关闭常见的危险端口
echo.
echo.
echo 本批处理用于启动xp系统的防火墙并关闭常见的危险端口
echo.
echo 请确认您正在使用的是xp系统 并且未安装其他防火墙
echo.
echo 以避免与xp系统的防火墙发生冲突
echo.
echo.
echo.
pause
cls
echo 正在启动防火墙 请稍候…
sc config sharedaccess start= auto > nul
net start sharedaccess > nul
echo 防火墙已经成功启动
echo.
echo 正在关闭常见的危险端口 请稍候…
echo.
echo 正在关闭135端口 请稍候…
netsh firewall set portopening protocol = all port = 135 name = 135 mode = disable scope = all profile = all
echo 正在关闭137端口 请稍候…
netsh firewall set portopening protocol = all port = 137 name = 137 mode = disable scope = all profile = all
echo 正在关闭138端口 请稍候…
netsh firewall set portopening protocol = all port = 138 name = 138 mode = disable scope = all profile = all
echo 正在关闭139端口 请稍候…
netsh firewall set portopening protocol = all port = 139 name = 139 mode = disable scope = all profile = all
echo 正在关闭445端口 请稍候…
netsh firewall set portopening protocol = all port = 445 name = 445 mode = disable scope = all profile = all
echo 正在关闭593端口 请稍候…
netsh firewall set portopening protocol = tcp port = 593 name = 593 mode = disable scope = all profile = all
echo 正在关闭1025端口 请稍候…
netsh firewall set portopening protocol = tcp port = 1025 name = 1024 mode = disable scope = all profile = all
echo 正在关闭3389端口 请稍候…
netsh firewall set portopening protocol = all port = 3389 name = 3389 mode = disable scope = all profile = all
cls
echo.
echo.
echo.
echo 常见的危险端口已经关闭
echo.
echo.
echo.
echo.
echo
echo.
echo.
echo.
echo 按任意键退出
pause>nul
一、常用端口及其分类
电脑在internet上相互通信需要使用tcp/ip协议,根据tcp/ip协议规定,电脑有256×256(65536)个端口,这些端口可分为tcp端口和udp端口两种。如果按照端口号划分,它们又可以分为以下两大类:
1.系统保留端口(从0到1023)
这些端口不允许你使用,它们都有确切的定义,对应着因特网上常见的一些服务,每一个打开的此类端口,都代表一个系统服务,例如80端口就代表web服务。21对应着ftp,25对应着smtp、110对应着pop3等(如图1)。
2.动态端口(从1024到65535)
当你需要与别人通信时,windows会从1024起,在本机上分配一个动态端口,如果1024端口未关闭,再需要端口时就会分配1025端口供你使用,依此类推。
但是有个别的系统服务会绑定在1024到49151的端口上,例如3389端口(远程终端服务)。从49152到65535这一段端口,通常没有捆绑系统服务,允许windows动态分配给你使用。
二、如何查看本机开放了哪些端口
在默认状态下,windows会打开很多“服务端口”,如果你想查看本机打开了哪些端口、有哪些电脑正在与本机连接,可以使用以下两种方法。
1.利用netstat命令
windows提供了netstat命令,能够显示当前的 tcp/ip 网络连接情况,注意:只有安装了tcp/ip协议,才能使用netstat命令。
操作方法:单击“开始→程序→附件→命令提示符”,进入dos窗口,输入命令 netstat -na 回车,于是就会显示本机连接情况及打开的端口,如图2。其中local address代表本机ip地址和打开的端口号(图中本机打开了135端口),foreign address是远程计算机ip地址和端口号,state表明当前tcp的连接状态,图中listening是监听状态,表明本机正在打开135端口监听,等待远程电脑的连接。
如果你在dos窗口中输入了netstat -nab命令,还将显示每个连接都是由哪些程序创建的。上图2中本机在135端口监听,就是由svchost.exe程序创建的,该程序一共调用了5个组件(ws2_32.dll、rpcrt4.dll、rpcss.dll、svchost.exe、advapi32.dll)来完成创建工作。如果你发现本机打开了可疑的端口,就可以用该命令察看它调用了哪些组件,然后再检查各组件的创建时间和修改时间,如果发现异常,就可能是中了木马。
2.使用端口监视类软件
与netstat命令类似,端口监视类软件也能查看本机打开了哪些端口,这类软件非常多,著名的有tcpview、port reporter、绿鹰pc万能精灵、网络端口查看器等,推荐你上网时启动tcpview,密切监视本机端口连接情况,这样就能严防非法连接,确保自己的网络安全。
三、关闭本机不用的端口
默认情况下windows有很多端口是开放的,一旦你上网,黑客可以通过这些端口连上你的电脑,因此你应该封闭这些端口。主要有:tcp139、445、593、1025 端口和 udp123、137、138、445、1900端口、一些流行病毒的后门端口(如 tcp 2513、2745、3127、6129 端口),以及远程服务访问端口3389。关闭的方法是:
①137、138、139、445端口:它们都是为共享而开放的,你应该禁止别人共享你的机器,所以要把这些端口全部关闭,方法是:单击“开始→控制面板→系统→硬件→设备管理器”,单击“查看”菜单下的“显示隐藏的设备”,双击“非即插即用驱动程序”,找到并双击netbios over tcpip,在打开的“netbios over tcpip属性”窗口中,单击选中“常规”标签下的“不要使用这个设备(停用)”,如图3,单击“确定”按钮后重新启动后即可。
②关闭udp123端口:单击“开始→设置→控制面板”,双击“管理工具→服务”,停止windows time服务即可。关闭udp 123端口,可以防范某些蠕虫病毒。
③关闭udp1900端口:在控制面板中双击“管理工具→服务”,停止ssdp discovery service 服务即可。关闭这个端口,可以防范ddos攻击。
④其他端口:你可以用网络防火墙来关闭,或者在“控制面板”中,双击“管理工具→本地安全策略”,选中“ip 安全策略,在本地计算机”,创建 ip 安全策略来关闭。
四、重定向本机默认端口,保护系统安全
如果本机的默认端口不能关闭,你应该将它“重定向”。把该端口重定向到另一个地址,这样即可隐藏公认的默认端口,降低受破坏机率,保护系统安全。
例如你的电脑上开放了远程终端服务(terminal server)端口(默认是3389),可以将它重定向到另一个端口(例如1234),方法是:
1.在本机上(服务器端)修改
定位到下列两个注册表项,将其中的 portnumber,全部改成自定义的端口(例如1234)即可:
[hkey_local_machine\system\currentcontrolset\control\terminal server\wds\rdpwd\tds\tcp]
[hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\rdp-tcp]
2.在客户端上修改
依次单击“开始→程序→附件→通讯→远程桌面连接”,打开“远程桌面连接”窗口,单击“选项”按钮扩展窗口,填写完相关参数后,单击“常规”下的“另存为”按钮,将该连接参数导出为.rdp文件。用记事本打开该文件,在文件最后添加一行:server port:i:1234 (这里填写你服务器自定义的端口)。以后,直接双击这个.rdp 文件即可连接到服务器的这个自定义端口了
一键关闭危险端口(135 137 138 139 445 593 1025 3389)bat文件篇
复制代码 代码如下:
@echo off
color 1f
title 关闭常见的危险端口
echo.
echo.
echo 本批处理用于启动xp系统的防火墙并关闭常见的危险端口
echo.
echo 请确认您正在使用的是xp系统 并且未安装其他防火墙
echo.
echo 以避免与xp系统的防火墙发生冲突
echo.
echo.
echo.
pause
cls
echo 正在启动防火墙 请稍候…
sc config sharedaccess start= auto > nul
net start sharedaccess > nul
echo 防火墙已经成功启动
echo.
echo 正在关闭常见的危险端口 请稍候…
echo.
echo 正在关闭135端口 请稍候…
netsh firewall set portopening protocol = all port = 135 name = 135 mode = disable scope = all profile = all
echo 正在关闭137端口 请稍候…
netsh firewall set portopening protocol = all port = 137 name = 137 mode = disable scope = all profile = all
echo 正在关闭138端口 请稍候…
netsh firewall set portopening protocol = all port = 138 name = 138 mode = disable scope = all profile = all
echo 正在关闭139端口 请稍候…
netsh firewall set portopening protocol = all port = 139 name = 139 mode = disable scope = all profile = all
echo 正在关闭445端口 请稍候…
netsh firewall set portopening protocol = all port = 445 name = 445 mode = disable scope = all profile = all
echo 正在关闭593端口 请稍候…
netsh firewall set portopening protocol = tcp port = 593 name = 593 mode = disable scope = all profile = all
echo 正在关闭1025端口 请稍候…
netsh firewall set portopening protocol = tcp port = 1025 name = 1024 mode = disable scope = all profile = all
echo 正在关闭3389端口 请稍候…
netsh firewall set portopening protocol = all port = 3389 name = 3389 mode = disable scope = all profile = all
cls
echo.
echo.
echo.
echo 常见的危险端口已经关闭
echo.
echo.
echo.
echo.
echo
echo.
echo.
echo.
echo 按任意键退出
pause>nul