欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

一键关闭服务器危险端口BAT文件安防篇[端口介绍]

程序员文章站 2022-09-25 19:35:09
默认状态下,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)。
一键关闭服务器危险端口BAT文件安防篇[端口介绍]

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,单击“确定”按钮后重新启动后即可。
一键关闭服务器危险端口BAT文件安防篇[端口介绍]

一键关闭服务器危险端口BAT文件安防篇[端口介绍]

②关闭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