linux查看运行的端口命令

linux查看运行的端口命令,第1张

一、使用 netstat 检查端口

netstat 是一个命令行工具,可以提供有关网络连接的信息。

要列出正在侦听的所有 TCP 或 UDP 端口,包括使用端口和套接字状态的服务,请使用以下命令:

netstat -tunlp

此命令中使用的选项具有以下含义:

-t - 显示 TCP 端口。

-u - 显示 UDP 端口。

-n - 显示数字地址而不是主机名。

-l - 仅显示侦听端口。

-p - 显示进程的 PID 和名称。仅当您以 root 或 sudo 用户身份运行命令时,才会显示此信息。

查询指定端口通过grep过滤:

netstat -tnlp | grep :80

二、使用 ss 检查端口

ss 是新的 netstat,命令选项大致相同。它缺少一些 netstat 功能,但暴露了更多的 TCP 状态,而且速度稍快。《Linux就该这么学》 一起学习linux

使用示例:ss -tunlp

三、使用 lsof 检查端口

lsof 是一个功能强大的命令行实用程序,它提供有关进程打开的文件的信息。

在 Linux 中,一切都是文件,可以将套接字视为写入网络的文件。

要使用 lsof 获取所有侦听 TCP 端口的列表:

lsof -nP -iTCP -sTCP:LISTEN

使用的选项如下:

-n - 不要将端口号转换为端口名称。

-p - 不要解析主机名,显示数字地址。

-iTCP -sTCP:LISTEN - 仅显示 TCP 协议状态为 LISTEN 的网络文件。

要查找正在侦听特定端口(例如 3306)的进程,请使用以下命令:

sudo lsof -nP -iTCP:3306 -sTCP:LISTEN

前言

如何确定端口是否在Linux或类unix系统下占用?怎么检查哪些端口正在Linux服务器上被占用?Linux系统如何使用命令行检查端口是否已经在占用?

查询哪些端口正在服务器的网络接口上被占用是非常重要的工作。您需要查询打开端口以检测入侵。除了入侵之外,出于故障排除的目的,可能有必要检查服务器上的其他应用程序是否已经使用了某个端口。例如,您可以在同一系统上安装Apache和Nginx服务器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤。

如何查询端口是否在使用中:

检查Linux上被占用的端口和应用程序:

Step1: 打开终端

Step2: 执行以下任意一条命令查看被占用的端口

查看端口22是否被占用:

较新版本的Linux使用以下查询命令:

方法1: 使用lsof命令查询占用端口

先安装lsof命令

RHEL/CentOS系统:

Debian/Ubuntu系统安装lsof命令

使用语法如下

OpenBSD

看到类似这样的输出结果:

sshd是进程名字

TCP 22表示sshd进程占用了TCP 22端口,正在监听中(LISTEN)

1243表示sshd进程号

方法二:使用netstat查询被占用的端口号

较新的Linux发行版已经不再默认集成netstat命令,而是使用新命令ss取代了。

如果要使用netstat命令,需要手动安装net-tools套件:

RHEL/CentOS系统安装net-tools套件,执行以下命令:

Debian/Ubuntu系统执行以下命令:

您可以使用netstat查询被占用的端口和应用程序,如下所示。

执行以下命令查询:

在Linux上,netstat命令已经废弃了一段时间。因此,你需要使用ss命令如下:

或者:

其中ss命令选项如下:

-t : 只显示Linux上的TCP套接字

-u : 在Linux上只显示UDP套接字

-l : 监听套接字。例如,TCP端口22由SSHD服务器打开。

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

-n : 不要解析服务名称,即不要使用DNS

FreeBSD/MacOS X netstat 语法

FreeBSD/MacOS X查询被占用的端口

或者

OpenBSD netstat 语法

OpenBSD查询被占用的端口

或者

方法三:使用`nmap`命令查询Linux被占用的端口

默认情况下,Linux发行版并没有默认安装nmap命令,

CentOS系统安装nmap

Ubuntu系统安装nmap

使用nmap查询本机被占用的端口

查询Linux系统被占用的UDP端口

查询Linux系统被占用的TCP端口

你可以同时查询被占用的TCP和UDP端口

结论:

本教程解释了如何在Linux系统上使用命令行查询TCP或者UDP端口是否被占用。有关更多信息,请参见nmap命令和lsof命令页面

SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件。 它还允许您对远程文件执行各种文件 *** 作并恢复文件传输。

SFTP可以替代旧版FTP协议。 它具有FTP的所有功能,但连接更加安全。

本文介绍了如何在Linux中更改默认的SFTP端口。 我们还将向您展示如何配置防火墙以允许在新端口上使用。

SFTP是SSH的子系统,并提供与SSH相同级别的安全性。

默认的SFTP端口为22。

更改默认的 SFTP / SSH 端口可以降低自动攻击的风险,从而为服务器增加一层额外的安全保护。

下面的步骤详细讲解了如何更改SFTP默认端口:

在Linux中,低于1024的端口号是为知名服务保留的,只能由root绑定。 尽管可以将1-1024范围内的端口用于SSH服务以避免端口分配问题,但建议选择1024以上的端口。

本示例说明如何将SFTP/SSH端口更改为2222,但是您可以选择自己喜欢的任何端口。

更改SFTP / SSH端口之前,您需要在防火墙中打开新端口。

如果您正在使用UFW(Ubuntu中的默认防火墙),请运行以下命令以打开端口:

在 CentOS 中,默认的防火墙管理工具是 FirewallD 。 要打开端口,请输入以下命令:

CentOS用户还需要调整SELinux规则以允许新的SSH端口:

如果您使用的是另一个运行 iptables 的 Linux发行版 ,请打开新的端口运行:

SSH服务器配置存储在 /etc/ssh/sshd_config 文件中。 使用文本编辑器打开文件:

搜索以端口22开头的行。通常,该行使用井号(#)注释掉。 删除哈希号,然后输入新的SSH端口号:

编辑配置文件时要非常小心。 错误的配置可能会阻止SSH服务启动。

完成后,保存文件并重新启动SSH服务以使更改生效:

在CentOS中,SSH服务名为sshd:

验证SSH守护程序正在侦听新端口:

ss -an | grep 2222

输出应如下所示:

要指定端口号,请使用 -P 选项调用 sftp 命令 ,后跟新的端口号:

如果使用的是GUI SFTP客户端,只需在客户端界面中输入新端口。

默认的SFTP端口为22。但是,您可以将端口更改为所需的任何数字。

如果您定期连接到多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。

如有任何疑问,请随时发表评论。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8385460.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存