IP地址的端口是什么意思
IP地址中的端口指的是逻辑端口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
扩展资料:
TCP与UDP段结构中端口地址都是16比特,可以有在0---65535范围内的端口号。对于这65536个端口号有以下的使用规定:
1、端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。任何TCP/IP实现所提供的服务都用1---1023之间的端口号,是由ICANN来管理的;
2、客户端只需保证该端口号在本机上是惟一的就可以了。客户端口号因存在时间很短暂又称临时端口号;
3、TCP/IP实现给临时端口号分配1024---5000之间的端口号。大于5000的端口号是为其他服务器预留的。
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。
端口的分类:
在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类,虽然他们都用正整数标识,但这并不会引起歧义,比如TCP的80端口和UDP的80端口,因为数据报在标明端口的同时,还将标明端口的类型。
从端口的分配来看,端口被分为固定端口和动态端口两大类(一些教程还将极少被用到的高端口划分为第三类:私有端口):
固定端口(0-1023):
使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方是否开启了这些服务,如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;
动态端口(1024-49151):
这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程,同一进程两次分配有可能分配到不同的端口。不过一些应用程序并不愿意使用操作系统分配的动态端口,他们有其自己的‘商标性’端口,如oicq客户端的4000端口,木马冰河的7626端口等都是固定而出名的。
端口在入侵中的作用:
有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。
入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。
常见端口的介绍
由于本人知识有限,在这里只介绍一些浅显的内容。
1)21 ftp
此端口开放表示服务器提供了FTP服务,入侵者通常会扫描此端口并判断是否允许匿名登陆,如果能找到可写目录,还可以上传一些黑客程序做近一步入侵。要想关闭此端口,需要关闭FTP服务。
2)23 Telnet
此端口开放表示服务器提供了远程登陆服务,如果你有管理员的用户名和密码,可以通过这个服务来完全控制主机(不过要先搞定NTLM身份认证),获得一个命令行下的shell。许多入侵者喜欢开启这个服务作为后门。要想关闭此端口,需要关闭Telnet服务。
3)25 smtp
此端口开放表示服务器提供了SMTP服务,一些不支持身份验证的服务器允许入侵者发送邮件到任何地点,SMTP服务器(尤其是sendmail)也是进入系统的最常用方法之一。要想关闭此端口,需要关闭SMTP服务。
4)69 TFTP(UDP)
此端口开放表示服务器提供了TFTP服务,它允许从服务器下载文件,也可以写入文件,如果管理员错误配置,入侵者甚至可以下载密码文件。许多入侵者通过在自己机器运行此服务来传文件到目标机器,从而实现文件的传输。要想关闭此端口,需要关闭TFTP服务。
5)79 finger
用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误, 回应从自己机器到其它机器finger扫描。
6)80 http
此端口开放表示服务器提供了HTTP服务,可以让访问者浏览其网页等,大部分针对IIS服务器的溢出攻击都是通过这个端口的,可以说是入侵者最常攻击的一个端口了。要想关闭此端口,需要关闭HTTP服务。
7)110 POP3
用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统,成功登陆后还有其它缓冲区溢出错误。
8)TCP的139和445
许多人都很关心这两个端口,那我就来详细的介绍一下吧:
首先我们来了解一些基础知识:
1 SMB:(Server Message Block) Windows协议族,用于文件打印共享的服务;
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NETBIOS网络互联。
3 在WindowsNT中SMB基于NBT实现,即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT实现,还可以直接通过445端口实现。
有了这些基础知识,我们就可以进一步来讨论访问网络共享对端口的选择了:
对于win2000客户端(发起端)来说:
1 如果在允许NBT的情况下连接服务器时,客户端会同时尝试访问139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,用455端口进行会话,当445端口无响应时,才使用139端口,如果两个端口都没有响应,则会话失败;
2 如果在禁止NBT的情况下连接服务器时,那么客户端只会尝试访问445端口,如果445端口无响应,那么会话失败。
对于win2000服务器端来说:
1 如果允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放(LISTENING);
2 如果禁止NBT,那么只有445端口开放。
我们建立的ipc$会话对端口的选择同样遵守以上原则。显而易见,如果远程服务器没有监听139或445端口,ipc$会话是无法建立的。那么如何关闭2000上这两个端口呢?
139端口可以通过禁止NBT来屏蔽
本地连接-TCP/IT属性-高级-WINS-选‘禁用TCP/IT上的NETBIOS’一项
445端口可以通过修改注册表来屏蔽
添加一个键值
Hive: HKEY_LOCAL_MACHINE
Key: System\Controlset\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
value: 0
修改完后重启机器
9)3389 Terminal Services
此端口开放表示服务器提供了终端服务,如果你获得了管理员的用户名和密码,那么你可以通过这个服务在图形界面下完全控制主机,这的确是一件令人向往的事情,但如果你得不到密码也找不到输入法漏洞,你会感到束手无策。要想关闭此端口,需要关闭终端服务。
端口的相关工具
1 netstat -an
的确,这并不是一个工具,但他是查看自己所开放端口的最方便方法,在cmd中输入这个命令就可以了。如下:
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0000:135 0000:0 LISTENING
TCP 0000:445 0000:0 LISTENING
TCP 0000:1025 0000:0 LISTENING
TCP 0000:1026 0000:0 LISTENING
TCP 0000:1028 0000:0 LISTENING
TCP 0000:3372 0000:0 LISTENING
UDP 0000:135 :
UDP 0000:445 :
UDP 0000:1027 :
UDP 127001:1029 :
UDP 127001:1030 :
这是我没上网的时候机器所开的端口,两个135和445是固定端口,其余几个都是动态端口。
2 fportexe和mportexe
这也是两个命令行下查看本地机器开放端口的小程序,其实与netstat -an这个命令大同小异,只不过它能够显示打开端口的进程,信息更多一些而已,如果你怀疑自己的奇怪端口可能是木马,那就用他们查查吧。
3 activeportexe(也称aportsexe)
还是用来查看本地机器开放端口的东东,除了具有上面两个程序的全部功能外,他还有两个更吸引人之处:图形界面以及可以关闭端口。这对菜鸟来说是个绝对好用的东西,推荐使用喔。
4 superscan30
它的大名你不会没听说过吧,纯端口扫描类软件中的NO1,速度快而且可以指定扫描的端口,不多说了,绝对必备工具。
保护好自己的端口:
刚接触网络的朋友一般都对自己的端口很敏感,总怕自己的电脑开放了过多端口,更怕其中就有后门程序的端口,但由于对端口不是很熟悉,所以也没有解决办法,上起网来提心吊胆。其实保护自己的端口并不是那么难,只要做好下面几点就行了:
1 查看:经常用命令或软件查看本地所开放的端口,看是否有可疑端口;
2 判断:如果开放端口中有你不熟悉的,应该马上查找端口大全或木马常见端口等资料(网上多的很),看看里面对你那个可疑端口的作用描述,或者通过软件查看开启此端口的进程来进行判断;
3 关闭:如果真是木马端口或者资料中没有这个端口的描述,那么应该关闭此端口,你可以用防火墙来屏蔽此端口,也可以用本地连接-TCP/IP-高级-选项-TCP/IP筛选,启用筛选机制来筛选端口;
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口
那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。端口号就是打开门的钥匙。真正的房子只有几个门,但是一个IP地址的端口 可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区 分不同的服务的。
服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口号由Internet号分配机构(InternetAssignedNumbersAuthority,IANA)来管理。
到1992年为止,知名端口号介于1~255之间。256~1023之间的端口号通常都是由Unix系统占用,以提供一些特定的Unix服务—也就是说,提供一些只有Unix系统才有的、而其他操作系统可能不提供的服务,IANA管理1~1023之间所有的端口号。
Internet扩展服务与Unix特定服务之间的一个差别就是Telnet和Rlogin。它们二者都允许通过计算机网络登录到其他主机上。Telnet是采用端口号为23的TCP/IP标准且几乎可以在所有操作系统上进行实现。Rlogin只是为Unix系统设计的(尽管许多非Unix系统也提供该服务),它的有名端口号为513。
客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。
大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)。我们可以在后面看见许多这样的给临时端口分配端口号的例子。
Solaris22是一个很有名的例外。通常TCP和UDP的缺省临时端口号从32768开始。
以上摘自。http://baikebaiducom/linkurl=M7QdZnaAOCOlpsNyqx0XnlPf8ozTpTbeVE4FCIs9r4ngXg35ZnOY6_3kkriVNkAI
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。
端口分类
逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
1 按端口号分布划分
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 24是8011、Netspy 30是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端口等等。
查看端口
在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令:
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态(如图)。
小知识:Netstat命令用法
命令格式:Netstat �-a� �-e� �-n� �-o� �-s�
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
按照端口号的大小分类,可分为如下几类 :
(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
扩展资料
各种服务常用端口号:
1,HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098
2,SOCKS代理协议服务器常用端口号:1080
3,FTP(文件传输)协议代理服务器常用端口号:21
4,Telnet(远程登录)协议代理服务器常用端口号:23
5,HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)
6,HTTPS(securely transferring web pages)服务器,默认端口号为443/tcp 443/udp
7,Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口)
8,FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口)
9,TFTP(Trivial File Transfer Protocol),默认端口号为69/udp
10,SSH(安全登录)、SCP(文件传输)、端口号重定向,默认的端口号为22/tcp
11,SMTP Simple Mail Transfer Protocol(E-mail),默认端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
12,POP3 Post Office Protocol(E-mail),默认端口号为110/tcp
13,Webshpere应用程序,默认端口号为9080
14,webshpere管理工具,默认端口号9090
15,JBOSS,默认端口号为8080
16,TOMCAT,默认端口号为8080
17,WIN2003远程登录,默认端口号为3389
18,Symantec AV/Filter for MSE,默认端口号为 8081
19,Oracle 数据库,默认的端口号为1521
20,ORACLE EMCTL,默认的端口号为1158
21,Oracle XDB(XML 数据库),默认的端口号为8080
22,Oracle XDB FTP服务,默认的端口号为2100
23,MS SQLSERVER数据库server,默认的端口号为1433/tcp 1433/udp
24,MS SQLSERVER数据库monitor,默认的端口号为1434/tcp 1434/udp
0条评论