linux查看程序端口

等等我上周在公司的服务器上发现了一些东西。
旧的网络服务器突然无法连接,日志中充满了混乱的字符。
这样做了半天,发现8 0端口被后台进程占用了。
当时我有一台旧的ThinkPad,所以我使用了lsof命令,通过一个命令行解决了问题。
我记得那是一个周三的下午,阳光斜射进办公室。
我盯着终端的几行输出,突然 netstat 和 ss 命令也可以工作,但 lsof 会显示更完整的信息。
这个lsofi:8 08 0列出了所有的进程名和PID,比直接看ps结果更清晰。
但是,如果该端口被系统进程占用,那么使用这些命令与其说是临时解决方案,不如说是根本原因,对吧?

Linux下如何查看哪些端口处于监听状态

昨天我在我的家用计算机上安装了一个新的 FTP 服务器。
设置完端口后,我突然想看看它是否真的在监听指定的2 1 端口。
于是我打开终端,输入命令netstat -an。
结果终端很快就闪出了一行行信息,但是没有看到2 1 端口。
然后我想了想,用lsof怎么样?我在终端中输入 lsof -i ,出现了一系列数字和字母。
2 1 号门确实在那里。
这让我有点惊讶,因为我一直以为只有 netstat 才能看到这一点。
等等,那是另一回事了。
突然想到之前学的防火墙规则配置也会影响端口监控。

Linux下如何查看哪些端口处于监听状态

坦白讲,在Linux系统中,了解端口监听状态是保证网络安全的关键。
其实很简单。
首先,您可以使用“netstat-anp”命令来检查哪些端口打开。
比如我们去年跑的项目中,我们用这个命令发现2 04 9 端口被nfs服务占用了。
另一点,如果你想更深入地扫描,例如查找netstat未检测到的端口,你可以尝试“sudonmap-sT-Olocalhost”。
该命令对于具有大约 5 ,000 个端口的应用程序非常有用。
还有另一个关键细节。
如果你想知道哪个应用程序正在使用特定端口,可以使用“lsof -i:$PORT”来检查。
例如,我们曾经使用此命令来查找数据库服务使用的端口号。

一开始我以为只有netstat可以处理这个问题,但后来发现这是错误的。
通过查看/etc/services文件还可以找到端口号对应的服务名称。
这对于了解系统的运行状态特别有用。
比如我们曾经通过这个文件发现2 1 端口对应的是FTP服务。

对于关闭端口,常见的方法有两种。
第一种是使用 iptables 工具。
命令格式为:“sudoiptables-AINPUT-ptcp--dport$PORT-jDROP”和“sudoiptables-AOUTPUT-ptcp--dport$PORT-jDROP”。
该方法可以有效禁止特定端口。
另一种方法是直接关闭受影响的应用程序进程,使用“kill-9 PID”命令,这会导致端口自然关闭。
例如,我们已经用这个命令关闭了一个占用1 02 4 端口的进程。

说实话,这很令人困惑。
很多人不注意这一点。
关闭端口时要小心,不要意外杀死关键系统进程。
我认为值得尝试通过《Here's How to Learn Linux》等书籍进行系统学习,加深对Linux操作系统的理解和应用。

Linux系统查看端口占用命令

啊,如果你问Linux中的端口控制,我会向你解释的。
上周,一个客户的服务器宕机了,我靠这个解决了问题。

首先我们来说说如何安装工具:
如果是CentOS/RHEL系统,只需安装net-tools lsof,这两个就够了。

Ubuntu/Debian 只需 apt-get install net-tools lsof,非常简单。

两个最常用的命令:netstat 和 lsof
1 .网络统计,这个家伙 这个命令是一个老东西了。
现在新系统中可能不完整,但是需要安装。

要检查所有侦听端口,请使用 netstat -ntlp。

-n为数字格式,不等待域名解析。

-t代表TCP,-u代表UDP。

-l 监视器。

-p 显示哪个进程负责。
例如,输出显示0.0.0.0:8 0 LISTEN 1 2 3 4 /sshd,则说明2 2 端口被sshd进程占用,PID为1 2 3 4
2 . lsof 是一个神器 这个命令太强大了,控制门不是很方便。

检查所有网络连接,直接lsof -i。

要检查特定端口(例如 8 0),请使用 lsof -i:8 0。

在输出中,COMMAND 是进程名称,PID 是进程号,USER 是打开它的人。

例如COMMAND=nginx PID=5 6 7 8 USER=root,nginx占用8 0端口。

查看后如何停止进程?
首先找到PID,例如5 6 7 8
kill 5 6 7 8 是一种礼貌的说法,表示“嘿,你可以停下来了。

如果进程不听话,kill -9 5 6 7 8 即可暴力杀死。

注意! -9 是致命操作。
除非你确定该进程没有什么好处(比如日志文件没有写入),否则不要盲目使用。

还有一个新的、更快的命令:ss 现在建议使用 ss 而不是 netstat,这样速度要快得多。

检查监听端口,ss -tulnp。

-t TCP,-u UDP。

-l 正在监视。

-n 数字格式。

-p 进程信息。

培训提醒: 1 、必须有root权限才能查看所有信息,否则将无法看到系统进程。
2 、不要随意停止系统服务。
比如sshd占用2 2 ,如果杀掉它,远程访问就没用了。
3 . 除非非常紧急,否则使用kill 而不是kill -9 该过程将自行打包并离开。

无论如何,如果你尝试这个例程,你几乎就能完成它。
如果您还有疑问,我会为您检查。