端口详解

概念

端口

端口就好一个房子的门,是出入这间房子的必经之路。如果一个程序需要收发网络数据,那么就需要有这样的端口。

端口号

操作系统为了统一管理,所以进行了编号,这就是端口号。端口号不是随意使用的,而是按照一定的规定进行分配。

知名端口(Well Known Ports)

知名端口是众所周知的端口号,范围从0到1023。可以理解为,一些常用的功能使用的号码是固定的,好比 电话号码110、10086、10010一样。
一般情况下,如果一个程序需要使用知名端口的需要有root权限。

80端口分配给HTTP服务
21端口分配给FTP服务
23端口分配给telnet服务

动态端口(Dynamic Ports)

动态端口的范围是从1024到65535。
之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。
动态分配是指当一个系统程序或应用程序程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。
当这个程序关闭时,同时也就释放了所占用的端口号。

基本操作

查看端口号

查看网络连接记录,-a:表示所有连接 -n:表示以数字形式显示地址和端口

netstat -an

list open file,列举当前打开的文件 -i 表示通过ip地址通信的文件

lsof -i

总结

端口有什么用呢 ? 我们知道,一台拥有IP地址的主机可以提供许多服务,比如HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。 需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。

你可能感兴趣的:(端口详解)