如何检查 Linux 中的程序和监听的端口

2023-10-29

在 Linux 或者类 Unix 中,我该如何检查某个端口是否被占用?我又该如何验证 Linux 服务器中有哪些端口处于监听状态?

验证哪些端口在服务器的网络接口上处于监听状态是非常重要的。你需要注意那些开放端口来检测网络入侵。除了网络入侵,为了排除故障,确认服务器上的某个端口是否被其他应用程序占用也是必要的。比方说,你可能会在同一个系统中安装了 Apache 和 Nginx 服务器,所以了解是 Apache 还是 Nginx 占用了 # 80/443 TCP 端口真的很重要。这篇快速教程会介绍使用 netstat 、 nmap 和 lsof 命令来检查端口使用信息并找出哪些程序正在使用这些端口。Linux学习交流 566421780点击链

如何检查 Linux 中的程序和监听的端口如何检查 

1、 打开一个终端,如 shell 命令窗口。 2、 运行以下任意一行命令:

sudo lsof -i -P -n | grep LISTENsudo netstat -tulpn | grep LISTENsudo nmap -sTU -O IP地址

下面我们看看这些命令和它们的详细输出内容:

方式 1:lsof 命令

语法如下:

$ sudo lsof -i -P -n$ sudo lsof -i -P -n | grep LISTEN$ doas lsof -i -P -n | grep LISTEN  ### OpenBSD

输出如下:

图 1:使用 lsof 命令检查监听端口和程序

图 1:使用 lsof 命令检查监听端口和程序

仔细看上面输出的最后一行:

sshd    85379     root    3u  IPv4 0xffff80000039e000      0t0  TCP 10.86.128.138:22 (LISTEN)
  • sshd 是程序的名称

  • 10.86.128.138 是 sshd 程序绑定 (LISTEN) 的 IP 地址

  • 22 是被使用 (LISTEN) 的 TCP 端口

  • 85379 是 sshd 任务的进程 ID (PID)

方式 2:netstat 命令

你可以如下面所示使用 netstat 来检查监听的端口和程序。

Linux 中 netstat 语法

$ netstat -tulpn | grep LISTEN

FreeBSD/MacOS X 中 netstat 语法

$ netstat -anp tcp | grep LISTEN$ netstat -anp udp | grep LISTEN

OpenBSD 中 netstat 语法

$ netstat -na -f inet | grep LISTEN$ netstat -nat | grep LISTEN

方式 3:nmap 命令

语法如下:

$ sudo nmap -sT -O localhost$ sudo nmap -sU -O 192.168.2.13 ### 列出打开的 UDP 端口$ sudo nmap -sT -O 192.168.2.13 ### 列出打开的 TCP 端口

示例输出如下:

图 2:使用 nmap 探测哪些端口监听 TCP 连接

图 2:使用 nmap 探测哪些端口监听 TCP 连接

你可以用一句命令合并 TCP/UDP 扫描:

$ sudo nmap -sTU -O 192.168.2.13

赠品:对于 Windows 用户

在 windows 系统下可以使用下面的命令检查端口使用情况:

netstat -bano | morenetstat -bano | grep LISTENINGnetstat -bano | findstr /R /C:"[LISTING]"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 Linux 中的程序和监听的端口 的相关文章

  • 我们如何在使用循环时调用 ansible playbook 中的变量

    我有两个文件 其中这些文件包含server names and server IP s 我想更改 替换一些特定的server names and IP addressees根据要求在两个文件中 这与这篇文章 因为它被要求开设一个新职位 ht
  • Pthreads - 高内存使用率

    我正在用 C 编写一些东西 在 256Mb 系统上的 Linux 中创建大量 Pthread 我通常有 200Mb 的免费空间 当我使用少量线程运行该程序时 它可以工作 但是一旦我让它创建大约 100 个线程 它就会出现错误 因为系统内存不
  • Qt 嵌入式触摸屏 QMouseEvents 在收到 MouseButtonRelease 之前未收到

    我在带有触摸屏的小型 ARM 嵌入式 Linux 设备上使用 Qt 4 8 3 我的触摸屏配置了 tslib 并对其进行了校准 因此 etc 中有一个 pointcal 文件 我的触摸事件的位置工作得很好 但无论如何我都会在鼠标按下或鼠标释
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 使用 shell 脚本发送 HTML 邮件

    如何使用 shell 脚本发送 HTML 电子邮件 首先 您需要撰写消息 最低限度由这两个标头组成 MIME Version 1 0 Content Type text html 以及适当的消息正文 p Hello world p 获得后
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写

随机推荐

  • 几种常用激活函数的简介

    1 sigmod函数 函数公式和图表如下图 在sigmod函数中我们可以看到 其输出是在 0 1 这个开区间内 这点很有意思 可以联想到概率 但是严格意义上讲 不要当成概率 sigmod函数曾经是比较流行的 它可以想象成一个神经元的放电率
  • Python正则表达式学习(3)——re.compile()

    re compile pattern flags 0 将正则表达式 pattern 编译为正则表达式对象 可用于使用其 match 和search 方法进行匹配 顺序 prog re compile pattern result prog
  • Pinctrl子系统之一了解基础概念

    1 Linux Pinctrl子系统简介 在许多soc内部都包含有pin控制器 通过pin控制器的寄存器 我们可以配置一个或者一组引脚的功能和特性 在软件方面 Linux内核提供了pinctrl子系统 目的是为了统一各soc厂商的pin脚管
  • TreeView —WPF—MVVM—HierarchicalDataTemplate

    摘要 采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树 支持勾选 勾选父节点 子节点回全部自动勾选 子节点部分勾选时 父节点半勾选 子节点全部勾选时 父节点勾选 反之亦然 Hier
  • 吴恩达9.3 反向传播的直观理解

    为了更好地理解反向传播算法 我们再来仔细研究一下前向传播的原理 前向传播算法 反向传播算法做的是
  • Qt基础——UI文件.h文件说明

    首先 需要使用Qt Designer设计你的UI界面 Qt号称是跨平台应用程序和UI开发框架 所以其自带的UI设计器 即Qt Designer 功能也非常强大 除了通常用的如Button List等组件外面 使用Qt Designer做UI
  • mac出现wifi没有ip地址无法接入互联网

    问题 情况 wifi已经输入密码正确 但是中间出现灰色的wifi图标 还有一个叹号 说是没有IP地址 解决方法 1 试过重启 2 试过删掉该网络再重新输入密码 3 试过删掉WiFi一栏 来自百度 最佳答案 1 首先打开偏好设置 点击网络选项
  • 用Python赚钱的方法有哪些?

    很多人想知道用Python赚钱的方法有哪些 Python很容易使用 应用性较强 可以通过使用Python开发小程序 抓取数据 游戏开发 兼职编程老师 发展副业的方式来赚钱 文末有福利 用Python赚钱的方法 1 某宝搜python程序 可
  • java多线程设计模式

    1 I O处理比较花费时间 故把执行I O处理和非IO处理的线程分开 CPU执行速度很快 而内存的写入 读取很慢 所以有关CPU和内存交互会降低指令的速度 2 start方法运行有2个步骤 启动新的线程 运行new对象的run方法 3 所有
  • AD19 PCB设计导入元件库、导出pdf、定义板子形状、生成元件库、铺铜基本操作总结

    导入元件库 1 点击右侧components 2 右键 然后选择 Add or Remove Libraries 3 点击从文件安装 4 选择库文件 导出PDF 导出原理图或者pcb等信息pdf操作 文件 gt 智能pdf 定义板子形状 使
  • 慕课第四周第7题 出租车计价

    出租车计价 4分 题目内容 已知某城市普通出租车收费标准为 起步里程为3公里 起步费为8元 10公里以内超过起步里程的部分 每公里加收2元 超过10公里以上的部分加收50 的回空补贴费 即每公里3元 出租车营运过程中 因堵车和乘客要求临时停
  • eigen 教程和指南

    转自 http eigen tuxfamily org dox 2 0 TutorialCore html https blog csdn net xuezhisdc article details 54619853 固定大小的矩阵和向量
  • 两个多项式的相加操作 C语言(链式存储结构)

    内容 完成两个多项式的相加操作 已知有两个多项式P x Q x 设计算法实现P x Q x 运算 而且对加法运算不重新开辟存储空间 要求用链式存储结构 例如 P x 5x 3 2x 1 Q x 3x 3 x 2 2x 3 其计算输出结果为
  • RHEL8、CentOS8配置本地YUM源

    1 挂载光盘镜像到一个指定的目录 2 创建一个仓库配置文件 3 编辑 etc fstab配置文件 让光盘开机自动挂载 4 使用yum dnf命令来安装软件 仓库名称 具有唯一性的标识名称 不应与其他软件仓库发生冲突 描述信息 name 可以
  • 如何将JSON字符串转化成对象

    在这里只能使用ObjiectMapper这个类才能将Json字符串转成对象的格式进行输出 话不多说 直接上代码 实体类 实体类 Setter Getter public class UserInfo implements Serializa
  • 搭建个人备忘录中心服务memos、轻量级笔记服务

    目录 一 源码 二 官网 三 搭建 四 使用 一 源码 GitHub usememos memos A privacy first lightweight note taking service Easily capture and sha
  • 计算机网络 第四章网络层(6)网络地址转换 NAT多协议标记交换 MPLS MPLS 协议的基本原理

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 4 8 2 网络地址转换 NAT 问题 在专用网上使用专用地址的主机如何与互联网上的主机通信 并不需要加密 解决 再申请一些全球 IP 地址 但这在很多情况下是不容易做到的 采
  • 机器学习 :训练集、验证集、测试集分配比例

    根据 统计学习方法 中的观点 如果给定的样本数据充足 进行模型选择的一种简单方法是随机地将数据集切分成三部分 分别为训练集 training set 验证集 validation set 和测试集 test set 训练集用来训练模型 验证
  • JS解析详细分析

    1 确定js的位置 1 1 观察按钮的绑定js事件 通过点击按钮 然后点击Event Listener 部分网站可以找到绑定的事件 对应的 只需要点击即可跳转到js的位置 1 2 通过search all file 来搜索 部分网站的按钮可
  • 如何检查 Linux 中的程序和监听的端口

    在 Linux 或者类 Unix 中 我该如何检查某个端口是否被占用 我又该如何验证 Linux 服务器中有哪些端口处于监听状态 验证哪些端口在服务器的网络接口上处于监听状态是非常重要的 你需要注意那些开放端口来检测网络入侵 除了网络入侵