摘要
通常我们在玩Linux的时候,有时候需要检查一下服务器是否开放了一些端口号,然后看看新的端口会不会冲突。在检查服务器的开放端口号之前,我们需要了解一些物理端口、逻辑端口、端口号等计算机概念。
01
端口相关概念:
在网络技术中,端口包括逻辑端口和物理端口。物理端口是指物理端口,如ADSL调制解调器、集线器、交换机和路由器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等。端口是指逻辑意义上用来区分服务的端口,比如TCP/IP协议中的服务端口。端口号范围从0到65535,例如80端口用于网页浏览服务,21端口用于FTP服务。由于物理端口和逻辑端口数量较多,为了区分端口,每个端口都进行了编号,这就是端口号。
端口可以根据端口号分为三类:
1:众所周知的端口
据了解,端口号从0到1023,它们与一些常见的服务紧密绑定,例如使用端口21的FTP服务。您可以在/etc/services中看到这种映射关系。
2:注册的端口:
从1024到49151。它们松散地绑定到一些服务。也就是说,很多服务都绑定在这些端口上,这些端口也有很多其他用途。
3:动态和/或专用端口
动态端口,即私有端口号,是任何软件可以用来与任何其他软件、使用互联网的传输控制协议或用户传输协议进行通信的端口数量。动态端口一般从49152到65535。
Linux的端口范围有限。如果要为程序保留一些端口,需要控制这个端口范围。
/proc/sys/net/IP v4/IP _ local _ port _ range定义本地TCP/UDP的端口范围,也可以在/etc/sysctl.conf中定义net . IP v4 . IP _ local _ port _ range = 1024 65000。
02
端口和服务之间的关系
端口有什么用?拥有IP地址的主机可以提供许多服务,如Web服务、FTP服务、SMTP服务等。这些服务完全可以通过一个IP地址实现。那么,主机是如何区分不同的网络服务的呢?显然,我们不能仅仅依靠ip地址,因为IP地址和网络服务的关系是一对多的关系。实际上,不同的服务是通过“IP地址+端口号”来区分的。
端口号和相应服务之间的对应关系存储在/etc/services文件中,在该文件中可以找到大多数端口。
1: NMAP工具检测到开放端口
N***p是用于网络扫描和主机检测的工具。n***p的安装非常简单,如下所示:
# rpm -ivh n***p-4.11-1.1.x86_***.rpm # rpm -ivh n***p-frontend-4.11-1.1.x86_***.rpm
N***p 127.0.0.1检查该机器的开放端口并扫描所有端口。当然,也可以扫描其他服务器端口。
# n***p 127.0.0.1
2: NetStat工具检测到开放端口
# netstat -anlp | grep 3306# netstat -anlp | grep 22
但是,这个工具不如n***p简洁明了。
3: lsof工具检测到开放端口
# lsof -i:3306
# lsof -i TCP| fgrep LISTEN
4: 使用telnet检测端口是否开放# lsof -i TCP| fgrep LISTEN4:使用telnet检查端口是否打开
即使服务器处于**状态,防火墙iptables也会阻止端口,因此无法通过这种方法检测端口是否打开。
5: NetCat工具检测端口是否打开。
# nc -vv 172.18.186.160 1521
后面会分享更多关于devops和DBA的内容,感兴趣的朋友可以关注一下~
本文来自果味果冻投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/627038.html