热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

众所周知,计算机之间通信是通过端口进行的,例如你访问一个网站时,Windows就会在本机开一个端口(例如1025端口),然后去连接远方网站服务器的一个端口,别人访问你时也是如此
默认状态下,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

推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文介绍了EasyRTSPClient这一高效、稳定的RTSP客户端工具库,并详细阐述了其在与大华球机对接过程中遇到的预览问题及解决方法。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • 随着物联网技术的快速发展,NB-IoT(窄带物联网)作为一项关键的技术,正逐步成为实现大规模设备互联的重要手段。本文将详细介绍NB-IoT技术的特点、应用场景及其在实际项目中的应用实例。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
  • 本文提供了多种有效的方法来解决RPC(远程过程调用)服务器不可用的问题,包括通过修改注册表、使用SC命令以及利用故障恢复控制台等技术手段。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 本文将探讨UDP(User Datagram Protocol)协议的特点及其适用场景,与常见的TCP协议进行对比,帮助读者更好地理解和选择合适的传输协议。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
author-avatar
zdl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有