TCP - 端口

端口与接口区别:

接口是物理的,而端口是一种抽象的软件结构,包括一些数据结构和I/O(输入/输出)缓存区,属于软件接口范畴。


TCP - 数据段格式可知,TCP分别定义一个16bit长度的源端口和目的端口,也就是说端口号的范围为0 ~ 65535。


在TCP/IP传输层中的TCP和UDP是两个完全独立的软件模块,因此各自的端口号也相互独立,即各自可独立拥有65535个端口。


65535个TCP端口分为以下三大类: IANA管理端口

<1> 保留端口

通常将0 ~ 1023号TCP端口保留,该类端口也称为常规端口,或者公认端口。

这些端口基本上都已固定分配给了已知的网络应用协议。

TCP - 端口

<2> 动态分配端口

动态分配端口的端口号一般都大于1024,它们没有分配给固定的网络应用服务,因此可以动态地分配给任意网络服务应用程序使用。

<3> 注册端口

注册端口比较特殊,它也是固定为某个应用服务的端口,但是它所代表的不是已经形成标准的应用层协议,而是某个软件厂商开发的应用程序。


端口查询:

windows上查看电脑端口的开放情况命令:

cmd:netstat -a -n

-a:显示所有连接和监听端口。

-n:以数字形式显示地址和端口号。

"本地地址"指本地IP地址和正在使用的IP地址端口号,"外部地址"指连接某端口的远程主机的IP地址和端口号。


linux上查看电脑端口的命令:netstat十个基本用法

netstat

-a:显示所有socket,包括正在监听的。

-c:每隔一秒就更新一遍,直到用户中断它。

-i:显示所有网络接口的信息。

-n:以网络IP地址代替名称,显示网络连接情况。

-r:显示核心路由表。

-t:显示TCP协议连接的情况。

-u:显示UDP协议连接的情况。

-v:显示正在进行的工作。