如何在 Linux/Unix 系统中验证端口是否打开
创始人
2024-03-01 18:35:23
0

在 Linux 或者类 Unix 中,我该如何检查某个端口是否被占用?我又该如何验证 Linux 服务器中有哪些端口处于监听状态?

验证哪些端口在服务器的网络接口上处于监听状态是非常重要的。你需要注意那些开放端口来检测网络入侵。除了网络入侵,为了排除故障,确认服务器上的某个端口是否被其他应用程序占用也是必要的。比方说,你可能会在同一个系统中安装了 Apache 和 Nginx 服务器,所以了解是 Apache 还是 Nginx 占用了 # 80/443 TCP 端口真的很重要。这篇快速教程会介绍使用 netstatnmaplsof 命令来检查端口使用信息并找出哪些程序正在使用这些端口。

如何检查 Linux 中的程序和监听的端口

1、 打开一个终端,如 shell 命令窗口。 2、 运行以下任意一行命令:

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo nmap -sTU -O IP地址

下面我们看看这些命令和它们的详细输出内容:

方式 1:lsof 命令

语法如下:

$ sudo lsof -i -P -n
$ sudo lsof -i -P -n | grep LISTEN
$ doas lsof -i -P -n | grep LISTEN  ### OpenBSD

输出如下:

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

仔细看上面输出的最后一行:

sshd    85379     root    3u  IPv4 0xffff80000039e000      0t0  TCP 10.86.128.138:22 (LISTEN)
  • sshd 是程序的名称
  • 10.86.128.138sshd 程序绑定 (LISTEN) 的 IP 地址
  • 22 是被使用 (LISTEN) 的 TCP 端口
  • 85379sshd 任务的进程 ID (PID)

方式 2:netstat 命令

你可以如下面所示使用 netstat 来检查监听的端口和程序。

Linux 中 netstat 语法

$ netstat -tulpn | grep LISTEN

FreeBSD/MacOS X 中 netstat 语法

$ netstat -anp tcp | grep LISTEN
$ netstat -anp udp | grep LISTEN

OpenBSD 中 netstat 语法

$ netstat -na -f inet | grep LISTEN
$ netstat -nat | grep LISTEN

方式 3:nmap 命令

语法如下:

$ sudo nmap -sT -O localhost
$ sudo nmap -sU -O 192.168.2.13 ### 列出打开的 UDP 端口
$ sudo nmap -sT -O 192.168.2.13 ### 列出打开的 TCP 端口

示例输出如下:

图 2:使用 nmap 探测哪些端口监听 TCP 连接

你可以用一句命令合并 TCP/UDP 扫描:

$ sudo nmap -sTU -O 192.168.2.13

赠品:对于 Windows 用户

在 windows 系统下可以使用下面的命令检查端口使用情况:

netstat -bano | more
netstat -bano | grep LISTENING
netstat -bano | findstr /R /C:"[LISTING]"

via: https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/

作者:VIVEK GITE 译者:GHLandy 校对:oska874

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

“AI恐慌”出现,美股网络...
当地时间2月20日,美股三大指数集体低开,盘中直线拉升翻红。截至发...
2026-02-22 11:20:56
u盘里的东西不小心删除了怎...
今天使用时发现u盘里的文件消失了。u盘里的东西不小心删除了怎么找回...
2026-02-02 20:18:45
不清楚u盘文件如何恢复?带...
先明确U盘文件消失的原因,才能采取正确的恢复方法。u盘文件如何恢复...
2026-01-27 15:55:40
新买的云服务器如何快速上手...
拿到新云服务器的心情,就像拿到一把新家的钥匙,兴奋之余,可能更多的...
2026-01-26 10:17:31
还在问 dll修复软件有免...
“无法启动此程序,因为计算机中丢失 msvcp140.dll。” ...
2026-01-25 10:18:58
怎么找回硬盘里误删的文件?...
在日常使用电脑的过程中,我们难免会遇到这样的糟心事:一不小心就误删...
2026-01-24 06:19:35

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...