Debian系统如何查看端口开放状态

Debian系统如何查看端口开放状态

 

查看系统端口状态

要查看 Debian 系统上端口的开放状态,可以使用以下命令:

  1. 使用 netstat 命令:
sudo netstat -tulnp

输出如下所示:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:2812          0.0.0.0:*               LISTEN      369/monit
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      798/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      916/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      798/sshd
udp        0      0 0.0.0.0:68              0.0.0.0:*                           614/dhclient

这将列出所有已开放的端口和它们所在的进程。输出将显示端口号、协议、IP 地址、进程 ID 和进程名称等信息。

其中:

  • t:表示 TCP 协议;
  • u:表示 UDP 协议;
  • l:表示监听状态;
  • n:表示不解析服务名称;
  • p:显示进程名/ PID
  1. 使用 ss 命令:
sudo ss -tulw

输出如下所示:

State      Recv-Q Send-Q Local Address:Port                  Peer Address:Port              
LISTEN     0      5      127.0.0.1:2812                      *:*                  
LISTEN     0      128    *:22                                *:*                  
LISTEN     0      128    :::80                               :::*                 
LISTEN     0      128    :::22                               :::*                  

此命令将显示所有 TCP 和 UDP 端口的详细信息,包括端口号、协议、状态、IP 地址、进程 ID 和进程名称等。

其中:

  • t:表示 TCP 协议;
  • u:表示 UDP 协议;
  • l:表示监听状态;
  • w:表示要显示所有套接字(包括正在等待连接的套接字)。

这里提醒大家,这两个命令需要有 root 权限才能运行,才能显示所有进程和端口信息。如果您只想查看特定端口的信息,则可以在命令中指定端口号,如下所示:

sudo netstat -tulnp | grep <port_number>

或者:

sudo ss -tulw | grep <port_number>

其中 <port_number> 是您要查看的端口号。这将只显示与该端口相关的信息。

查看开放的防火墙端口

如果您需要查看已经开放的防火墙端口,则需要使用防火墙管理工具,例如 iptables。可以使用以下命令来列出所有防火墙规则:

sudo iptables -L

输出如下所示:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

此命令将列出所有规则,包括允许和拒绝的规则。您可以在规则列表中查找要查看的端口的规则。如果该端口被允许,则意味着它是开放的;否则,意味着它是关闭的。

在 Debian 系统上,可以使用以下命令来查看防火墙开放了哪些端口:

sudo iptables -L | grep 'ACCEPT'

此命令将列出所有被允许的规则,即防火墙已经开放的端口。例如:

ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

在此示例中,防火墙已经开放了 SSH 端口(22)、HTTP 端口(80)和 HTTPS 端口(443)。如果您只想查看特定协议(例如 TCP 或 UDP)的规则,则可以在命令中指定协议类型,例如:

sudo iptables -L -v -n | grep 'tcp spt:80'

此命令将列出所有源端口为 80 的 TCP 流量规则,包括源地址、目标地址、协议和目标端口等信息。

上述这些命令同样需要使用 root 权限来运行。如果您使用的是防火墙管理工具(例如 ufw),则可以使用类似的命令来列出所有开放的端口。例如,要列出 ufw 已经开放的端口,可以运行以下命令:

sudo ufw status verbose

此命令将显示当前防火墙规则及其状态,包括已开放的端口列表。

安装 ufw

Debian 默认情况下没有安装 ufw(Uncomplicated Firewall)。如果您想使用 ufw 来管理防火墙规则,需要先安装它。安装 ufw 命令如下:

sudo apt-get update
sudo apt-get install ufw

安装完成后,您可以使用以下命令来查看开放的端口状态:

sudo ufw status verbose

该命令将列出所有防火墙规则及其状态。例如:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere                  
80/tcp (Apache)            ALLOW IN    Anywhere                  
443/tcp (Apache Full)      ALLOW IN    Anywhere                  
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)             
80/tcp (Apache (v6))       ALLOW IN    Anywhere (v6)             
443/tcp (Apache Full (v6)) ALLOW IN    Anywhere (v6) 

此输出显示了开放的端口和对应的服务(例如 OpenSSH、Apache 等),以及它们是否允许传入流量(ALLOW IN)。

如果您想允许或禁止特定的端口,可以使用 ufw 的命令行界面。例如,要允许传入 HTTP 流量,请使用以下命令:

sudo ufw allow 80/tcp

这将允许传入 TCP 端口 80 的流量。要禁止特定端口的流量,请使用 deny 选项替换 allow。在更改防火墙规则后,您需要使用以下命令来重新加载规则:

sudo ufw reload

更多关于 ufw 的详细信息,请参阅其官方文档。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/156326.html<

(0)
管理的头像管理
上一篇2025-03-15 20:52
下一篇 2025-03-15 20:54

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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