Linux查看端口号被占用的命令 linux端口号是否被占用


Linux查看端口号被占用的命令 linux端口号是否被占用

文章插图
Address already in use这个提示,想必大家遇到过,怎么能快速找到问题并解决呢?下面有几种姿势可以了解一下.
在对网络连接或特定于应用程序的问题进行故障排除时 , 首先要检查的事情之一应该是系统上实际使用了哪些端口 , 以及哪个应用程序正在侦听特定的端口 。
本文介绍了如何使用netstat , sslsof命令找出哪些服务正在侦听哪些端口 。该说明适用于所有基于Linux和Unix的操作系统 , 例如macOS 。
什么是监听端口网络端口由其编号 , 关联的IP地址和通信协议(例如TCP或UDP)的类型标识 。
【Linux查看端口号被占用的命令 linux端口号是否被占用】侦听端口是应用程序或进程在其上侦听的网络端口 , 充当通信端点 。
每个监听端口都可以使用防火墙打开或关闭(过滤) 。一般而言 , 开放端口是一个网络端口 , 它接受来自远程位置的传入数据包 。
你不能让两个服务监听同一IP地址上的同一端口 。
例如 , 如果你正在运行一个监听端口80443的Apache Web服务器 , 并且尝试安装Nginx  , 则后者将无法启动 , 因为HTTP和HTTPS端口是已经在使用中 。
netstat检查监听端口netstat是一个命令行工具 , 可以提供有关网络连接的信息 。
要列出所有正在侦听的TCP或UDP端口 , 包括使用端口的服务和套接字状态 , 请使用以下命令:
sudo netstat -tunlp
此命令中使用的选项具有以下含义:
  • -t-显示TCP端口 。
  • -u -显示UDP端口 。
  • -n -显示数字地址而不是解析主机 。
  • -l -仅显示监听端口 。
  • -p -显示侦听器进程的PID和名称 。仅当你以root用户或 sudo 用户身份运行命令时 , 才会显示此信息 。
输出将如下所示:
Proto Recv-Q Send-Q Local AddressForeign AddressStatePID/Program name
tcp00 0:220:*LISTEN445/sshd
tcp00 0:250:*LISTEN929/master
tcp600 :::3306::*LISTEN534/mysqld
tcp600 :::80:::*LISTEN515/apache2
tcp600 :::22:::*LISTEN445/sshd
tcp600 :::25:::*LISTEN929/master
tcp600 :::33060:::*LISTEN534/mysqld
udp00 0:680:*966/dhclient
在我们的案例中 , 重要的几列是: