首页 > 技术分享 > Other
收藏

Linux端口详解

06/28 10:25
大潇博客 原创文章,转载请标明出处

端口是操作系统和外部进行交互使用的出入口

两台计算机之间通信,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

如果返回空,说明端口没有被占用


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311