Linux服务器查看【可用端口号连接】的命令和方式【netstat,ss,lsof】
Linux服务器查看可用连接的端口号的命令和方式
- 前言:
- 1. 使用`netstat`命令(`netstat`命令详解及使用指南)
- 一、什么是`netstat`
- 二、基本使用方法与参数解释
- 三、输出结果字段含义:
- 四、查找可用于SSH连接的端口示例
- 五、部分高级用法:
- 二、使用`ss`命令
- 一、ss命令及其使用方法
- 三、使用`lsof`命令
- 一、什么是`lsof`
- 二、基本使用方法与参数解释
- 查看网络连接
- 参数及其含义
- 三、输出结果字段含义
- 四、高级用法示例
前言:
笔者因为要使用服务器的端口进行连接和跑项目,笔者的老师给我们提供 netstat -natp
指令来查看服务器的端口号
,但是看完网上相关的介绍帖子笔者看完仍感觉云里雾里
,故在此新开一个帖子,通过介绍Linux服务器查看可用端口号的几种命令和方式
,帮助大家简洁明快的进一步理解查看端口和连接的命令和方式。
1. 使用netstat
命令(netstat
命令详解及使用指南)
一、什么是netstat
netstat
(Network Statistics)是一个在Linux系统上广泛使用的命令行工具,用于显示网络连接、路由表、接口统计信息、伪装连接和多播成员身份。它对于排查网络问题和监控网络性能非常有用。
二、基本使用方法与参数解释
-
查看所有活动的网络连接:
- 使用
netstat
:显示当前系统的网络连接、路由表、接口统计等信息的摘要。(这个摘要信息的内容可能会根据操作系统的不同而有所差异,但通常会包括一些默认的、被认为是最有用的网络连接和统计信息。) - 使用
netstat -a
:显示当前服务器的所有连接。(-a
选项表示“显示所有(all)”连接和监听端口。会列出所有的TCP
和UDP
连接,包括那些当前没有活动的连接(即处于各种状态如LISTEN
、ESTABLISHED
等的连接)。)
- 使用
-
查看特定类型的网络连接:
- 查看所有TCP连接:
netstat -at
- 查看所有UDP连接:
netstat -au
- 查看监听中的TCP或UDP端口:
netstat -tuln
(结合-p
可显示对应的程序名称)
- 查看所有TCP连接:
-
重要参数及其含义:
-n
:直接使用IP地址而非解析主机名。-t
:显示TCP协议相关的连接。-u
:显示UDP协议相关的连接。-l
:仅显示监听(Listening)
中的套接字。-p
:显示与连接相关的程序PID和名称。-a
:显示所有连接和监听端口。-o
:附加计时器信息到每个连接中。-an
:结合-a
和-n
,显示所有活动的网络连接并以数字形式表示地址和端口号
。
这些参数可以随意组合,比如:
- 查看
TCP类型端口
:netstat -ntpl
- 查看
UDP类型端口
:netstat -nupl
- 查看所有活动的网络连接和端口,并以数字形式表示地址和端口号。
netstat -an
参数含义解释同上。
三、输出结果字段含义:
当你执行一个netstat
命令后,会得到如下几个关键字段的信息:
- 本地地址(Local Address):代表本机IP地址和打开的端口号。例如,
0.0.0.0:22
表示服务器上的SSH服务正在监听所有可用网络接口的22号端口。 - 外部地址(Foreign Address):远程计算机IP地址和端口号。如果该字段为空,则表示这是一个监听状态的端口,尚未有客户端连接。
- 状态(State):表明当前的连接状态,具体含义如下:
LISTENING
:表示该端口是开放的,等待连接,但还没有被连接。ESTABLISHED
:表示两台机器正在通信。CLOSE_WAIT
:对方主动关闭连接或者网络异常导致连接中断。TIME_WAIT
:我方主动调用close()
断开连接,收到对方确认后状态变为TIME_WAIT
。
- PID/Program name:对应进程的PID,在任务管理器的进程中可以根据对应的PID找到对应的进程。
四、查找可用于SSH连接的端口示例
初次接触一台新的服务器时,你可能需要确认哪些端口可用于SSH连接。可以通过以下命令来检查:
netstat -natp | grep ssh
这将列出所有与SSH服务相关的连接,包括其状态、本地和外部地址等信息。
若要确定某个具体端口是否已被SSH占用或监听,比如默认的22号端口,可以使用下面的命令:
netstat -ntlp | grep :22
这样做可以验证22号端口是否处于监听状态,并确保没有其他冲突或异常情况发生。
五、部分高级用法:
- 显示路由表
netstat -r
- 显示网络统计信息
netstat -s
- 查找特定端口的信息
例如,查找监听在80端口的连接:netstat -tuln | grep :80
- 查找TCP连接中状态为ESTABLISHED的连接:
netstat -ant | grep ESTABLISHED
二、使用ss
命令
ss
和netstat
的参数十分类似,netstat
更老,ss
更新,两者功能类似,但ss
比netstat
占用系统资源更少,速度更快。现在新的linux
系统中往往会预先安装好ss
命令。
所有大家会使用上面的netstat
,就会使用ss
命令啦!
一、ss命令及其使用方法
-
基本语法:
ss [选项] [过滤条件]
-
常用选项:
-h
:显示帮助信息。-a
:显示所有连接,包括监听和非监听状态。-l
:仅显示监听状态的连接。-t
:仅显示TCP连接。-u
:仅显示UDP连接。-n
:以数字形式显示IP地址和端口。-p
:显示使用的进程或应用程序的名称。state
:根据连接的状态进行过滤,如ESTABLISHED
、TIME_WAIT
等。sport
:根据源端口进行过滤。dport
:根据目标端口进行过滤。src
:根据源IP地址进行过滤。dst
:根据目标IP地址进行过滤。
-
示例:
- 显示所有连接:
ss -a
- 显示所有TCP连接:
ss -t
- 显示所有UDP连接:
ss -u
- 显示监听状态的连接:
ss -l
- 显示指定端口的连接:
ss -a -p | grep :80
- 显示指定IP地址的连接:
ss -a -p src 192.168.1.100
- 显示所有连接:
三、使用lsof
命令
lsof
的指令也有一定的查找端口的能力,不过和上面的netstat
和ss
命令的任务不同。不过大家可以尝试结合netstat
/ss
指令和lsof
,充分了解系统中哪些程序或端口正在连接。
一、什么是lsof
lsof
(List Open Files)是一个强大的命令行工具,用于列出当前系统上所有打开的文件和网络连接。在Unix/Linux系统中,“一切皆文件”的理念意味着几乎所有的资源都可以被视为文件,包括但不限于普通文件、目录、网络连接、设备等。因此,lsof
不仅可以用来查找正在使用的端口,还可以查询任何类型的打开文件。
二、基本使用方法与参数解释
查看网络连接
-
查看特定端口的网络连接:
lsof -i :<端口号>
将
<端口号>
替换为你想要查询的具体端口号。这将显示所有使用该端口的进程及其详细信息,包括PID、用户、命令名等。 -
查看所有TCP或UDP连接:
- TCP连接:
lsof -i TCP
- UDP连接:
lsof -i UDP
这些命令将分别列出所有TCP或UDP协议的网络连接。
- TCP连接:
-
查看监听中的端口:
要查看哪些进程正在监听端口,可以使用以下命令:lsof -i -sTCP:LISTEN
或者更简洁地:
lsof -iTCP -sTCP:LISTEN
参数及其含义
-i [协议][@hostname|hostaddr][:service|port]
:选择互联网地址。例如,-i TCP
表示仅显示TCP协议的连接。-s
:显示额外的状态信息。对于TCP协议,可以指定状态如LISTEN
、ESTABLISHED
等。-P
:禁止将端口号转换为端口名称。这样可以避免DNS解析时间,并直接以数字形式展示端口号。-n
:不将网络地址解析为主机名,加快查询速度。
三、输出结果字段含义
执行lsof
命令后,会得到如下几个关键字段的信息:
- COMMAND:启动这个打开文件的命令名。
- PID:进程ID。
- USER:拥有此进程的用户名。
- FD:文件描述符,标记了进程如何访问文件。常见的值有cwd(当前工作目录)、txt(程序文本,代码和数据)、mem(内存映射文件)以及数字代表的文件描述符编号。
- TYPE:文件类型,如IPv4、IPv6等。
- DEVICE:字符或块设备号,如果适用的话。
- SIZE/OFF:文件大小或者文件偏移量。
- NODE:本地文件的inode编号。
- NAME:文件名或网络地址和服务名称。
四、高级用法示例
-
查找某个进程打开的所有网络连接:
如果你知道一个进程的名字,比如nginx
,并且想找出它打开了哪些网络连接,可以运行:lsof -c nginx
-
查找占用特定端口的进程:
想知道哪个进程占用了80端口,可以使用:lsof -i :80
-
查找与SSH相关的所有活动连接:
类似于netstat,也可以通过lsof
查找SSH服务相关的连接:lsof -iTCP -sTCP:ESTABLISHED | grep ssh
相关文章:
Linux服务器查看【可用端口号连接】的命令和方式【netstat,ss,lsof】
Linux服务器查看可用连接的端口号的命令和方式 前言:1. 使用netstat命令(netstat命令详解及使用指南)一、什么是netstat二、基本使用方法与参数解释三、输出结果字段含义:四、查找可用于SSH连接的端口示例五、部分高级用法&#x…...

【WPS】【WORDEXCEL】【VB】实现微软WORD自动更正的效果
1. 代码规范方面 添加 Option Explicit:强制要求显式声明所有变量,这样可以避免因变量名拼写错误等情况而出现难以排查的逻辑错误,提高代码的健壮性。使用 On Error GoTo 进行错误处理:通过设置错误处理机制,当代码执行…...
Attention计算中的各个矩阵的维度都是如何一步步变化的?
在Transformer模型中,各个矩阵的维度变化是一个关键的过程,涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程: 输入阶段 输入序列:假设输入序列的长度为seq_len,每个单词或标记通过词嵌入&…...

【数模学习笔记】插值算法和拟合算法
声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…...
探索 C++ 与 LibUSB:开启 USB 设备交互的奇幻之旅
一、引言 在当今数字化时代,USB(通用串行总线)设备无处不在,从常见的 U 盘、鼠标、键盘,到复杂的工业数据采集设备、医疗监测仪器等,它们以方便快捷的插拔式连接,为人们的生活和工作带来了极大…...

二、模型训练与优化(4):模型优化-实操
下面我将以 MNIST 手写数字识别模型为例,从 剪枝 (Pruning) 和 量化 (Quantization) 两个常用方法出发,提供一套可实际动手操作的模型优化流程。此示例基于 TensorFlow/Keras 环境,示范如何先训练一个基础模型,然后对其进行剪枝和…...
3D可视化产品定制,应用于哪些行业领域?
3D可视化定制服务已广泛渗透至众多行业领域,包括汽车、家居、时尚鞋服、珠宝配饰以及数码电器等: 汽车行业: 借助Web全景技术与3D模型,我们高保真地再现了汽车外观,为用户带来沉浸式的车型浏览体验。用户可在展示界面自…...

Avalonia 入门笔记(零):概述
Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感 基于 .NET 的跨…...

Unity TextMesh Pro入门
概述 TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。 本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功…...

[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...

12 USART串口通讯
1 串口物理层 两个设备的“DB9接口”之间通过串口信号建立连接,串口信号线中使用“RS232标准”传输数据信号。由于RS232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过“电平转换芯片”转换成控制器能识别的“TTL校准”的电平信号ÿ…...

CF 368A.Sereja and Coat Rack(Java实现)
问题分析 简而言之,小明要邀请m个绅士到家,家里有n个挂衣钩,一个挂衣钩要支付i元,如果挂衣钩不够了就要给每个绅士赔d元 思路分析 所以思路就很清楚了,获取n,d,m的值,并用数组存放每…...

清华大学、字节跳动等单位联合发布最新视觉语言动作模型RoboVLMs
近年来,视觉语言基础模型(Vision Language Models, VLMs)大放异彩,在多模态理解和推理上展现出了超强能力。现在,更加酷炫的视觉语言动作模型(Vision-Language-Action Models, VLAs)来了&#x…...
网络安全、Web安全、渗透测试之笔经面经总结
本篇文章涉及的知识点有如下几方面: 1.什么是WebShell? 2.什么是网络钓鱼? 3.你获取网络安全知识途径有哪些? 4.什么是CC攻击? 5.Web服务器被入侵后,怎样进行排查? 6.dll文件是什么意思,有什么…...

.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度
NPOI:支持xlsx,.xls,版本>2.5.3 XLS:HSSFWorkbook,主要前缀HSS, XLSX:XSSFWorkbook,主要前缀XSS,using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果࿰…...
python bs4 selenium 查找a href=javascript:();的实际点击事件和url
在使用 BeautifulSoup 和 Selenium 时,处理 href"javascript:;" 的链接需要一些额外的步骤,因为这些链接不直接指向一个 URL,而是通过 JavaScript 代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等…...

三 BH1750 光感驱动调试1
一 扫描设备 查看手册 BH1750 光感模块 寄存器地址为 0x23 官方手册 : http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf su 然后用 i2cdetect 扫描设备: 拨,插 对比, 探测设备挂载在 /dev/i2c-5 上, 从设备地址为 0x23 二 …...

UE材质节点Fresnel
Fresnel节点 ExponentIn 控制边缘透明度 BaseReflectFractionIn 控制中心透明度...
linux的大内核锁与顺序锁
大内核锁 Linux大内核锁(Big Kernel Lock,BKL)是Linux内核中的一种锁机制,用于保护内核资源,以下是关于它的详细介绍: 概念与作用 大内核锁是一种全局的互斥锁,在同一时刻只允许一个进程访问…...

用户注册模块用户校验(头条项目-05)
1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...