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

Linux 端口知识全解析

Linux 端口知识全解析

在 Linux 系统的网络世界里,端口如同一个个小小的“窗口”,数据的进出都依赖它们有条不紊地运作。理解 Linux 端口知识,无论是对于系统管理员排查网络故障,还是开发者进行网络编程,都至关重要。

在这里插入图片描述

一、端口是什么

端口(Port)是一种抽象的软件结构,它在传输层协议(如 TCP 和 UDP)之上工作,用来区分不同的网络服务进程。可以把它想象成酒店的房间号,IP 地址是酒店的地址,而端口号就是具体客房的编号,数据包依据这些“编号”精准地找到对应的服务。端口号的范围是 0 - 65535,其中 0 - 1023 被称为知名端口(Well-Known Ports),这些端口预留给了诸如 HTTP(80)、HTTPS(443)、SSH(22)等常用的系统服务,普通用户程序一般不允许使用。1024 - 49151 属于注册端口,常用于商业软件或用户自定义的网络服务;49152 - 65535 则是动态端口或私有端口,操作系统会把它们分配给客户端程序临时使用。

二、查看端口状态

  1. netstat 命令
    netstat 是老牌且功能强大的网络工具。例如,要查看所有正在监听的 TCP 端口,可以使用:
netstat -ntlp

其中,-n 表示以数字形式显示地址和端口,避免域名解析,加快查询速度;-t 只显示 TCP 连接;-l 列出正在监听的端口;-p 显示对应的进程信息 。通过这个命令,你能清晰看到每个监听端口关联的服务进程 PID,方便排查异常端口对应的程序。
2. ss 命令
ss 命令是 netstat 的替代工具,效率更高。查看 TCP 监听端口,执行:

ss -ntlp

它输出的结果简洁明了,并且在高负载服务器上,ss 的资源消耗比 netstat 要小很多,能快速获取当前系统端口占用状况。

三、端口绑定与监听

在网络编程里,服务端程序需要绑定特定端口来监听客户端请求。以 Python 的简单 TCP 服务端为例:

import socketserver_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('localhost', 9999)
server_socket.bind(server_address)
server_socket.listen(5)while True:client_socket, client_address = server_socket.accept()# 处理客户端连接data = client_socket.recv(1024)client_socket.send(b"Hello, Client!")client_socket.close()

上述代码中,先创建了一个 TCP 套接字,接着将其绑定到本地地址 localhost 和端口 9999,随后开始监听,等待客户端连接。

四、开放与关闭端口

  1. 开放端口
    如果要在 Linux 系统上开放一个端口,例如在使用 iptables 防火墙的系统中,开放 8080 端口用于 web 服务访问:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

这条命令在 INPUT 链添加了一条规则,允许 TCP 协议的目的端口为 8080 的数据包进入系统。要是使用 firewalld 防火墙,命令则是:

firewalld-cmd --zone=public --add-port=8080/tcp --permanent
firewalld-cmd --reload

--permanent 表示永久生效,--reload 是重新加载防火墙配置,让新规则立即生效。
2. 关闭端口
对应关闭端口,iptables 下:

iptables -D INPUT -p tcp --dport 8080 -j ACCEPT

-D 用于删除指定规则。firewalld 中:

firewalld-cmd --zone=public --remove-port=8080/tcp --permanent
firewalld-cmd --reload

五、排查端口相关故障

当遇到端口访问异常,比如无法连接某个服务端口时,首先查看端口是否监听。如果没有监听,检查服务是否启动、配置文件有无错误。若端口监听正常,再检查防火墙规则,确认是否阻挡了数据包进出。还可以使用 tcpdump 这样的抓包工具,抓取端口相关的网络流量,查看数据包的传输情况,定位是客户端问题、网络中间链路问题,还是服务端内部逻辑出错。

掌握 Linux 端口知识,就如同握住了开启 Linux 网络大门的一把把钥匙,助力我们更高效、精准地驾驭 Linux 系统中的网络服务与应用。

相关文章:

Linux 端口知识全解析

Linux 端口知识全解析 在 Linux 系统的网络世界里,端口如同一个个小小的“窗口”,数据的进出都依赖它们有条不紊地运作。理解 Linux 端口知识,无论是对于系统管理员排查网络故障,还是开发者进行网络编程,都至关重要。…...

《Armv8-A virtualization》学习笔记

1.MAIR 的全称是 Memory Attribute Indirection Register。它是ARM架构中的一种寄存器,用于定义内存的属性,并提供一种间接访问内存属性的机制。MAIR寄存器包含多个字段,这些字段指示不同类型内存的属性,例如是否可以缓存、是否为…...

23. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算

在每个月发工资后很多人会对未来一个月的花销进行大致的计划,这个行为叫做预算。那么在这篇文章中我们将一起开发预算服务。 一、需求 预算需求就是简单的增删改查,虽然比较简单,但是也有几点需要注意。 编号需求说明1新增预算1. 针对每种…...

DOS攻击的原理和实现 (网络安全)hping3和Slowloris的运用

DoS攻击的原理和实现 DoS攻击(Denial of Service Attack,拒绝服务攻击)是指通过恶意手段使目标服务器、服务或网络资源无法正常提供服务,从而影响正常用户的访问。DoS攻击通常通过消耗目标系统的资源(如带宽、内存、处…...

十三、Vue 过渡和动画

文章目录 一、Vue过渡和动画概述1. 过渡的基本原理2. 动画的基本原理二、使用 CSS 过渡1. 单元素过渡2. 过渡模式in - out 模式out - in 模式三、使用 CSS 动画1. 单元素动画2. 动画结合过渡四、JavaScript 钩子函数实现过渡和动画1. 基本概念2. 示例五、列表过渡1. 基本原理2.…...

Dubbo 关键知识点解析:负载均衡、容错、代理及相关框架对比

1.Dubbo 负载均衡策略? Dubbo 是一个分布式服务框架,它提供了多种负载均衡策略来分发服务调用。在 Dubbo 中,负载均衡的实现是基于客户端的,即由服务消费者(Consumer)端决定如何选择服务提供者&#xff08…...

仿生的群体智能算法总结之三(十种)

群体智能算法是一类通过模拟自然界中的群体行为来解决复杂优化问题的方法。以下是30种常见的群体智能算法,本文汇总第21-30种。接上文 : 编号 算法名称(英文) 算法名称(中文) 年份 作者 1 Ant Colony Optimization (ACO) 蚁群优化算法 1991 Marco Dorigo 2 Particle Swar…...

《量子比特大阅兵:不同类型量子比特在人工智能领域的优劣势剖析》

在科技的前沿,量子比特与人工智能的融合正开启一扇全新的大门。不同类型的量子比特,如超导、离子阱、光量子等,在与人工智能结合时展现出独特的优势与劣势。 超导量子比特 超导量子比特是目前应用较为广泛且研究相对成熟的量子比特类型。它…...

el-input输入框需要支持多输入,最后传输给后台的字段值以逗号分割

需求&#xff1a;一个输入框字段需要支持多次输入&#xff0c;最后传输给后台的字段值以逗号分割 解决方案&#xff1a;结合了el-tag组件的动态编辑标签 那块的代码 //子组件 <template><div class"input-multiple-box" idinputMultipleBox><div>…...

机器人领域的一些仿真器

模拟工具和环境对于开发、测试和验证可变形物体操作策略至关重要。这些工具提供了一个受控的虚拟环境&#xff0c;用于评估各种算法和模型的性能&#xff0c;并生成用于训练和测试数据驱动模型的合成数据。 Bullet Physics Library 用于可变形物体模拟的一个流行的物理引擎是 B…...

前端-动画库Lottie 3分钟学会使用

目录 1. Lottie地址 2. 使用html实操 3. 也可以选择其他的语言 1. Lottie地址 LottieFiles: Download Free lightweight animations for website & apps.Effortlessly bring the smallest, free, ready-to-use motion graphics for the web, app, social, and designs.…...

腾讯云智能结构化 OCR:驱动多行业数字化转型的核心引擎

在当今数字化时代的汹涌浪潮中&#xff0c;数据已跃升为企业发展的关键要素&#xff0c;其高效、精准的处理成为企业在激烈市场竞争中脱颖而出的核心竞争力。腾讯云智能结构化 OCR 技术凭借其前沿的科技架构与卓越的功能特性&#xff0c;宛如一颗璀璨的明星&#xff0c;在交通、…...

【开源免费】基于SpringBoot+Vue.JS精品在线试题库系统(JAVA毕业设计)

本文项目编号 T 115 &#xff0c;文末自助获取源码 \color{red}{T115&#xff0c;文末自助获取源码} T115&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

c# CodeFirst生成表字段加注释

前置&#xff1a;ORM框架工具使用的FreeSql 背景&#xff1a;开发环境中运行接口&#xff0c;所有的表字段以及备注会自动加上&#xff0c;但是在测试环境时运行就只生成了表&#xff0c;没有把每个字段的注释加上 问题检查&#xff1a; FreeSql CodeFirst 支持将 c# 代码内的注…...

MySQL8.0复制原理和部署配置步骤

1. mysql 主从复制原理 在从库上执行change master to&#xff1b;会将主库的信息保存到从库中的master.info文件中在从库执行start slave;开启io_thread, sql_thread线程;io_thread工作&#xff1b;io_thread通过master.info文件中主库的连接信息去连接主库&#xff1b;连接成…...

Unity热更新文件修改后缀并拷贝到指定路径的工具类

最近在学习Hybrid热更新。每次编译完&#xff0c;需要修改后缀名和拷贝到特定路径覆盖旧文件&#xff0c;就叫AI写了个工具类。现在记录一下&#xff0c;毕竟ai写完还需要修改。 代码如下&#xff0c;放到Assets/Editor/路径下即可。 可根据需求自行改变路径和文件名。 using…...

前端vue+el-input实现输入框中文字高亮标红效果(学习自掘金博主文章)

学习自掘金文章https://juejin.cn/post/7295169886177918985 该博主的代码基于原生textarea控件和js实现&#xff0c;基于该博主的代码和思路&#xff0c;在vue下实现了相应功能 思路 生成html字符串来实现文字高亮标红效果&#xff0c;但是input输入控件不能渲染html字符串…...

SAP系统中的标准价、移动平均价是什么?有何区别?物料分类账的优点

文章目录 前言一、SAP系统中的价格控制二、移动平均价、标准价是什么&#xff1f;三、S价&#xff08;标准价&#xff09;的优势四、S价&#xff08;标准价&#xff09;的劣势五、V价&#xff08;移动平均价&#xff09;的优势六、V价&#xff08;移动平均价&#xff09;的劣势…...

通往O1开源之路

“Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective”由复旦大学和上海人工智能实验室的研究者撰写。该论文从强化学习视角出发&#xff0c;深入分析了实现类似OpenAI o1模型性能的路线图&#xff0c;聚焦于策略初始化、奖…...

【QT】实现RestFul接口

在这个教程中&#xff0c;我们将介绍如何在 Qt 中使用 QHttpServer 类来创建一个简单的 HTTP 服务器。QHttpServer 是 Qt 6 引入的新类&#xff0c;用于提供 HTTP 服务。这个类非常适合快速开发restful接口。 准备工作 确保你的 Qt 版本是 Qt 6 或更高版本&#xff0c;因为 Q…...

ARP攻击的原理和实现 (网络安全)

ARP攻击的原理和实现 ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;是一种网络协议&#xff0c;用于在局域网内将IP地址映射到MAC地址。在以太网中&#xff0c;设备通过广播ARP请求来查询目标IP地址对应的MAC地址&#xff0c;从而建立通信…...

大脑特训,自信 “满格”

编辑&#xff1a;念小艺 在追求自信的漫漫长路上&#xff0c;诸多因素如同闪耀的星光&#xff0c;为人们指引着方向。保持良好的饮食习惯&#xff0c;让身体摄取充足且均衡的营养&#xff0c;为精神的饱满提供坚实后盾&#xff1b;持续投身于锻炼之中&#xff0c;在挥洒汗水的…...

如何备份和恢复 PostgreSQL 数据库 ?

对于数据库管理员和开发人员来说&#xff0c;在 PostgreSQL 中创建数据库副本是一项至关重要的任务。此过程对于测试、备份、数据分析等都是必不可少的。在本指南中&#xff0c;我们将深入研究创建 PostgreSQL 数据库副本的步骤&#xff0c;以确保数据完整性和系统性能。 必要…...

逆向入门(6)汇编篇-外挂初体验

代码分析部分 游戏里面还是体验了不少自己CV来的外挂的&#xff0c;自己编写的程序还是头一次体验&#xff0c;程序源码如下 void startAcctack() {printf("开始攻击\n");// 获取当前系统时间time_t now time(0); // 获取当前时间的时间戳struct tm *local_time …...

HTML——77.网页编码及乱码处理

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>网页编码及乱码处理</title></head><body><!--网页编码&#xff1a;指网页中特定的字符编码&#xff0c;通过解析编码成为我们知道的文字--><!-…...

(leetcode算法题)382. 链表随机节点

如果给你一个 智能记录 k行内容的小笔记本&#xff0c;从一本你也不知道有多少行的 C Primer 中进行摘抄&#xff0c;你应该怎么做才能让抄写的时候能让书中的每一行都等概率的出现在小笔记本中&#xff1f; 答&#xff1a;准备好一个公平的轮盘和一个巨大的摇奖机&#xff0c…...

Git 如何在IDEA中进行使用

1. 2. 3....

【Pytorch报错】AttributeError: cannot assign module before Module.__init__() call

代码&#xff1a; import torch.nn as nnclass Model(nn.Module):def __init__(self, input_dim, output_dim):self.linear nn.Linear(input_dim, output_dim) def forward(self, x):out self.linear(x)return outmodel Model(1, 1)报错&#xff1a; --------------------…...

深入理解计算机系统—虚拟内存(一)

一个系统中的进程是与其他进程共享 CPU 和主存资源的。然而&#xff0c;共享主存会形成特殊的挑战。随着对 CPU 需求的增长&#xff0c;进程以某种合理的平滑方式慢了下来。但是如果太多的进程需要太多的内存&#xff0c;那么它们中的一些就根本无法运行。 为了更加有效地管理内…...

[Qt] 输入控件 | Line | Text | Combo | Spin | Date | Dial | Slider

目录 输入类控件 1、Line Edit 录入个人信息 使用正则表达式验证输入框的数据 验证两次输入的密码一致 切换显示密码 2、Text Edit 获取多行输入框的内容 验证输入框的各种信号 3、Combo Box 使用下拉框模拟麦当劳点餐 从文件中加载下拉框的选项 4、Spin Box 调整…...

【信息系统项目管理师】高分论文:论信息系统项目的风险管理(数字化联合审查管理系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文一、全盘考虑,编制项目风险管理计划二、务实高效,做好项目的风险识别三、客观严谨,进行定性风险分析四、客观严谨,进行定量风险分析五、未雨绸缪,做好规划风险应对六、控制执行,实施风险应对七、做好…...

设计模式 结构型 外观模式(Facade Pattern)与 常见技术框架应用 解析

外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它的核心思想是将一个复杂的子系统封装在一个外观类中&#xff0c;为子系统提供一个统一的接口。通过这个接口&#xff0c;客户端可以简化对子系统的访问&#xff0c;而无需直接与子系统中的各…...

《learn_the_architecture_-_generic_interrupt_controller_v3_and_v4__lpisn》学习笔记

1.LPI&#xff08;Locality-specific Peripheral Interrupts&#xff09;是一种基于消息的中断&#xff08;Message Signaled Interrupt&#xff0c;MSI&#xff09;&#xff0c;由中断翻译服务(ITS)提供翻译。这是因为LPI的设计目标是为系统中大量的设备提供高效的中断管理&am…...

java 常量池详解

目录 java 常量池详解一 静态常量池&#xff08;Static Constant Pool&#xff09;1.1 概述1.2 存储内容1.3 特点1.4 示例 二 运行时常量池&#xff08;Runtime Constant Pool&#xff09;2.1 概述2.2 存储内容2.3 特点2.4 示例 三 基础类型常量池&#xff08;Primitive Type C…...

aardio —— 虚表 —— 模拟属性框

写了个简单的属性框例程&#xff0c;抛砖引玉&#xff0c;期待你做出更丰富强大的功能。 可折叠行、可输入文本、可下拉选择、支持下拉选择图片、颜色等功能。 只有想不到&#xff0c;没有做不到&#xff0c;发挥你的想象力吧。 import win.ui; import godking.comboboxEx im…...

企业微信——智能表格学习

智能表格 应用限制条件 获取 token https://developer.work.weixin.qq.com/document/10013#%E5%BC%80%E5%8F%91%E6%AD%A5%E9%AA%A4 开发步骤 你可以通过以下步骤&#xff0c;使用access_token来访问企业微信的接口。需要注意的是&#xff0c;所有的接口需使用Https协议、Js…...

2501d,jingo优化

原文 大家好,我重构和优化了一下jin.go这里: 我去掉了vibe.d依赖,因为它又慢又大,而且我无法与2版本交朋友.当仅运行1000个vibe纤程时,不仅应用崩溃,甚至图形系统驱动也崩溃一次,这需要重启笔记本电脑. 当前,我用小栈大小的本地流(4kb)解决. 我真很期待photon的稳定性,以恢复支…...

实景三维点云处理专业软件ArcGIS根据DSM生成地表点云集

常见的实景三维处理软件及其特色功能如下&#xff1a; 一、专业实景三维建模软件 Agisoft Metashape 高精度建模&#xff1a;能够生成高精度的三维模型&#xff0c;精度可以达到厘米级甚至毫米级&#xff0c;适用于需要详细测量和分析的项目&#xff0c;如文物保护和建筑测量。…...

山东大学人工智能导论期末复习概念汇总

人工智能概念汇总V2 —Nevertheless 简介 [!NOTE] 本文是在原版的基础上&#xff0c;面向期末而进行的删减版本 建议使用pdf版本&#xff0c;排版和图片显示完全。如有需要&#xff0c;可私信发送邮箱地址 PDF版本&#xff1a; 山东大学人工智能导论概念汇总pdf版 山东大学软…...

Ubuntu下安装Android Sdk

下载android sdk命令行工具 https://developer.android.com/studio?hlzh-cn#command-tools mkdir android-sdk cd android-sdk unzip commandlinetools-linux-11076708_latest.zip 添加环境变量到~/.bashrc export ANDROID_HOME$HOME/android-sdk export PATH$PATH:$ANDRO…...

c语言中GHashTable的使用

前言:最近在c代码中需要用到键值对的存储&#xff0c;由于没有map&#xff0c;需要自己实现或者使用库函数&#xff0c;g_hash_table_new是GLib中的库函数&#xff0c;但使用起来会有很多坑&#xff0c;记录一下 构建hash表g_hash_table_new GHashTable* g_hash_table_new(GH…...

Conda清理缓存

参考&#xff1a;1、2...

【每日学点鸿蒙知识】导入cardEmulation、自定义装饰器、CallState状态码顺序、kv配置、签名文件配置

1、HarmonyOS 无法导入cardEmulation&#xff1f; 在工程entry mudule里的index.ets文件里导入cardEmulation失败 可以按照下面方式添加SystemCapability&#xff1b;在src/main/syscap.json(此文件需要手动创建&#xff09;中添加如下内容 {"devices": {"gen…...

【从零开始入门unity游戏开发之——C#篇42】C#补充知识——随机数(Random)、多种方法实现string字符串拼接、语句的简写

文章目录 一、随机数1、Random.Next()生成随机整数示例&#xff1a;生成一个随机整数生成指定范围内的随机整数 2、Random.NextSingle生成随机浮点数示例&#xff1a;生成随机浮点数 3、 生成随机字母或字符示例&#xff1a;生成随机字母示例&#xff1a;生成随机小写字母 二、…...

深入解析 Conda 安装的默认依赖包及其作用:conda create安装了哪些包(中英双语)

深入解析 Conda 安装的默认依赖包及其作用 当我们使用 Conda 创建新环境时&#xff0c;例如执行命令&#xff1a; conda create -n olmes python3.10Conda 会自动为我们安装一系列基础依赖包&#xff0c;保证 Python 环境能够正常运行。这些包不仅是我们开发的基础工具&#…...

《Vue3实战教程》35:Vue3测试

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 测试​ 为什么需要测试​ 自动化测试能够预防无意引入的 bug&#xff0c;并鼓励开发者将应用分解为可测试、可维护的函数、模块、类和组件。这能够帮助你和你的团队更快速、自信地构建复杂的 Vue 应用。与任何应用一…...

Mysql监视器搭建

Mysql监视器搭建 资源下载在&#xff1a;Mysql监视器资源包 查询问题&#xff1a;CPU、连接数、慢查询 --> 暴增 1、exporter进行Mysql信息采集 修改my.cnf [client] userroot password数据库密码 host:数据库URL port3306启动命令 mysqld_exporter.exe --config.my-c…...

Linux(centos)安装 MySQL 8 数据库(图文详细教程)

前言 前几天写了个window系统下安装Mysql的博客&#xff0c;收到很多小伙伴私信需要Linux下安装Mysql的教程&#xff0c;今天这边和大家分享一下&#xff0c;话不多说&#xff0c;看教程。 一、删除以前安装的MySQL服务 一般安装程序第一步都需要清除之前的安装痕迹&#xff…...

软件工程大作业——图书管理系统/图书个性化推荐与实现系统

目录 1 绪论 1.1研究背景 1.2研究现状 1.3研究内容 2 系统关键技术 2.1 Spring Boot框架 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2经济可行性 3.1.3操作可行性 3.2 系统性能分析 3.3 系统功能分析 3.4系统流程分析 3.4.1登…...

Linux下编译安装PETSc

本文记录在Linux下编译安装PETSc的流程。 零、环境 操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1oneAPI2024.2.1 一、安装依赖 1.1 安装oneAPI 参见&#xff1a;Get the Intel oneAPI Base Toolkit , Get the Intel oneAPI HPC Toolkit 1.2 安…...