黑马程序员技术交流社区
标题:
关于端口的问题?
[打印本页]
作者:
张俊双
时间:
2012-10-15 22:00
标题:
关于端口的问题?
我知道IP是标识计算机,端口是区别什么的,不是很清楚,向大家请教一下
作者:
雷向阳
时间:
2012-10-15 22:17
这个问题问得太笼统了,端口有很多啊,硬件端口哦,网络端口,协议端口,软件端口等等。具体百度查有详解....
作者:
雷向阳
时间:
2012-10-15 22:19
才百度了一下,总的来说端口可以认为是计算机与外界通讯交流的出口。
作者:
颜晋南
时间:
2012-10-17 23:02
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据包顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地操作系统会给那些有需求的进程分配协议端口(protocol port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利地回传数据包到这个端口。
以上是百度百科的,简单点就是一个房子的多个门,比如常见的80端口,一般都是IE之类的浏览器打开,有时也会被木马等利用。扫描端口可以知道是否中了一些木马,很早以前的冰河木马就是如此。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2