端口是操作系统和外部进行交互使用的出入口
两台计算机之间通信,ip地址只能用来锁定计算机,无法锁定具体的程序。通过端口可以锁定计算机上的具体程序,确保程序之间进行沟通。
Linux系统支持65535个端口,这些端口分为3类使用(并非这样的规定,只是建议在这个范围内去使用端口)
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH的22端口、HTTP的80端口、HTTPS的443端口等(建议非特殊需要,不要占用这个范围的端口)
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序/服务(用户自定义)。
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络连接时,用于临时使用(多用于出口)。
程序启动时,会绑定一个固定端口,用于被访问,这个端口通常在公认端口或注册端口的范围内
访问者也需要通过端口发送请求(如果被访问者回传数据,会通过这个端口接受),这个端口只是临时使用,并不固定,也就是说每次发送请求时,端口可能都不同,这个端口通常在动态端口范围内
查看linux系统端口占用情况
使用nmap命令,扫描IP地址对外暴露的端口
安装:
apt install nmap
命令:
nmap 被查看的ip地址
可以嗅探到哪些端口是对外公开可以被连接的
上图的STATE都是open,说明嗅探到这些端口,并且都以对外开放
上图的STATE有closed,说明嗅探到的端口有些不对外开放
可以通过netstat命令,查看端口的占用情况
语法:
netstat -anp | grep 进程名或端口号
netstat并非系统自带的,安装netstat:
apt install net-tools
查看nginx进程号和占用的端口:
netstat -anp | grep nginx
查看6379端口占用情况:
netstat -anp | grep 6379
如果返回空,说明端口没有被占用
上一篇:rsync和inotify实现静态资源自动化同步方案
下一篇:Linux时间与日期