如何在Linux中检查开放端口

时间:2020-03-05 15:26:09  来源:igfitidea点击:

在对Linux系统上运行的服务进行故障排除期间,检查打开的端口是任何用户或者管理员都应考虑执行的任务之一。
如果预期服务正在运行,但由于某种原因它没有运行,则很可能与该服务关联的端口是关闭的,应该打开。

在本教程中,我们将演示如何从命令行检查Linux中打开的端口。

1)使用ss命令检查打开的端口

Linux ss命令为我们提供有关开放端口和监听套接字的详细见解。
它从Linux内核中获取信息,它比已弃用的netstat命令更可取。

要显示侦听的TCP连接,请运行以下命令

$ss -tl

l显示监听插槽

t代表TCP端口

要显示监听的UDP连接,请发出命令

$ss -lu

u代表UDP端口

或者

要同时显示tcp和udp,请显示进程名称

$ss -lntup

p列出打开套接字的进程名称

要打印所有套接字连接,只需使用默认格式的ss命令

$ss

2)使用netstat命令检查打开的端口

netstat命令是一个功能强大的命令工具,用于检查打开的TCP和UDP端口以及其他属性。

要检查打开的端口,请发出以下命令:

$netstat -pnltu

让我们仔细看看命令选项:

p显示与服务或者程序名称关联的过程ID

n显示正在运行的端口的数字,例如对于mysqld为3306,对于sshd为22.

l显示监听插槽

t显示TCP连接

u显示UDP连接

3)使用lsof命令检查打开的端口

lsof命令是一个网络命令工具,也可以用于检查Linux系统中打开的端口。

要显示打开的端口,请发出命令

$lsof -i

如果要显示打开的套接字,请使用“ lsof”命令并将输出通过管道传递到grep,如下所示:

$lsof -n -P | grep LISTEN

要查看所有TCP连接,请执行:

$lsof -i tcp

要显示所有UDP连接,请运行以下命令:

$lsof -i udp

4)使用Nmap实用程序检查打开的端口

Nmap是一种免费的开源网络扫描工具,通常用于道德黑客侦察中,以发现远程系统的开放端口。
默认情况下,系统未安装Nmap。

要安装Nmap,请发出命令

$sudo apt install nmap  (For Debian/Ubuntu)
$sudo yum install nmap (For RedHat/CentOS)
$sudo dnf install nmap (For Fedora)
$pacman -S nmap (ArchLinux)

要扫描打开的TCP端口,请运行以下命令

$nmap -sT -O localhost

要扫描打开的UDP端口,请运行以下命令:

$nmap -sU localhost