在网络技术中,端口(Port)大体有两种意思:
一是物理意义上的端口,
好比,ADSL Modem、集线器、交换机、路由器用于链接其余网络设备的接口,如RJ-45端口、SC端口等等。
二是逻辑意义上的端口,通常是指TCP/IP协议中的端口,端口号的范围从0到65535,好比用于浏览网页服务的80端口,用于FTP服务的21端口等等。
咱们这里将要介绍的就是逻辑意义上的端口。
逻辑意义上的端口是指本地操做系统会给那些有需求的进程分配的协议端口 (protocal port,即咱们常说的端口),
每一个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,
把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
两台host的通讯其实是进程间的通讯,经过各自IP在网络中找到对方的网卡,host接收要经过对应端口接收,对应进程在此端口领取数据。
端口其实就是队,操做系统为各个进程分配了不一样的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的状况下,
这个队也是有可能溢出的,不过操做系统容许各进程指定和调整本身的队的大小。
不光接受数据报的进程须要开启它本身的端口,发送数据报的进程也须要开启端口,这样,数据报中将会标识有源端口,
以便接受方能顺利的回传数据报到这个端口。
端口分类
逻辑意义上的端口有多种分类标准:
1. 按端口号分布划分
(1)知名端口(Well-Known Ports)|固定端口
知名端口即众所周知的端口号,范围从0到1023,这些端口号通常固定分配给一些服务。好比21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,
80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。
因为这些端口紧绑于一些服务,因此咱们会常常扫描这些端口来判断对方 是否开启了这些服务,
如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些你们熟知的端口;
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535|49151?,这些端口号通常不固定分配给某个服务,也就是说许多服务均可以使用这些端口。只要运行的程序向系统提出访问网络的申请,
那么系统就能够从这些端口号中分配一个供该程序使用。好比1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
操做系统将这些端口动态的分配给各个进程, 同一进程两次分配有可能分配到不一样的端口。
不过一些应用程序并不肯意使用操做系统分配的动态端口,
他们有其本身的‘商标性’端口,如oicq客户端的 4000端口,木马冰河的7626端口等都是固定而出名的。
动态端口也经常被病毒木马程序所利用,如冰河默认链接端口是762六、WAY 2.4是80十一、Netspy 3.0是730六、YAI病毒是1024等等。
2. 按协议类型划分
按协议类型划分,能够分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:
他们都用正整数标识,但这并不会引发歧义,TCP的80端口和UDP的80端口,由于数据报在标明端口的同时,还将标明端口的类型。
(1)TCP端口
TCP端口,即传输控制协议端口,须要在客户端和服务器之间创建链接,这样能够提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,
SMTP服务的25端口,以及HTTP服务的80端口等等。
(2)UDP端口
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间创建链接,安全性得不到保障。常见的有DNS服务的53端口,
SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
查看端口
在Windows 2000/XP/Server 2003中要查看端口,可使用Netstat命令:
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就能够看到以数字形式显示的TCP和UDP链接的端口号及状态。
小知识:Netstat命令用法
命令格式:Netstat ?-a? ?-e? ?-n? ?-o? ?-s?
-a 表示显示全部活动的TCP链接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示全部活动的TCP链接的地址和端口号。
-o 表示显示活动的TCP链接并包括每一个链接的进程ID(PID)。
-s 表示按协议显示各类链接的统计信息,包括端口号。
关闭/开启端口
在介绍各类端口的做用前,这里先介绍一下在Windows中如何关闭/打开端口,由于默认的状况下,有不少不安全的或没有什么用的端口是开启的,
好比Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。
为了保证系统的安全性,咱们能够经过下面的方法来关闭/开启端口。
关闭端口
好比在Windows 2000/XP中关闭SMTP服务的25端口,能够这样作:首先打开“控制面板”,双击“管理工具”,
再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“中止”按钮来中止该服务,而后在“启动类型”中选择“已禁用”,最后单击“肯定”按钮便可。这样,关闭了SMTP服务就至关于关闭了对应的端口。
开启端口
若是要开启该端口只要先在“启动类型”选择“自动”,单击“肯定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮便可启用该端口,最后,单击“肯定”按钮便可。
提示:在Windows 98中没有“服务”选项,你可使用防火墙的规则设置功能来关闭/开启端口。
常见网络端口
端口:0
服务:Reserved
说明:一般用于分析操做系统。这一方法可以工做是由于在一些系统中“0”是无效端口,当你试图使用一般的闭合端口链接它时将产生不一样的结果。
一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认状况下tcpmux在这种系统中被打开。
Irix机器在发布是含有几个默认的无密码的账户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。
许多管理员在安装后忘记删除这些账户。所以HACKER在INTERNET上搜索tcpmux并利用这些账户。
端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
端口:19
服务:Character Generator
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP链接时会发送含有垃圾字符的数据流直到链接关闭。
HACKER利用IP欺骗能够发动DoS攻击。伪造两个chargen服务器之间的UDP包。一样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,
受害者为了回应这些数据而过载。
21端口
端口说明:21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,
一台计算机做为FTP客户端,另外一台计算机做为FTP服务器,能够采用匿名(anonymous)登陆和受权用户名与密码登陆两种方式登陆FTP服务器。目前,
经过FTP服务来实现文件的传输是互联网上上传、下载文件最主要的方法。另外,还有一个20端口是用于FTP数据传输的默认端口号。
在Windows中能够经过Internet信息服务(IIS)来提供FTP链接和管理,也能够单独安装FTP服务器软件来实现FTP功能,好比常见的FTP Serv-U。
操做建议:由于有的FTP服务器能够经过匿名登陆,因此经常会被黑客利用。另外,21端口还会被一些木马利用,好比Blade Runner、FTP Trojan、
Doly Trojan、WebEx等等。若是不架设FTP服务器,建议关闭21端口。
端口:22
服务:Ssh
说明:PcAnywhere创建的TCP和这一端口的链接多是为了寻找ssh。这一服务有许多弱点,若是配置成特定的模式,许多使用RSAREF库的版本就会有很多的漏洞存在。
23端口
端口说明:23端口主要用于Telnet(远程登陆)服务,是Internet上广泛采用的登陆和仿真程序。一样须要设置客户端和服务器端,
开启Telnet服务的客户端就能够登陆远程Telnet服务器,采用受权用户名和密码登陆。登陆以后,容许用户使用命令提示符窗口进行相应的操做。
在Windows中能够在命令提示符窗口中,键入“Telnet”命令来使用Telnet远程登陆。
操做建议:利用Telnet服务,黑客能够搜索远程登陆Unix的服务,扫描操做系统的类型。并且在Windows 2000中Telnet服务存在多个严重的漏洞,
好比提高权限、拒绝服务等,可让远程服务器崩溃。Telnet服务的23端口也是TTS(Tiny Telnet Server)木马的缺省端口。因此,建议关闭23端口。
上面咱们介绍了关闭/开启端口的方法,并介绍了21和23端口的内容,下面将介绍其余的常见端口说明,以及相应的操做建议。
25端口
端口说明:25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,现在绝大多数邮件服务器都使用该协议。
好比咱们在使用电子邮件客户端程序的时候,在建立帐户时会要求输入SMTP服务器地址,该服务器地址默认状况下使用的就是25端口。
端口漏洞:
1. 利用25端口,黑客能够寻找SMTP服务器,用来转发垃圾邮件。
2. 25端口被不少木马程序所开放,好比Ajan、Antigen、Email Password Sender、ProMail、trojan、Tapiras、Terminator、WinPC、WinSpy等等。
拿WinSpy来讲,经过开放25端口,能够监视计算机正在运行的全部窗口和模块。
操做建议:若是不是要架设SMTP邮件服务器,能够将该端口关闭。
53端口
端口说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为普遍。
经过DNS服务器能够实现域名与IP地址之间的转换,只要记住域名就能够快速访问网站。
端口漏洞:若是开放DNS服务,黑客能够经过分析DNS服务器而直接获取Web服务器等主机的IP地址,再利用53端口突破某些不稳定的防火墙,从而实施攻击。
近日,美国一家公司也公布了10个最易遭黑客攻击的漏洞,其中第一位的就是DNS服务器的BIND漏洞。
操做建议:若是当前的计算机不是用于提供域名解析服务,建议关闭该端口。
6七、68端口
端口说明:6七、68端口分别是为Bootp服务的Bootstrap Protocol Server(引导程序协议服务端)和Bootstrap Protocol Client(引导程序协议客户端)
开放的端口。Bootp服务是一种产生于早期Unix的远程启动协议,咱们如今常常用到的DHCP服务就是从Bootp服务扩展而来的。经过Bootp服务能够为局域网中的计算机
动态分配IP地址,而不须要每一个用户去设置静态IP地址。
端口漏洞:若是开放Bootp服务,经常会被黑客利用分配的一个IP地址做为局部路由器经过“中间人”(man-in-middle)方式进行攻击。
操做建议:建议关闭该端口。
上面咱们介绍了用于SMTP服务的25端口、DNS服务器的53端口以及用于Bootp服务的6七、68端口,下面将分别介绍用于TFTP的69端口、用于Finger服务的79端口
和常见的用于HTTP服务的80端口。
69端口
端口说明:69端口是为TFTP(Trival File Tranfer Protocol,次要文件传输协议)服务开放的,TFTP是Cisco公司开发的一个简单文件传输协议,相似于FTP。
不过与FTP相比,TFTP不具备复杂的交互存取接口和认证控制,该服务适用于不须要复杂交换环境的客户端和服务器之间进行数据传输。
端口漏洞:不少服务器和Bootp服务一块儿提供TFTP服务,主要用于从系统下载启动代码。但是,由于TFTP服务能够在系统中写入文件,并且黑客还能够利用TFTP的错误配
置来从系统获取任何文件。
操做建议:建议关闭该端口。
79端口
端口说明:79端口是为Finger服务开放的,主要用于查询远程主机在线用户、操做系统类型以及是否缓冲区溢出等用户的详细信息。
好比要显示远程计算机www.abc.com上的user01用户的信息,能够在命令行中键入“finger user01@www.abc.com”便可。
端口漏洞:通常黑客要攻击对方的计算机,都是经过相应的端口扫描工具来得到相关信息,好比使用“流光”就能够利用79端口来扫描远程计算机操做系统版本,
得到用户信息,还能探测已知的缓冲区溢出错误。这样,就容易遭遇到黑客的攻击。并且,79端口还被Firehotcker木马做为默认的端口。
操做建议:建议关闭该端口。
80端口
端口说明:80端口是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,
主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。咱们能够经过HTTP地址加“:80”(即常说的“网址”)来访问网站的,
好比http://www.cce.com.cn:80,由于浏览网页服务默认的端口号是80,因此只要输入网址,不用输入“:80”。
端口漏洞:有些木马程序能够利用80端口来攻击计算机的,好比Executor、RingZero等。
操做建议:为了能正常上网冲浪,咱们必须开启80端口。
经过上面的介绍,咱们了解了用于TFTP服务的69端口、用于Finger服务的79端口以及上网冲浪用于WWW服务的80端口。下面将分别为你们介绍比较陌生
的99端口、用于POP3服务的10九、110端口和RPC服务的111端口。
99端口
端口说明:99端口是用于一个名为“Metagram Relay”(亚对策延时)的服务,该服务比较少见,通常是用不到的。
端口漏洞:虽然“Metagram Relay”服务不经常使用,但是Hidden Port、NCx99等木马程序会利用该端口,好比在Windows 2000中,NCx99能够把cmd.
exe程序绑定到99端口,这样用Telnet就能够链接到服务器,随意添加用户、更改权限。
操做建议:建议关闭该端口
10九、110端口
端口说明:109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的,110端口是为POP3(邮件协议3)服务开放的,
POP二、POP3都是主要用于接收邮件的,目前POP3使用的比较多,许多服务器都同时支持POP2和POP3。客户端可使用POP3协议来访问服务端的邮件服务,
现在ISP的绝大多数邮件服务器都是使用该协议。在使用电子邮件客户端程序的时候,会要求输入POP3服务器地址,默认状况下使用的就是110端口(如图)。
端口漏洞:POP二、POP3在提供邮件接收服务的同时,也出现了很多的漏洞。单单POP3服务在用户名和密码交换缓冲区溢出的漏洞就很多于20个,
好比WebEasyMail POP3 Server合法用户名信息泄露漏洞,经过该漏洞远程攻击者能够验证用户帐户的存在。另外,110端口也被ProMail trojan等木马
程序所利用,经过110端口能够窃取POP帐号用户名和密码。
操做建议:若是是执行邮件服务器,能够打开该端口。
111端口
端口说明:111端口是SUN公司的RPC(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不一样计算机的内部进程通讯
,RPC在多种网络服务中都是很重要的组件。常见的RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等等。在Microsoft的Windows中,一样也有RPC服务。
端口漏洞:SUN RPC有一个比较大漏洞,就是在多个RPC服务时xdr_array函数存在远程缓冲溢出漏洞。
上面咱们介绍了不知名可是容易受到木马攻击的99端口,常见的用于POP服务的10九、110端口,以及用于Sun的RPC服务的111端口。下面将分别介绍与很
多网络服务息息相关的113端口、用于NEWS新闻组传输的119端口以及遭遇“冲击波”攻击的135端口。
113端口
端口说明:113端口主要用于Windows的“Authentication Service”(验证服务),通常与网络链接的计算机都运行该服务,主要用于验证TCP链接的用户,
经过该服务能够得到链接计算机的信息。在Windows 2000/2003 Server中,还有专门的IAS组件,经过该组件能够方便远程访问中进行身份验证以及策略管理。
端口漏洞:113端口虽然能够方便身份验证,可是也经常被做为FTP、POP、SMTP、IMAP以及IRC等网络服务的记录器,这样会被相应的木马程序所利用,
好比基于IRC聊天室控制的木马。另外,113端口仍是Invisible Identd Deamon、Kazimas等木马默认开放的端口。
操做建议:建议关闭该端口。
119端口
端口说明:119端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)开放的,主要用于新闻组的传输,
当查找USENET服务器的时候会使用该端口。
端口漏洞:著名的Happy99蠕虫病毒默认开放的就是119端口,若是中了该病毒会不断发送电子邮件进行传播,并形成网络的堵塞。
操做建议:若是是常用USENET新闻组,就要注意不按期关闭该端口。
135端口
端口说明:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,
经过RPC能够保证在一台计算机上运行的程序能够顺利地执行远程计算机上的代码;使用DCOM能够经过网络直接进行通讯,可以跨包括HTTP协议在内的多种网络传输。
端口漏洞:相信去年不少Windows 2000和Windows XP用户都中了“冲击波”病毒,该病毒就是利用RPC漏洞来攻击计算机的。
RPC自己在处理经过TCP/IP的消息交换部分有一个漏洞,该漏洞是因为错误地处理格式不正确的消息形成的。
该漏洞会影响到RPC与DCOM之间的一个接口,该接口侦听的端口就是135。
操做建议:为了不“冲击波”病毒的攻击,建议关闭该端口。
经过上面的介绍想必你们已经了解到用于验证服务的113端口、用于网络新闻组的119端口,以及被“冲击波”病毒所利用的135端口。
下面笔者将介绍用于NetBIOS名称服务的137端口,用于Windows文件和打印机共享的139端口以及IMAP协议的143端口。
137端口
端口说明:137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务),属于UDP端口,使用者只须要向局域网或互联网上的某台计算机的137端口发送一个请求,
就能够获取该计算机的名称、注册用户名,以及是否安装主域控制器、IIS是否正在运行等信息。
端口漏洞:由于是UDP端口,对于攻击者来讲,经过发送请求很容易就获取目标计算机的相关信息,有些信息是直接能够被利用,并分析漏洞的,好比IIS服务。
另外,经过捕获正在利用137端口进行通讯的信息包,还可能获得目标计算机的启动和关闭的时间,这样就能够利用专门的工具来攻击。
操做建议:建议关闭该端口。
139端口
端口说明:139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。
在Windows中要在局域网中进行文件的共享,必须使用该服务。好比在Windows 98中,能够打开“控制面板”,双击“网络”图标,
在“配置”选项卡中单击“文件及打印共享”按钮选中相应的设置就能够安装启用该服务;在Windows 2000/XP中,能够打开“控制面板”,双击“网络链接”图标,
打开本地链接属性;接着,在属性窗口的“常规”选项卡中选择“Internet协议(TCP/IP)”,单击“属性”按钮;而后在打开的窗口中,单击“高级”按钮;
在“高级TCP/IP设置”窗口中选择“WINS”选项卡,在“NetBIOS设置”区域中启用TCP/IP上的NetBIOS。
端口漏洞:开启139端口虽然能够提供共享服务,可是经常被攻击者所利用进行攻击,好比使用流光、SuperScan等端口扫描工具,能够扫描目标计算机的139端口,
若是发现有漏洞,能够试图获取用户名和密码,这是很是危险的。
操做建议:若是不须要提供文件和打印机共享,建议关闭该端口。
上面咱们介绍了能够获取远程计算机名称等信息的137端口,为Windows提供文件和打印机共享的139端口。下面将介绍用于电子邮件接收服务(IMAP)的143端口,
用于SNMP服务的161端口,以及用于HTTPS服务的443端口。
143端口
端口说明:143端口主要是用于“Internet Message Access Protocol”v2(Internet消息访问协议,简称IMAP),和POP3同样,是用于电子邮件的接收的协议。
经过IMAP协议咱们能够在不接收邮件的状况下,知道信件的内容,方便管理服务器中的电子邮件。不过,相对于POP3协议要负责一些。
现在,大部分主流的电子邮件客户端软件都支持该协议。
端口漏洞:同POP3协议的110端口同样,IMAP使用的143端口也存在缓冲区溢出漏洞,经过该漏洞能够获取用户名和密码。
另外,还有一种名为“admv0rm”的Linux蠕虫病毒会利用该端口进行繁殖。
操做建议:若是不是使用IMAP服务器操做,应该将该端口关闭。
161端口
端口说明:161端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP),该协议主要用于管理TCP/IP网络中的网络协议,
在Windows中经过SNMP服务能够提供关于TCP/IP网络上主机以及各类网络设备的状态信息。目前,几乎全部的网络设备厂商都实现对SNMP的支持。
在Windows 2000/XP中要安装SNMP服务,咱们首先能够打开“Windows组件向导”,在“组件”中选择“管理和监视工具”,
单击“详细信息”按钮就能够看到“简单网络管理协议(SNMP)”,选中该组件;而后,单击“下一步”就能够进行安装。
端口漏洞:由于经过SNMP能够得到网络中各类设备的状态信息,还能用于对网络设备的控制,因此黑客能够经过SNMP漏洞来彻底控制网络。
操做建议:建议关闭该端口。
443端口
端口说明:443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和经过安全端口传输的另外一种HTTP。在一些对安全性要求较高的网站,
好比银行、证券、购物等,都采用HTTPS服务,这样在这些网站上的交换信息其余人都没法看到,保证了交易的安全性。网页的地址以https://开始,
而不是常见的http://。
端口漏洞:HTTPS服务通常是经过SSL(安全套接字层)来保证安全性的,可是SSL漏洞可能会受到黑客的攻击,好比能够黑掉在线银行系统,盗取信用卡帐号等。
操做建议:建议开启该端口,用于安全性网页的访问。另外,为了防止黑客的攻击,应该及时安装微软针对SSL漏洞发布的最新安全补丁。
554端口
端口说明:554端口默认状况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP),该协议是由RealNetworks和Netscape共同提出的,
经过RTSP协议能够借助于Internet将流媒体文件传送到RealPlayer中播放,并能有效地、最大限度地利用
入侵者一般会用扫描器对目标主机的端口进行扫描,以肯定哪些端口是开放的,从开放的端口,入侵者能够知道目标主机大体提供了哪些服务,ios
进而猜想可能存在 的漏洞,所以对端口的扫描能够帮助咱们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是作好安全防范的第一步。api