海外主机测评

您现在的位置是:首页 > 云服务器知识 > 正文

云服务器知识

如何检查Linux和Windows云服务器上的TCP / UDP端口是否打开?

cds8202023-02-13云服务器知识930
当涉及到服务器安全以及解决与服务相关的问题时,验证哪些所有端口(TCP/UDP)都已打开并监听服务器的网络接口非常重要。易受攻击的开放端口可能是服务器中严重安全漏洞的原因,必须找到并关闭/禁用此

当涉及到服务器安全以及解决与服务相关的问题时,验证哪些所有端口 (TCP/UDP) 都已打开并监听服务器的网络接口非常重要。易受攻击的开放端口可能是服务器中严重安全漏洞的原因,必须找到并关闭/禁用此类端口。


如果出现与服务相关的问题,检查所有端口都在使用中可以用作故障排除机制,以查找是否有多个服务正在侦听同一端口。以下是常用的端口号:

端口0到1023是众所周知的端口

端口1024到49151是注册端口(*通常由软件开发人员注册以为其应用程序指定特定端口)

端口49152到65535是公共端口



下面,小编将分析在Linux云服务器和Windows云服务器中使用lsof,netstat和等命令确定服务中打开的所有端口的基本步骤。nmapnetstat


一、Linux云服务器

例如,Apache和Nginx服务都在同一台服务器上运行。

方法1:使用lsof命令

lsof(列出打开的文件)是一个命令,用于显示服务器中所有打开文件的列表以及打开它们的服务。

命令的一般语法lsof如下:# sudo lsof -i -P -n

使用pipeandgrep命令,可以对上述命令的结果进行过滤,以显示监听服务器不同端口的文件的结果。

# sudo lsof -i -P -n | grep LISTEN

# doas lsof -i -P -n | grep LISTEN (for OpenBSD systems)

从示例输出中取出最后一行,结果可以解释如下:

named 812 named 23u IPv4 16018 0t0 TCP 47.113.184.237:53 (LISTEN)

named:服务的名称。

47.113.184.237:指定服务绑定到的IP。

53:正在使用的服务的TCP端口。

812:服务的进程ID。

方法2:使用netstat命令

netstat(网络统计)是一个命令行工具,可用于监视服务器中传入和传出的网络连接。

该netstat命令与grep命令一起检查侦听服务可以在以下语法中使用

# netstat -tulpn | grep LISTEN

# netstat -nat | grep LISTEN (for OpenBSD systems)

netstat命令在最新版本的Linux发行版中已被弃用。命令已ss取而代之。

使用该ss命令的语法如下所示:# sudo ss -tulpn

该ss命令的开关含义如下:

t:仅显示 TCP 套接字。

u:仅显示 UDP 套接字。

l:显示监听套接字。

p:显示打开套接字的进程的名称。

n:不要尝试解析服务名称。

方法3:使用nmap命令

nmap(网络映射器)是一种网络扫描命令工具,可用于查找服务器上的主机和服务。这是通过向服务器发送数据包并进一步分析结果来完成的。

可以从服务器内执行的命令的一般语法nmap如下:

# sudo nmap -sT -O localhost

# sudo nmap -sTU -O 47.113.184.237 (scan both TCP and UDP for server)


二、Windows云服务器

在Windows云服务器中,该netstat命令可用于检查服务器当前正在使用的端口。

在Windows云服务器中使用的命令语法netstat如下:

> netstat -bano | more

> netstat -bano | findstr /R /C:"[LISTENING]"



上述结果中的每个字段的含义如下:

Proto:用于套接字的协议(TCP/UDP)。

本地地址:服务正在侦听的源IP地址和端口。

状态:服务的当前状态。

PID:服务的进程ID,后跟服务名称。


以上就是检查Linux和Windows云服务器上的TCP / UDP端口是否打开的相关教程。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~