网络端口的调研

来源:互联网 发布:2016网络在逃犯名单 编辑:程序博客网 时间:2024/06/05 15:17

网络端口的调研

什么是端口

#### 在 Internet上,各主机间通过TCP/UDP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。但是大多数操作系统都支持多程序(进程)同时运行,端口号就保证了目的主机将数据传送给指定的进程。

#### 本地操作系统会给那些有需求的进程分配协议端口 (protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。

端口的分类:

从性质来分:

1)公认端口:0—1024,紧密绑定一些特定的服务,这类端口不可重新定义它的作用对象,例如80号端口对应http,23号端口对应Telnet服务
2)注册端口:1025-49151,这些端口多数没有明确的定义服务对象,不同程序可以根据实际需要自己定义,
3)动态和/或私有端口:49152-65535,不应把常用服务分配在这些端口上,一些木马程序非常喜欢用这些端口;
根据所提供的服务方式不同可以分为TCP相关端口和UDP相关端口;
TCP类的有:
1)FTP:21号文件传输端口;下载文件,上传主页;
2)Telnet:23远程登陆端口,用户可以以自己的身份远程登陆到电脑上,通过这种端口可以提供一种Dos服务下的通信模式;
3)SMTP:25简单邮件传送协议;
4)POP3:110端口,和SMTP类似,用于接受邮件;
UDP类的有:
1)HTTP:80号超文本传输协议,常用的“WWW服务”,“web服务”就是这个端口
2)DNS:53号,域名解析服务;
3)SNMP:161号,简单网络管理协议;
4)OICQ:既接收服务又提供服务;OICQ服务器采用8000号端口,倾听是否有信息到来,OICQ则采用4000号端口,向外发送信息;
URG和PSH的对比;
URG(紧急位):当URG有效时,紧急指针才有效;
紧急位,紧急数据的起始点=序号;
紧急数据的终止点=序号+紧急指针;
URG强掉的是直接读取数据,不经过缓冲区,直接交由应用程序;余下的数据交由缓冲;
例如,已经发送了很长的一个程序要在远地的主机上运行。但后来发现了一些问题,需要取消程序的运行。因此用户从键盘发出中断命令(Ctrl+C)。如果不使用紧急数据,那么这两个字符会被存储在接受TCP的缓存末尾。只有在所有的数据被处理完毕后这两个字符才会被交付给接收方。这样就浪费了很多时间。
PSH(推送位):
强调的是讲本报文信息和缓冲区中的数据递交给上层,而不需要讲缓冲区写满再交由上层;
如何区分URG和PSH:
(1)两者都是对数据的处理方式,URG是在前端处理数据,一旦收到不经过缓冲区就交付给应用程序,PSH是在后台处理数据,告诉内核不必等缓冲区满了再进行上层递 交;
(2)通过URG递交的数据都是紧急数据,然而通过PSH递交的数据则是缓冲区已经排好序的数据加上当前报文;
原创粉丝点击