当前位置: 首页 > news >正文

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)”连接和监听端口。会列出所有的TCPUDP连接,包括那些当前没有活动的连接(即处于各种状态如LISTENESTABLISHED等的连接)。)
  • 查看特定类型的网络连接

    • 查看所有TCP连接:netstat -at
    • 查看所有UDP连接:netstat -au
    • 查看监听中的TCP或UDP端口:netstat -tuln(结合-p可显示对应的程序名称)
  • 重要参数及其含义

    • -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号端口是否处于监听状态,并确保没有其他冲突或异常情况发生。

五、部分高级用法:

  1. 显示路由表
    netstat -r
    
  2. 显示网络统计信息
    netstat -s
    
  3. 查找特定端口的信息
    例如,查找监听在80端口的连接:
    netstat -tuln | grep :80
    
  4. 查找TCP连接中状态为ESTABLISHED的连接:
    netstat -ant | grep ESTABLISHED
    

二、使用ss命令

ssnetstat的参数十分类似,netstat更老,ss更新,两者功能类似,但ssnetstat占用系统资源更少,速度更快。现在新的linux系统中往往会预先安装好ss命令。

所有大家会使用上面的netstat,就会使用ss命令啦!

一、ss命令及其使用方法

  1. 基本语法ss [选项] [过滤条件]

  2. 常用选项

    • -h:显示帮助信息。
    • -a:显示所有连接,包括监听和非监听状态。
    • -l:仅显示监听状态的连接。
    • -t:仅显示TCP连接。
    • -u:仅显示UDP连接。
    • -n:以数字形式显示IP地址和端口。
    • -p:显示使用的进程或应用程序的名称。
    • state:根据连接的状态进行过滤,如ESTABLISHEDTIME_WAIT等。
    • sport:根据源端口进行过滤。
    • dport:根据目标端口进行过滤。
    • src:根据源IP地址进行过滤。
    • dst:根据目标IP地址进行过滤。
  3. 示例

    • 显示所有连接: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的指令也有一定的查找端口的能力,不过和上面的netstatss命令的任务不同。不过大家可以尝试结合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协议的网络连接。

  • 查看监听中的端口
    要查看哪些进程正在监听端口,可以使用以下命令:

    lsof -i -sTCP:LISTEN
    

    或者更简洁地:

    lsof -iTCP -sTCP:LISTEN
    

参数及其含义

  • -i [协议][@hostname|hostaddr][:service|port]:选择互联网地址。例如,-i TCP表示仅显示TCP协议的连接。
  • -s:显示额外的状态信息。对于TCP协议,可以指定状态如LISTENESTABLISHED等。
  • -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服务器查看可用连接的端口号的命令和方式 前言&#xff1a;1. 使用netstat命令&#xff08;netstat命令详解及使用指南&#xff09;一、什么是netstat二、基本使用方法与参数解释三、输出结果字段含义&#xff1a;四、查找可用于SSH连接的端口示例五、部分高级用法&#x…...

【WPS】【WORDEXCEL】【VB】实现微软WORD自动更正的效果

1. 代码规范方面 添加 Option Explicit&#xff1a;强制要求显式声明所有变量&#xff0c;这样可以避免因变量名拼写错误等情况而出现难以排查的逻辑错误&#xff0c;提高代码的健壮性。使用 On Error GoTo 进行错误处理&#xff1a;通过设置错误处理机制&#xff0c;当代码执行…...

Attention计算中的各个矩阵的维度都是如何一步步变化的?

在Transformer模型中&#xff0c;各个矩阵的维度变化是一个关键的过程&#xff0c;涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程&#xff1a; 输入阶段 输入序列&#xff1a;假设输入序列的长度为seq_len&#xff0c;每个单词或标记通过词嵌入&…...

【数模学习笔记】插值算法和拟合算法

声明&#xff1a;以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料&#xff0c;仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…...

探索 C++ 与 LibUSB:开启 USB 设备交互的奇幻之旅

一、引言 在当今数字化时代&#xff0c;USB&#xff08;通用串行总线&#xff09;设备无处不在&#xff0c;从常见的 U 盘、鼠标、键盘&#xff0c;到复杂的工业数据采集设备、医疗监测仪器等&#xff0c;它们以方便快捷的插拔式连接&#xff0c;为人们的生活和工作带来了极大…...

二、模型训练与优化(4):模型优化-实操

下面我将以 MNIST 手写数字识别模型为例&#xff0c;从 剪枝 (Pruning) 和 量化 (Quantization) 两个常用方法出发&#xff0c;提供一套可实际动手操作的模型优化流程。此示例基于 TensorFlow/Keras 环境&#xff0c;示范如何先训练一个基础模型&#xff0c;然后对其进行剪枝和…...

3D可视化产品定制,应用于哪些行业领域?

3D可视化定制服务已广泛渗透至众多行业领域&#xff0c;包括汽车、家居、时尚鞋服、珠宝配饰以及数码电器等&#xff1a; 汽车行业&#xff1a; 借助Web全景技术与3D模型&#xff0c;我们高保真地再现了汽车外观&#xff0c;为用户带来沉浸式的车型浏览体验。用户可在展示界面自…...

Avalonia 入门笔记(零):概述

Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架&#xff0c;支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎&#xff0c;Avalonia 通过 Skia 自绘 UI 控件&#xff0c;保证在全平台具有一致的观感 基于 .NET 的跨…...

Unity TextMesh Pro入门

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

[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…...

12 USART串口通讯

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

CF 368A.Sereja and Coat Rack(Java实现)

问题分析 简而言之&#xff0c;小明要邀请m个绅士到家&#xff0c;家里有n个挂衣钩&#xff0c;一个挂衣钩要支付i元&#xff0c;如果挂衣钩不够了就要给每个绅士赔d元 思路分析 所以思路就很清楚了&#xff0c;获取n&#xff0c;d&#xff0c;m的值&#xff0c;并用数组存放每…...

清华大学、字节跳动等单位联合发布最新视觉语言动作模型RoboVLMs

近年来&#xff0c;视觉语言基础模型&#xff08;Vision Language Models, VLMs&#xff09;大放异彩&#xff0c;在多模态理解和推理上展现出了超强能力。现在&#xff0c;更加酷炫的视觉语言动作模型&#xff08;Vision-Language-Action Models, VLAs&#xff09;来了&#x…...

网络安全、Web安全、渗透测试之笔经面经总结

本篇文章涉及的知识点有如下几方面&#xff1a; 1.什么是WebShell? 2.什么是网络钓鱼&#xff1f; 3.你获取网络安全知识途径有哪些&#xff1f; 4.什么是CC攻击&#xff1f; 5.Web服务器被入侵后&#xff0c;怎样进行排查&#xff1f; 6.dll文件是什么意思&#xff0c;有什么…...

.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度

NPOI&#xff1a;支持xlsx&#xff0c;.xls&#xff0c;版本>2.5.3 XLS&#xff1a;HSSFWorkbook&#xff0c;主要前缀HSS&#xff0c; XLSX&#xff1a;XSSFWorkbook&#xff0c;主要前缀XSS&#xff0c;using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果&#xff0…...

python bs4 selenium 查找a href=javascript:();的实际点击事件和url

在使用 BeautifulSoup 和 Selenium 时&#xff0c;处理 href"javascript:;" 的链接需要一些额外的步骤&#xff0c;因为这些链接不直接指向一个 URL&#xff0c;而是通过 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大内核锁&#xff08;Big Kernel Lock&#xff0c;BKL&#xff09;是Linux内核中的一种锁机制&#xff0c;用于保护内核资源&#xff0c;以下是关于它的详细介绍&#xff1a; 概念与作用 大内核锁是一种全局的互斥锁&#xff0c;在同一时刻只允许一个进程访问…...

用户注册模块用户校验(头条项目-05)

1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验&#xff0c;后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...