端口介绍

简介:
端口包括两种,一种是硬件的,就是插网线的那个口。一种是软件的,是一种虚拟的口。 
一个应用程序需要一个虚拟的连接口。 
比如你上网页所需要的HTTP协议。它所使用的就是80端口。 
你文件传输所使用的FTP用的就是22、23两个端口。
比如在TCP/IP协议中,运输层与应用层的连接就是靠端口来实现的.端口其实是一种虚拟的东西!
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。 
  什么是端口 
  本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。 
  端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。 
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启
端口概念
  在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。 


  查看端口
  在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令:
  依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

  关闭/开启端口
  在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。

  关闭端口
  比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。

  开启端口
  如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。
  提示:在Windows 98中没有“服务”选项,你可以使用防火墙的规则设置功能来关闭/开启端口。
  端口分类

  逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:

  1. 按端口号分布划分

  (1)知名端口(Well-Known Ports)
  知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

  (2)动态端口(Dynamic Ports)
  动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
  不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。

  2. 按协议类型划分
  按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:

  (1)TCP端口
  TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。

  (2)UDP端口
  UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
  常见网络端口

  网络基础知识!端口对照

  端口: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 
  服务:FTP 
  说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。 

  端口:22 
  服务:Ssh 
  说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。 

  端口:23 
  服务:Telnet 
  说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。 

  端口:25 
  服务:SMTP 
  说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。 

  端口:31 
  服务:MSG Authentication 
  说明:木马Master Paradise、Hackers Paradise开放此端口。 

  端口:42 
  服务:WINS Replication 
  说明:WINS复制 

  端口:53 
  服务:Domain Name Server(DNS) 
  说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。 

  端口:67 
  服务:Bootstrap Protocol Server 
  说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。 

  端口:69 
  服务:Trival File Transfer 
  说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。 

  端口:79 
  服务:Finger Server 
  说明:入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。 

  端口:80 
  服务:HTTP 
  说明:用于网页浏览。木马Executor开放此端口。 

  端口:99 
  服务:Metagram Relay 
  说明:后门程序ncx99开放此端口。 

  端口:102 
  服务:Message transfer agent(MTA)-X.400 over TCP/IP 
  说明:消息传输代理。 

  端口:109 
  服务:Post Office Protocol -Version3 
  说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。 

  端口:110 
  服务:SUN公司的RPC服务所有端口 
  说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等 

  端口:113 
  服务:Authentication Service 
  说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。 

  端口:119 
  服务:Network News Transfer Protocol 
  说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。 

  端口:135 
  服务:Location Service 
  说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。 

  端口:137、138、139 
  服务:NETBIOS Name Service 
  说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。 

  端口:143 
  服务:Interim Mail Access Protocol v2 
  说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。 

  端口:161 
  服务:SNMP 
  说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。 

  端口:177 
  服务:X Display Manager Control Protocol 
  说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。 

  端口:389 
  服务:LDAP、ILS 
  说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。 

  端口:443 
  服务:Https 
  说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。 

  端口:456 
  服务:[NULL] 
  说明:木马HACKERS PARADISE开放此端口。 

  端口:513 
  服务:Login,remote login 
  说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。 

  端口:544 
  服务:[NULL] 
  说明:kerberos kshell 

  端口:548 
  服务:Macintosh,File Services(AFP/IP) 
  说明:Macintosh,文件服务。 

  端口:553 
  服务:CORBA IIOP (UDP) 
  说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。 

  端口:555 
  服务:DSF 
  说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。 

  端口:568 
  服务:Membership DPA 
  说明:成员资格 DPA。 

  端口:569 
  服务:Membership MSN 
  说明:成员资格 MSN。 

  端口:635 
  服务:mountd 
  说明:Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。 

  端口:636 
  服务:LDAP 
  说明:SSL(Secure Sockets layer) 

  端口:666 
  服务:Doom Id Software 
  说明:木马Attack FTP、Satanz Backdoor开放此端口 

  端口:993 
  服务:IMAP 
  说明:SSL(Secure Sockets layer) 

  端口:1001、1011 
  服务:[NULL] 
  说明:木马Silencer、WebEx开放1001端口。木马Doly Trojan开放1011端口。 

  端口:1024 
  服务:Reserved 
  说明:它是动态端口的开始,许多程序并不在乎用哪个端口连接网络,它们请求系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这就是说第一个向系统发出请求的会分配到1024端口。你可以重启机器,打开Telnet,再打开一个窗口运行natstat -a 将会看到Telnet被分配1024端口。还有SQL session也用此端口和5000端口。 

  端口:1025、1033 
  服务:1025:network blackjack 1033:[NULL] 
  说明:木马netspy开放这2个端口。 

  端口:1080 
  服务:SOCKS 
  说明:这一协议以通道方式穿过防火墙,允许防火墙后面的人通过一个IP地址访问INTERNET。理论上它应该只允许内部的通信向外到达INTERNET。但是由于错误的配置,它会允许位于防火墙外部的攻击穿过防火墙。WinGate常会发生这种错误,在加入IRC聊天室时常会看到这种情况。 

  端口:1170 
  服务:[NULL] 
  说明:木马Streaming Audio Trojan、Psyber Stream Server、Voice开放此端口。 

  端口:1234、1243、6711、6776 
  服务:[NULL] 
  说明:木马SubSeven2.0、Ultors Trojan开放1234、6776端口。木马SubSeven1.0/1.9开放1243、6711、6776端口。 

  端口:1245 
  服务:[NULL] 
  说明:木马Vodoo开放此端口。 

  端口:1433 
  服务:SQL 
  说明:Microsoft的SQL服务开放的端口。 

  端口:1492 
  服务:stone-design-1 
  说明:木马FTP99CMP开放此端口。 

  端口:1500 
  服务:RPC client fixed port session queries 
  说明:RPC客户固定端口会话查询 

  端口:1503 
  服务:NetMeeting T.120 
  说明:NetMeeting T.120 

  端口:1524 
  服务:ingress 
  说明:许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本。如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因。可以试试Telnet到用户的计算机上的这个端口,看看它是否会给你一个SHELL。连接到600/pcserver也存在这个问题端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。









本文转自 life0 51CTO博客,原文链接:http://blog.51cto.com/life0/12411,如需转载请自行联系原作者
目录
相关文章
|
30天前
|
安全 网络协议 Linux
ip和端口介绍以及常用范围
ip和端口介绍以及常用范围
17 0
|
2月前
|
SQL 网络协议 Oracle
3、端口
3、端口
15 0
|
4月前
|
安全 网络协议 Unix
端口和安全
端口和安全
|
7月前
|
SQL 网络协议 网络安全
常用端口大全
常用端口大全
62 1
|
网络协议 数据安全/隐私保护 网络虚拟化
|
SQL 网络协议 前端开发
|
SQL 网络协议 安全
|
网络协议 Linux iOS开发
|
网络协议 网络安全