一、常用端口及其分类
电脑在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
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!