2. Web网络基础 - 协议端口
深入解析协议端口与netstat命令:网络工程师的实战指南
在网络通信中,协议端口是服务访问的门户。本文将全面解析端口概念,并通过netstat命令实战演示如何监控网络连接状态。
一、协议端口核心知识解析
1. 端口号的本质与分类
端口范围 | 类型 | 说明 | 示例 |
---|---|---|---|
0-1023 | 知名端口 | 系统服务保留端口 | HTTP:80, FTP:21 |
1024-49151 | 注册端口 | 用户程序注册端口 | MySQL:3306, Redis:6379 |
49152-65535 | 动态端口 | 客户端临时端口 | 浏览器随机端口 |
2. 常见协议端口速查表
- Web服务:80(HTTP), 443(HTTPS)
- 文件传输:21(FTP), 22(SFTP/SSH)
- 邮件服务:25(SMTP), 110(POP3), 143(IMAP)
- 数据库:3306(MySQL), 5432(PostgreSQL)
- 远程管理:22(SSH), 3389(RDP)
- 域名解析:53(DNS)
二、netstat命令深度解析
命令语法与参数
netstat -pantu # 关键参数解析:
-p
:显示进程信息-a
:显示所有连接-n
:以数字形式显示地址-t
:仅显示TCP连接-u
:仅显示UDP连接
命令输出详解
tcp 0 0 10.206.32.25:53 0.0.0.0:* LISTEN 768/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 768/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 804/sshd
tcp6 0 0 :::8080 :::* LISTEN 2519853/java
输出字段解析
-
协议类型
tcp
/tcp6
:TCP协议(IPv4/IPv6)
udp
/udp6
:UDP协议(IPv4/IPv6) -
接收队列
0
:当前接收队列中的数据字节数(通常为0表示无积压) -
发送队列
0
:当前发送队列中的数据字节数 -
本地地址
10.206.32.25:53
:服务监听地址(IP:端口)
0.0.0.0:*
:监听所有IPv4接口
:::*
:监听所有IPv6接口 -
远程地址
0.0.0.0:*
:等待任何远程主机连接 -
状态
LISTEN
:服务正在监听端口
ESTABLISHED
:已建立连接
TIME_WAIT
:连接关闭等待 -
进程信息
768/named
:进程ID/程序名称
三、关键服务解析实战
1. DNS服务(端口53)
tcp 0 0 10.206.32.25:53 0.0.0.0:* LISTEN 768/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 768/named
配置特点:
- 监听内网IP(
10.206.32.25
)提供局域网DNS服务 - 监听回环地址(
127.0.0.1
)提供本机DNS解析 - 使用
named
服务(BIND DNS服务器)
2. SSH服务(端口22)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 804/sshd
tcp6 0 0 :::22 :::* LISTEN 804/sshd
安全要点:
- 监听所有接口(IPv4+IPv6)
- 使用
sshd
服务提供远程加密登录 - 默认端口22常被攻击,建议修改
3. Java应用服务(端口8080)
tcp6 0 0 :::8080 :::* LISTEN 2519853/java
典型特征:
- 监听8080端口(常见HTTP备用端口)
- 由Java进程运行(PID 2519853)
- 使用IPv6协议栈(
tcp6
)
4. 内部管理端口
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 768/named
tcp6 0 0 :::1:953 :::* LISTEN 768/named
作用解析:
- 953端口:DNS管理端口(rndc服务)
- 仅监听本地(
127.0.0.1
和::1
) - 禁止外部访问的安全设计
四、网络状态分析实战技巧
1. 快速定位端口冲突
netstat -tuln | grep :80 # 检查80端口占用
输出示例:
tcp6 0 0 :::80 :::* LISTEN 1234/nginx
结论:80端口被Nginx占用
2. 检测异常连接
netstat -antp | grep ESTABLISHED
分析要点:
- 检查非常规端口连接
- 验证远程IP是否可信
- 监控高频率连接
3. 服务健康检查
netstat -ltn # 查看所有监听端口
健康指标:
- 关键服务(SSH/HTTP)应处于LISTEN状态
- 接收/发送队列不应长期积压
- 无大量TIME_WAIT连接
五、真实应用场景与案例分析
案例1:网站无法访问故障
现象:用户无法访问公司官网
排查过程:
netstat -tuln | grep :80
无输出- 检查Nginx进程:
ps aux | grep nginx
进程存在 - 发现配置错误:
listen 8080;
改为listen 80;
- 重启服务后问题解决
案例2:服务器资源异常占用
现象:CPU持续100%占用
排查过程:
netstat -antp
显示大量到45.33.21.133的连接- 检查进程:
2519853/java
异常 - 发现挖矿病毒:立即隔离服务器
- 修复后安装入侵检测系统
案例3:数据库连接失败
现象:应用无法连接MySQL
排查过程:
netstat -tuln | grep :3306
无输出- 检查MySQL配置:
bind-address=127.0.0.1
- 改为
bind-address=0.0.0.0
- 重启服务后恢复连接
六、端口安全最佳实践
1. 端口管理原则
- ✅ 最小开放原则:只开放必要端口
- ✅ 默认端口修改:更改SSH/数据库等默认端口
- ✅ 定期端口扫描:使用`nmap localhost`自检
- ❌ 避免使用高危端口:如135-139(Windows共享)
2. 防火墙配置指南
# 仅允许必要端口(示例)
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
3. 服务监听安全
1. **数据库服务**:只监听内网IP(如192.168.1.100)
2. **管理服务**:限制为127.0.0.1(如Redis)
3. **Web服务**:公网只开放80/443
4. **内部服务**:使用VPN或跳板机访问
七、netstat替代方案
1. ss命令(推荐)
ss -tulnp # 更快速高效
优势:
- 比netstat更快
- 显示更多TCP状态信息
- 现代Linux系统默认支持
2. lsof命令
lsof -i :80 # 查看80端口使用情况
特点:
- 显示文件级别的网络连接
- 查看特定进程打开的所有端口
- 跨平台支持(Linux/macOS)
八、netstat输出完整解析表
输出字段 | 示例值 | 含义 | 重要性 |
---|---|---|---|
Proto | tcp/tcp6 | 协议类型 | ★★★★☆ |
Recv-Q | 0 | 接收队列字节数 | ★★★☆☆ |
Send-Q | 0 | 发送队列字节数 | ★★★☆☆ |
Local Address | 0.0.0.0:22 | 本地监听地址 | ★★★★★ |
Foreign Address | 0.0.0.0:* | 远程连接地址 | ★★★★☆ |
State | LISTEN | 连接状态 | ★★★★★ |
PID/Program | 804/sshd | 进程信息 | ★★★★★ |
九、总结与进阶学习
核心要点总结
- 端口是网络服务的访问入口
- netstat是网络诊断的利器
- 安全端口配置是服务器防护基础
- LISTEN状态表示服务正常运行
- 定期检查端口防止非法入侵
进阶学习路径
- 网络协议:深入理解TCP/UDP协议
- 安全工具:
nmap
端口扫描tcpdump
流量分析Wireshark
抓包工具
- 防火墙:iptables/nftables配置
- 服务配置:Nginx/Apache端口管理
- 云安全:安全组与网络ACL配置
通过掌握协议端口知识和netstat命令,您将能够有效监控网络服务状态,快速定位网络问题,并显著提升服务器安全性。这些技能是每个运维工程师和开发者的必备能力。
「小贴士」:点击头像→【关注】按钮,获取更多软件测试的晋升认知不迷路! 🚀
相关文章:
2. Web网络基础 - 协议端口
深入解析协议端口与netstat命令:网络工程师的实战指南 在网络通信中,协议端口是服务访问的门户。本文将全面解析端口概念,并通过netstat命令实战演示如何监控网络连接状态。 一、协议端口核心知识解析 1. 端口号的本质与分类 端口范围类型说…...

PC与Windows远程连接与串流:方案简介(ZeroTier + Parsec、Moonlight + Sunshine、网易UU远程)
简介 在远程办公、云游戏、家用 NAS 串流、图形远程渲染等需求增长的背景下,越来越多用户开始寻找低延迟、高画质、跨网络可用的远程连接方案。今天这篇文章将深度分析三种目前在玩家圈和远程办公中都非常流行的组合方案: 🟢 ZeroTier Pars…...

SpringBoot+MySQL家政服务平台 设计开发
概述 基于SpringBootMySQL开发的家政服务平台完整项目,该系统实现了用户预约、服务管理、订单统计等核心功能,采用主流技术栈开发,代码规范且易于二次开发。 主要内容 系统功能架构 本系统采用前后端分离架构,前端提供用户交互…...

浏览器兼容-polyfill-本地服务-优化
babel和webpack结合 npx babel src --out-dir dist --presetsbabel/preset-env 这是把src下面的东西都用babel转化一下 webpack可以和babel结合使用,首先下载一个这东西: npm install babel-loader -D webpack配置: const path requir…...

c++ decltype关键字
decltype为类型推导关键字。 示例代码: // decltype也可用于函数模板编程: template<typename T, typename U> auto add(T t, U u) -> decltype(t u) {return t u; }// decltype推导函数返回类型 auto doubleNumFunc(int x) -> decltype(x * 2) {ret…...
分享今天做的力扣SQL题
其实做之前就打算分享的,但是做完又不想分享了。。。结果没几分钟,还是,写一下吧。我就当各位是监督我的。 说一下,这是第一天做SQL题,虽然我也是软件工程专业,但是学的本来就不好,又忘了个差不…...
全球化2.0|云轴科技ZStack助力香港服务机构VMware替代
香港一家大型社会服务机构长期致力于为公众提供支持与服务,是本地具有代表性的社会服务组织,在香港设有数十个服务中心。为应对VMware订阅模式带来的成本上升和硬件资源受限等问题,该机构决定采用云轴科技ZStack Cloud云平台替代VMware虚拟化…...

Selenium自动化测试工具安装和使用(PyCharm)
一,了解驱动 手工测试我们很了解,假设我要测试百度首页是否正常,只需要鼠标点击打开浏览器,然后输入百度网址即可 但是对于程序来说,打开浏览器,需要用到对应的驱动,就好比你给电脑装了个外置…...

【网络安全】fastjson原生链分析
fastjson 原生链 前言 说起 fastjson 反序列化,大部分的利用都是从 type 把 json 串解析为 java 对象,在构造方法和 setter、getter 方法中,做一些文件或者命令执行的操作。当然,在 fastjson 的依赖包中,也存在着像 …...

【人工智能 | 项目开发】Python Flask实现本地AI大模型可视化界面
文末获取项目源码。 文章目录 项目背景项目结构app.py(后端服务)index.html(前端界面)项目运行项目图示项目源码项目背景 随着人工智能技术的快速发展,大语言模型在智能交互领域展现出巨大潜力。本项目基于 Qwen3-1.7B 模型,搭建一个轻量化的智能聊天助手,旨在为用户提…...
uni-app 项目支持 vue 3.0 详解及版本升级方案?
uni-app 支持 Vue 3.0 详解及升级方案 一、uni-app 对 Vue 3.0 的支持现状 uni-app 从 3.0 版本 开始支持 Vue 3.0,主要变化包括: 核心框架升级: 基于 Vue 3.0 的 Composition API 和 Options API 双模式支持提供 vueuse/core 等组合式 API…...
SpringBoot3中使用虚拟线程的详细过程
在 Spring Boot 3 中使用 Java 21 的虚拟线程(Virtual Threads)可以显著提升 I/O 密集型应用的并发能力。以下是详细实现步骤: 1. 环境准备 JDK 21:确保安装 JDK 21 或更高版本Spring Boot 3.2:最低要求(p…...
达梦使用存储过程实现删除重复记录、判断并添加主键和自增列的逻辑
在达梦数据库中,要确保主键的唯一性约束,可以在存储过程的最前面添加删除重复记录的逻辑。以下是一个完整的存储过程,包含删除重复记录、判断并添加主键和自增列的逻辑: 存储过程示例 -- 切换到指定模式;schema_name 是目标模…...
MySQL间隙锁入手,拿下间隙锁面试与实操
一、MySQL 间隙锁,究竟是什么? 在 MySQL 的世界里,间隙锁(Gap Lock)就像是一个默默守护数据一致性的卫士,看似低调,却在并发控制中扮演着至关重要的角色。 想象一下,你去图书馆借…...

词法分析和词性标注 自然语言处理
目录 一. 概述 1 不同语言的词法分析 2 英语的形态分析 英语单词的形态还原(和正常英语的词法变化一样) 1.有规律变化单词的形态还原 编辑 2.动词、名词、形容词、副词不规则变化单词的形态还原 3.对于表示年代&…...

QT聊天项目DAY14
1. 客户端登录 1.1 初始化玩家头像 将头像的大小固定在250 * 250 void InitHeadImage(); // 初始化头像/* 初始化头像 */ void LoginWidget::InitHeadImage() {// 加载头像QPixmap OriginalPixmap(":/Chat/Images/head_5.jpg");OriginalPixmap …...

架构设计技巧——架构设计模板
一份实用、高效、覆盖核心要素的架构设计模板是确保设计质量、促进团队沟通和指导实施的关键。以下是一个经过提炼的架构设计文档核心模板框架,结合了业界最佳实践,并强调灵活裁剪: 架构设计文档模板 (核心框架) 文档标识 项目/系统名称&a…...
交易系统开发:跨境资本的高速通道架构解密
连接纽约、香港与内陆的金融管道工程 总收益互换(TRS)在港美股投资中扮演着跨境资本流动的“隐形桥梁”。本文基于真实跨境券商系统开发实践,深入解析支持多市场、多币种、多通道的TRS平台架构设计与业务解决方案。 一、港美股TRS的核心价值&…...

【Ragflow】27.RagflowPlus(v0.4.1):小版本迭代,问题修复与功能优化
概述 RagflowPlus v0.4.0 在发布后,收到了积极的反馈,同时也包含一些问题。 本次进行一轮小版本更新,发布 v0.4.1 版本,对已知问题进行修复,并对部分功能进行进一步优化。 开源地址:https://github.com/…...
易语言是什么?易语言能做什么?
易语言(EPL)是什么? 易语言(Easy Programming Language,简称EPL)是一款面向中文用户的编程语言,由中国人吴涛于2000年开发,专为降低编程门槛设计。其核心特点是…...

【Oracle】数据仓库
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 数据仓库概述1.1 为什么需要数据仓库1.2 Oracle数据仓库架构1.3 Oracle数据仓库关键技术 2. 数据仓库建模2.1 维度建模基础2.2 星形模式设计2.3 雪花模式设计2.4 缓慢变化维度(SCD)处…...

基于开源AI大模型AI智能名片S2B2C商城小程序源码的中等平台型社交电商运营模式研究
摘要:本文聚焦中等平台型社交电商,探讨其与传统微商及大型社交电商平台的差异,尤其关注产品品类管理对代理运营的影响。通过引入开源AI大模型、AI智能名片与S2B2C商城小程序源码技术,构建智能化运营体系。研究结果表明,…...
typeof运算符 +unll和undefined的区别
typeof运算符 JavaScript 有三种方法,可以确定一个值到底是什么类型。而我们 现在需要接触到的就是typeof 数值返回number 1 typeof 123 // "number" 字符串返回string 1 typeof 123 // "string" 布尔值返回boolean 1 typeof fal…...

Vite 双引擎架构 —— Esbuild 概念篇
Vite 底层采用 双引擎架构,核心构建引擎是 Esbuild 和 Rollup,二者在开发和生产环境中分工协作,共同实现高性能构建。不可否认,作为 Vite 的双引擎之一,Esbuild 在很多关键的构建阶段(如依赖预编译、TS 语法转译、代码…...
Life:Internship finding
1. 前言 fishwheel writes this Blog to 记录自分自身在研二下找实习的经历。When 写这篇 Blog 的时候我的最后一搏也挂掉了,只能启用保底方案了。When I 打开我的邮箱时,发现里面有 nearly 100 多封与之相关的邮件,顿时感到有些心凉&#x…...

阿里云Alibaba Cloud安装Docker与Docker compose【图文教程】
个人记录 进入控制台,找到定时与自动化任务 进入‘安装/卸载扩展程序’ 点击‘安装扩展程序’ 选择docker社区版,点击下一步与确定,等待一会 安装成功 查询版本 查询docker sudo docker version查询docker compose sudo docker compo…...
GitHub 趋势日报 (2025年06月07日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 603 netbird 459 dify 440 cognee 352 omni-tools 337 note-gen 239 ragbits 237 …...
Java编程之组合模式
引言 在软件开发的世界里,我们经常会遇到需要表示"部分-整体"层次结构的场景。比如文件系统中的文件和文件夹、图形界面中的各种组件、企业组织架构中的部门和员工等。这些场景都有一个共同的特点:我们需要以一种统一的方式来处理单个对象和由…...
Oracle 19c RAC集群ADG搭建
1、将主库的pfile和passwdfile发送到备库 #主库一节点操作 scp -P1234 /tmp/pfile2025.ora bak_ip:/home/oracle sco -P1234 /oracle/app/oracle/product/19.0.0/db/dbs/orapw$ORACLE_SID bak_ip:/oracle/app/oracle/product/19.0.0/db/dbs 2、备库修改参数文件成standby相关…...

ADB识别手机系统弹授权框-如何处理多重弹框叠加和重叠问题
ADB识别手机系统弹授权框-如何处理多重弹框叠加和重叠问题 --蓝牙电话SDK自动部署 上一篇:手机App-插入USB时自动授权点击确定按钮-使系统弹出框自动消失 下一篇:编写中。 一、前言 我们在上一篇《手机App-插入USB时自动授权点击确定按钮-使系统弹出框…...