一、端口

1.什么是端口?

  我们知道,IP 地址是计算机在互联网上的地址编号,每台联网的计算机都必须有自己的 IP 地址,而且必须是唯一的,这样才能正常通信。也就是说,在互联网上是通过 IP 地址来确定不同计算机的位置的。

  大家可以把 IP 地址想象成家庭的"门牌号码",不管你住的是大杂院、公寓楼还是别墅,都有自己的门牌号码,而且门牌号码是唯一的。

  如果知道了一台服务器的 IP 地址,我们就可以找到这台服务器。但是这台服务器上有可能搭建了多个网络服务,比如 WWW 服务、FTP 服务、Mail 服务,那么我们到底需要服务器为我们提供哪个网络服务呢?这时就要靠端口(Port)来区分了,因为每个网络服务对应的端口都是固定的。

  比如,WWW 服务对应的端口是 80,FTP 服务对应的端口是 20 和 21,Mail 服务对应的端口是 25 和 110。也就是说,IP 地址可以想象成"门牌号码",而端口可以想象成"家庭成员",找到了 IP 地址只能找到你们家,只有找到了端口,寄信时才能找到真正的收件人。

通俗来讲,端口就是网络服务对外提供服务的接口,当ip上存在一个端口时,说明该服务正常运行且对外提供服务。

2.tcp和udp协议的端口

为了统一整个互联网的端口和网络服务的对应关系,以便让所有的主机都能使用相同的机制来请求或提供服务,同一个服务使用相同的端口,这就是协议。

计算机中的协议主要分为两大类:

面向连接的可靠的TCP协议(Transmission Control Protocol,传输控制协议);
面向无连接的不可靠的UDP协议(User Datagram Protocol,用户数据报协议);

无论数tcp协议或者是udp协议的端口可以有65536个(2的16次方)

二、监听

1.netstat查看网络状态

Linux netstat 命令用于显示网络状态。

利用 netstat 指令可以得知整个 Linux 系统的网络情况。

语法:

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

参数说明:

-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示路由缓存。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistics 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同

实例效果图
在这里插入图片描述

Local Address

(1) Local Address 部分的0.0.0.0:22 表示监听服务器上所有ip地址的22端口(0.0.0.0表示本地所有ip),比如你的服务器是有172.25.254.1和172.25.254.2两个ip地址,那么0.0.0.0:22此时表示监听172.25.254.1,172.172.230.2,127.0.0.1三地址的22端口

(2) :::22 这个也表示监听本地所有ip的22端口,跟上面的区别是这里表示的是IPv6地址,上面的0.0.0.0表示的是本地所有IPv4地址NOTE “:::”这三个:的前两个"::“,是"0:0:0:0:0:0:0:0"的缩写,相当于IPv6的"0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

(3) 127.0.0.1:25 这个表示监听本机的loopback地址的25端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问)

(4) ::1:25这个表示监听IPv6的回环地址的25端口,::1表示IPv6的loopback地址

Foreign Address

与本机端口通信的外部socket。显示规则与Local Address相同

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐