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
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云集电商:数据库的分布式升级实践|OceanBase案例

电商行业对数据库有哪些需求 云集电商作为一家传统电商企业&#xff0c;业务涵盖了美妆个护、服饰、水果生鲜、健康保健等多个领域&#xff0c;在创立四年后在纳斯达克上市&#xff08;股票代码&#xff1a;YJ&#xff09;。与京东、淘宝、拼多多等电商平台不同&#xff0c;云…

智能租赁系统提升效率与服务质量的全新解决方案

内容概要 智能租赁系统的崛起就像一场春雨&#xff0c;滋润着租赁行业的每一个角落。它通过先进的技术架构&#xff0c;结合数据管理&#xff0c;优化了以往繁琐的租赁流程&#xff0c;让整个过程如同顺畅的流水。比如&#xff0c;通过智能算法自动计算费用&#xff0c;使得用…

苹果手机(IOS系统)出现安全延迟进行中如何关闭?

苹果手机&#xff08;IOS系统&#xff09;出现安全延迟进行中如何关闭&#xff1f; 一、设置二、隐私与安全性三、失窃设备保护关闭 一、设置 二、隐私与安全性 三、失窃设备保护关闭

VxWorks [安装workbench之修改虚拟机Mac]

问题&#xff1a; 一、安装VMware 下载链接 [VMware 15 pro](https://segmentfault.com/a/1190000022562275)二、修改VMnet1的Mac ** 打开注册表 ** ctrl f 搜索VMnet1 增加字符串值 NetWorkAddress 00D6196C32 三、重启VMnet1 修改完成 四、重启 workbench

Redis十大数据类型详解

Redis&#xff08;一&#xff09; 十大数据类型 redis字符串&#xff08;String&#xff09; string是redis最基本的类型&#xff0c;一个key对应一个value string类型是二进制安全的&#xff0c;意思是redis的string可以包含任何数据。例如说是jpg图片或者序列化对象 一个re…

【从零开始使用系列】StyleGAN2:开源图像生成网络——环境搭建与基础使用篇(附大量测试图)

StyleGAN2 是英伟达团队 NVIDIA 提出的生成对抗网络&#xff08;GAN&#xff09;的一种改进版本。 它通过创新的网络架构&#xff0c;能够生成细节丰富、逼真的图像&#xff0c;特别在高频细节&#xff08;如皮肤纹理、光照等&#xff09;的表现上表现卓越。与传统 GAN 相比&am…

【三维数域】三维数据调度-负载均衡和资源优化

在处理大规模三维数据时&#xff0c;负载均衡和资源优化是确保系统高效运行、提供流畅用户体验的关键。这两者不仅影响到系统的性能和稳定性&#xff0c;还直接决定了用户交互的质量。以下是关于如何在三维数据调度中实现有效的负载均衡和资源优化的详细探讨。 一、负载均衡 负…

成功案例分享 — 芯科科技助力涂鸦智能打造Matter over Thread模块,简化Matter设备开发

芯科科技&#xff08;Silicon Labs&#xff09;的愿景之一是让开发者每天都能够更轻松地开发无线物联网&#xff08;IoT&#xff09;。特别是在拥有相同愿景的合作伙伴的帮助下&#xff0c;我们每天都在取得进步。但是要想弥合知识水平和物联网开发之间的差距仍会面临一定的挑战…

如何将 sqlserver 数据迁移到 mysql

文章目录 前言一、导出SQL Server 数据二、转换数据格式为MySQL兼容格式三、导入数据到MySQL数据库五、使用ETL工具六、通过 navicat 工具七、总结 前言 将 SQL Server 数据迁移到 MySQL 是一个常见的数据库迁移任务&#xff0c;通常涉及以下几个关键步骤&#xff1a;导出 SQL…

10Hive性能优化

10Hive性能优化 1Hive性能问题排查的方式1.1Hive底层原理&#xff1a;explain执行计划详解1.1.1 explain理论1.1.2 实践 2Hive性能调优的方式2.1. SQL语句优化1. union all2. distinct 2.2. 数据格式优化2.3. 小文件过多优化2.3.1解决hive小文件过多问题小文件产生的原因小文件…

安全规约、脱敏规范、敏感逻辑的保护方案、防止 SQL 注入

文章目录 I 强制性安全规约平台资源的防重放机制URL 外部重定向传入的目标地址必须执行白名单过滤。表单、AJAX 提交必须执行 CSRF 安全验证。禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数据。用户请求参数必须做有效性验证防止 SQL 注入用户敏感数据用户权限控制校验…

【数学】概率论与数理统计(五)

文章目录 [toc] 二维随机向量及其分布随机向量离散型随机向量的概率分布律性质示例问题解答 连续型随机向量的概率密度函数随机向量的分布函数性质连续型随机向量均匀分布 边缘分布边缘概率分布律边缘概率密度函数二维正态分布示例问题解答 边缘分布函数 二维随机向量及其分布 …

3.Qt Quick-QML地图引擎之v4.3版本(新增动态轨迹线/海图/天地图街道/天地图卫星)

在上个版本Qt Quick-QML地图引擎之v4版本(新增多模型切换/3D模型欧拉角模拟)_qt加载3d地图-CSDN博客更新了3D模拟功能&#xff0c;在4.3版本增加动态轨迹线、三个地图(海图/天地图街道/天地图卫星)。 4.3版本已经支持qt6 cmake版本&#xff0c;而4.3版本以下支持qt5版本&#x…

数据结构:DisjointSet

Disjoint Sets意思是一系列没有重复元素的集合。一种常见的实现叫做&#xff0c;Disjoint-set Forest可以以接近常数的时间复杂度查询元素所属集合&#xff0c;用来确定两个元素是否同属一个集合等&#xff0c;是效率最高的常见数据结构之一。 Wiki链接&#xff1a;https://en…

vmware-ubuntu22.04配置虚拟机win10,重新上网成功

打开问题显示 Hardware配置 Options配置 最后的Advanced&#xff0c;第一次用了BIOS&#xff0c;然后启动中有更新&#xff0c;然后关闭&#xff0c;再用UEFI启动

【2024年华为OD机试】(B卷,100分)- 数组去重和排序(Java JS PythonC/C++)

一、问题描述 题目描述 给定一个乱序的数组&#xff0c;删除所有的重复元素&#xff0c;使得每个元素只出现一次&#xff0c;并且按照出现的次数从高到低进行排序&#xff0c;相同出现次数按照第一次出现顺序进行先后排序。 输入描述 一个数组 输出描述 去重排序后的数组…

《零基础Go语言算法实战》【题目 2-10】接口的实现

《零基础Go语言算法实战》 【题目 2-10】接口的实现 请指出下面代码中存在的问题。 type Programmer struct { Name string } func (p *Programmer) String() string { return fmt.Sprintf("print: %v", p) } func main() { p : &Programmer{} p.String()…

C++ vtordisp的应用场景

文章目录 问题代码1. 基本概念回顾2. 应用场景虚继承与虚函数并存的类层次结构 3. 编译器相关考虑 问题代码 #include <iostream> using namespace std;class base { public:base() {}virtual void show() { cout << "base:: show"<<endl; } priv…

Git:merge合并、冲突解决、强行回退的终极解决方案

首先还是得避免冲突的发生&#xff0c;无法避免时再去解决冲突&#xff0c;避免冲突方法&#xff1a; 时常做pull、fatch操作&#xff0c;不要让自己本地仓库落后太多版本&#xff1b;在分支操作&#xff0c;如切换分支、合并分支、拉取分支前&#xff0c;及时清理Change&#…

2025网络架构

一、园区网络概述。 园区网络典型层次和区域&#xff1a; 核心层&#xff1a;是园区网骨干&#xff0c;是园区数据交换的核心&#xff0c;联接园区网的各个组成部分&#xff0c;如数据中心、管理中心、园区出口等。汇聚层&#xff1a;处于园区网的中间层次&#xff0c;完成数据…