如何用netstat命令查看系统开启的TCP端口

使用netstat命令查看系统开启的TCP端口的核心方法是执行netstat -an | findstr LISTENING(Windows)或netstat -tlnp(Linux),这能直接列出所有处于监听状态的TCP连接及其对应的端口号。

在服务器运维和网络安全排查中,端口状态是判断服务是否正常运行的第一道防线,很多新手在面对满屏的代码时感到无从下手,其实只要掌握几个关键参数,就能像老练的网管一样快速定位问题,本文将通过具体场景,拆解不同操作系统下的实操步骤,帮助你彻底搞懂端口监控。

netstat命令详解,查看本机网络连接IP端口协议,网络测试教程 #知识分享官#
加载中
netstat命令详解,查看本机网络连接IP端口协议,网络测试教程 #知识分享官#

为什么需要关注TCP监听端口

TCP端口是网络通信的入口,就像房子的门窗,如果门窗大开且无人看管,黑客就能轻易潜入,业内专家指出,绝大多数数据泄露事件都源于未正确配置的开放端口,定期审查端口状态不仅是技术需求,更是安全合规的基本要求。

Windows系统下的端口查看实操

Windows环境是最常见的办公场景,这里的操作相对直观,但需要区分命令提示符(CMD)和PowerShell的不同用法。

基础命令:快速筛选监听状态

在Windows中,最经典的命令组合是netstat -ano,这个命令会输出所有网络连接、端口监听情况以及进程ID(PID),为了只看TCP端口,我们需要结合过滤工具。

使用Findstr进行精准过滤

在CMD窗口中输入以下命令:

netstat -ano | findstr LISTENING

这条命令的执行逻辑非常清晰:

  • netstat -ano:列出所有协议、所有连接,并显示关联的进程ID。
  • 管道符,将前一个命令的输出作为后一个命令的输入。
  • findstr LISTENING:只保留包含“LISTENING”关键字的行,即正在等待连接的端口。

输出结果通常包含五列信息:协议、本地地址、外部地址、状态和PID,本地地址中的冒号后面就是端口号。

如何用netstat命令查看系统开启的TCP端口

0.0.0:80表示本机所有IP的80端口正在监听。

关联进程:找出谁占用了端口

看到PID后,你可能想知道是哪个软件在运行,此时可以使用tasklist命令进行交叉查询,假设上一步得到的PID是1234,你可以输入:

tasklist | findstr 1234

系统会返回进程名称,如nginx.exejava.exe,这样你就知道是Web服务器还是数据库服务占用了端口。

Linux系统下的端口查看技巧

Linux服务器占据了企业级应用的大部分市场,其命令风格更加简洁高效,但权限要求更高。

核心命令解析:netstat -tlnp

在Linux终端中,推荐使用netstat -tlnp命令,这个参数组合是查看TCP端口的黄金标准。

  • -t:仅显示TCP协议。
  • -l:仅显示监听状态的端口。
  • -n:以数字形式显示IP和端口,避免DNS解析带来的延迟和混淆。
  • -p:显示占用端口的进程名称和PID。

执行后,你会看到类似如下的输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:               LISTEN      1024/sshd
tcp        0      0 127.0.0.1:3306          0.0.0.0:               LISTEN      2048/mysqld

权限问题:为什么看不到进程名?

如果在执行命令时,PID/Program name列显示为“-”,说明当前用户没有权限查看其他用户的进程信息,这是Linux的安全机制,解决方法是使用sudo提升权限:

sudo netstat -tlnp

如何用netstat命令查看系统开启的TCP端口

输入密码后,你将看到完整的进程信息,如sshdmysqld

替代方案:ss命令的优势

近年来,越来越多的Linux发行版开始推荐使用ss命令替代netstat,因为ss速度更快,能显示更多内核级信息,对于想知道如何查看Linux开启的TCP端口ss -tlnp是更现代的选择。

其参数含义与netstat类似:

  • -t:TCP协议。
  • -l:监听状态。
  • -n:数字格式。
  • -p:显示进程。

执行sudo ss -tlnp,输出结果与netstat高度相似,但在处理成千上万个连接时,响应速度有明显优势。

端口状态解读与安全建议

仅仅看到端口开放是不够的,理解端口状态背后的含义至关重要。

常见TCP端口状态及其含义

在netstat的输出中,状态列是关键信息,以下是几种常见状态的场景分析:

LISTEN:正常监听

这是最理想的状态,表示服务正在等待连接,Web服务器的80或443端口通常处于此状态,如果预期中的服务端口未显示LISTEN,说明服务可能未启动或配置错误。

ESTABLISHED:连接已建立

表示通信双方已经成功握手并正在传输数据,如果某个端口突然出现大量ESTABLISHED连接,且来源IP异常,可能是遭受了DDoS攻击或端口扫描。

CLOSE_WAIT:等待关闭

这是一个危险信号,它表示远程端已经关闭连接,但本地应用程序尚未调用close()函数,如果大量端口处于CLOSE_WAIT状态,通常意味着代码存在资源泄漏,需要开发人员介入优化。

如何关闭不必要的端口

发现高危端口后,下一步是进行加固。

停止相关服务

如果是Windows,可以在“服务”管理器中找到对应服务并停止,停止IIS服务可以关闭80端口,在Linux中,使用

如何用netstat命令查看系统开启的TCP端口

systemctl stop service_name命令。

配置防火墙

更推荐的方式是通过防火墙规则限制访问,而不是直接停止服务。

Windows防火墙配置

使用netsh命令可以添加防火墙规则,禁止外部访问8080端口:

netsh advfirewall firewall add rule name="Block 8080" dir=in action=block protocol=TCP localport=8080

Linux防火墙配置

对于使用iptables的系统,命令如下:

sudo iptables -A INPUT -p tcp --dport 8080 -j DROP

对于使用firewalld的系统(如CentOS 7+),命令为:

sudo firewall-cmd --permanent --add-port=8080/tcp --remove-port=8080/tcp
sudo firewall-cmd --reload

常见问题解答

netstat命令查看系统开启的TCP端口常见问题

为什么netstat显示端口为0.0.0.0而不是127.0.0.1?

0.0.0表示监听所有网络接口,包括本地回环和外部网卡,这意味着该端口不仅本机可以访问,外部网络也可以尝试连接,如果服务只需要本机访问,应配置为127.0.0.1,以提高安全性。

如何查看UDP端口?

netstat默认可能只显示TCP,要查看UDP端口,可以在命令中加入-u参数,即netstat -an | findstr UDP(Windows)或netstat -ulnp(Linux),UDP是无连接协议,没有ESTABLISHED状态,只有SENDQ和RECVQ队列状态。

netstat命令在Windows 11中还能用吗?

可以,虽然微软推荐使用Get-NetTCPConnection等PowerShell cmdlet,但netstat作为传统命令依然保留在Windows 11中,完全兼容且功能一致,对于习惯命令行操作的管理员来说,它依然是最快捷的工具。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/411374.html

(0)
如何清理Ubuntu的磁盘空间?Ubuntu释放磁盘空间方法介绍
上一篇 2026年6月22日 14:38
cdn人员架构,cdn运维人员岗位职责与技能要求
下一篇 2026年6月22日 14:40

相关推荐

  • 服务器租用要注意什么?服务器租用有哪些陷阱和注意事项?

    服务器租用的核心在于“稳”与“安”,选择靠谱的服务商比单纯追求低价格更重要,性能匹配业务需求、网络质量过硬、售后响应及时是三大铁律,很多新手在初次部署业务时,容易陷入“配置越高越好”或“价格越低越好”的误区,作为在IDC行业摸爬滚打多年的“过来人”,深知服务器租用不仅仅是租一台硬件,更是租用一种持续稳定的计算服……

    2026年3月3日
    11100
  • 广州gpu服务器添加D盘怎么操作?广州gpu服务器扩容数据盘教程

    在广州地区的高性能计算场景中,GPU服务器添加D盘不仅是简单的存储扩容,更是提升深度学习训练效率、保障数据安全的关键运维动作,核心结论是:广州GPU服务器添加D盘必须遵循“硬件挂载、系统分区、格式化对齐、环境适配”的标准化流程,同时需重点解决Linux系统下数据盘独立挂载的权限与路径问题,避免系统盘空间耗尽导致……

    2026年3月29日
    8900
  • 互联网区块链数据存证真的可靠吗?区块链存证法律效力如何认定

    互联网区块链数据存证的核心价值在于利用其不可篡改和可追溯特性,为电子证据提供司法认可的法律效力,解决传统电子数据易被伪造、难自证的痛点,为什么传统电子证据在法庭上“站不住脚”在数字化办公和日常交易中,我们随手生成的截图、邮件、聊天记录,往往因为缺乏第三方权威背书,在发生纠纷时难以被法官采信,业内专家指出,电子数……

    2026年6月1日
    3300
  • 互联网区块链培训靠谱吗?零基础入门学什么

    互联网区块链培训的核心在于构建“技术原理+合规应用+实战开发”的闭环能力体系,建议优先选择具备工信部认证或高校联合背景的机构,避免陷入纯概念炒作的陷阱,随着数字经济的深入发展,区块链已不再是金融圈的专属词汇,而是渗透进供应链管理、政务数据共享、版权保护等多个实体行业,对于想要入行的从业者而言,传统的“炒币”思维……

    2026年6月4日
    3600
  • html怎么转js?js转换html代码怎么写

    `;}// 插入到页面document.getElementById(‘container’).innerHTML = renderUserCard(userData);注意:此方法需注意XSS风险,若用户数据包含恶意脚本,需进行转义处理,### 方案三:使用解析器或库对于复杂的HTML片段,手动创建DOM树效……

    服务器宽带 2026年6月5日
    2000
  • 广州FPGA服务器的文件根目录在哪?FPGA服务器根目录路径配置详解

    广州FPGA服务器的文件根目录配置直接决定了硬件加速效能的释放程度与数据安全性的基准线,科学规划的目录结构是保障服务器稳定运行的核心基石,根目录不仅是文件存储的起点,更是硬件资源调度、驱动加载权限以及应用层逻辑交互的物理映射中心,对于追求高性能计算的企业而言,建立一套标准化、层级分明且具备高容错能力的目录架构……

    2026年3月30日
    6900
  • html背景图片标签怎么用?html设置背景图片代码

    HTML背景图片标签主要通过CSS的background-image属性实现,而非独立的HTML标签,其核心优势在于灵活控制图片的重复、定位、缩放及层级,是构建现代响应式网页视觉基础的关键技术,在网页开发的早期阶段,开发者曾试图使用<img>标签配合绝对定位来模拟背景,但这不仅代码冗余,还严重影响了……

    2026年6月6日
    2100
  • 广州gpu服务器到期快照怎么处理?到期数据备份方法

    广州GPU服务器到期前的快照备份,是保障数据资产安全、实现业务无缝迁移或恢复的最后一道防线,其核心价值在于以最低的存储成本规避最高的数据丢失风险,对于依赖高性能计算的企业而言,服务器到期不仅仅是资源的释放,更是一场数据完整性的考验,一旦错过快照窗口期,所有训练模型、渲染数据及业务代码将面临不可逆的丢失风险,必须……

    2026年3月29日
    8900
  • 广州FPGA服务器实时监测怎么做?FPGA服务器监测方案

    广州FPGA服务器实时监测的核心价值在于通过硬件级数据采集与智能分析,实现毫秒级故障预警与性能优化,显著提升数据中心运维效率与稳定性,核心优势毫秒级响应:基于FPGA的可编程硬件特性,监测延迟低于1ms,远超传统软件方案(通常100ms以上),全链路覆盖:从CPU、内存到网络接口,实时监控关键指标,故障定位准确……

    2026年3月31日
    5700
  • 网站安装SSL证书后无法访问是为何?SSL证书配置错误解决方法

    网站安装SSL证书后无法访问,通常是因为证书配置错误、浏览器缓存未更新或服务器端口未正确放行,建议优先检查证书链完整性并清理本地缓存,很多站长在辛苦申请并部署了SSL证书后,满怀期待地输入网址,结果却看到了“您的连接不是私密连接”或者直接显示“无法访问此网站”的红色警告页面,这种挫败感非常普遍,但别慌,这并不代……

    2026年6月20日
    1200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注