如何检查端口是否被使用 ubuntu

查看Linux上的监听端口和应用程序:

打开终端应用程序,即 shell 提示符。
在 Linux 上运行以下任一命令来查看开放端口:
$ sudo lsof -i -P -n | grep LISTEN
$ sudo netstat -tulpn | grep LISTEN
$ sudo ss -tulpn | grep LISTEN
$ sudo lsof -i:22 ## see a specific port such as 22 ##
$ sudo nmap -sTU -O IP-address-Here
对于最新版本的 Linux,请使用 ss 命令。例如,ss -tulw
让我们详细看看命令及其输出。

选项#1:lsof 命令
语法为: 示例输出:
$ sudo lsof -i -P -n
$ sudo lsof -i -P -n | grep LISTEN
$ doas lsof -i -P -n | grep LISTEN # OpenBSD #

图01:使用lsof命令检查监听端口和应用程序
图01:使用lsof命令检查监听端口和应用程序

考虑上面输出的最后一行:
sshd 85379 root 3u IPv4 0xffff80000039e000 0t0 TCP 10.86.128.138:22(监听)
sshd是应用程序的名称。
10.86.128.138是 sshd 应用程序绑定到的 IP 地址(监听)
22是正在使用的 TCP 端口 (LISTEN)
85379是sshd进程的进程ID
查看 Internet 网络服务列表
/ etc/services是互联网服务的人类友好文本名称与其底层分配的端口号和协议类型之间的文本文件映射。使用cat命令或者more命令/ less命令查看:
$ less /etc/services
示例文件:

tcpmux 1/tcp # TCP 端口服务复用器
回显 7/tcp
回声 7/udp
丢弃 9/tcp 接收器为空
丢弃 9/udp 接收器为空
sysstat 11/tcp 用户
白天 13/tcp
白天 13/udp
网络统计 15/tcp
qotd 17/tcp 报价
chargen 19/tcp ttytst 源
chargen 19/udp ttytst 源
ftp-数据 20/tcp
FTP 21/TCP
fsp 21/udp fspd
ssh 22/tcp # SSH远程登录协议
远程登录 23/tcp
smtp 25/tcp 邮件
时间 37/tcp timserver
时间 37/udp timserver
whois 43/tcp 昵称
tacacs 49/tcp # 登录主机协议 (TACACS)
tacacs 49/udp
domain 53/tcp # 域名服务器
域 53/udp
每一行描述一项服务,其形式为:

#服务名称端口/协议[别名…]
ssh 22/tcp # SSH远程登录协议
时间 37/tcp timserver
选项#2:netstat 或 ss 命令
您可以使用netstat检查监听端口和应用程序,如下所示。

Linux netstat 语法
先决条件
默认情况下,您的系统上可能未安装netstat命令。因此,在 Alpine Linux 上使用apk 命令,在 RHEL 和 co 上使用 dnf 命令/ yum 命令,在 Debian、Ubuntu 和 co 上使用apt 命令/ apt-get 命令,在 SUSE/OpenSUSE 上使用 zypper 命令,在 Arch Linux 上使用 pacman 命令来安装netstat。
运行 netstat 命令和grep 命令来过滤掉处于 LISTEN 状态的端口: 或过滤掉特定的 TCP 端口,例如 443: 其中 netstat 命令选项为:
$ netstat -tulpn | grep LISTEN
$ netstat -tulpn | more

$ netstat -tulpn | grep ‘:443’
-t:选择所有TCP端口
-u:选择所有UDP端口
-l:显示监听服务器套接字(在列表状态下打开TCP和UDP端口)
-p:显示套接字的 PID/程序名称。换句话说,该选项告诉谁打开了 TCP 或 UDP 端口。例如,在我的系统上,Nginx 打开了 TCP 端口 80/443,因此我将 /usr/sbin/nginx 或其 PID。
-n:不解析名称(避免 dns 查找,这可以加快繁忙的 Linux/Unix 服务器上的 netstat 速度)
Linux 上的netstat 命令已弃用一段时间。因此,需要使用ss命令,如下:
$ sudo ss -tulw
$ sudo ss -tulwn
$ sudo ss -tulwn | grep LISTEN

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注