如何用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.exe或java.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端口

输入密码后,你将看到完整的进程信息,如sshd或mysqld。

替代方案: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://test.idctop.com/article/411374.html

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

相关推荐

  • 广告链接数据库哪里找?广告链接数据库免费下载

    构建高效的广告链接数据库是实现营销投资回报率最大化的决定性因素,它直接决定了企业能否在激烈的流量竞争中精准捕获用户意图并实现转化,核心结论在于:一个优质的数据库不仅是数据的简单堆砌,更是经过清洗、分类、标记的智能决策系统,它能将原本离散的广告投放行为转化为可量化、可复制的增长模型, 对于追求长期增长的企业而言……

    2026年4月2日
    8600
  • https证书真的免费吗?申请免费https证书教程

    是的,2026年依然有免费SSL证书可用,Let’s Encrypt等自动化机构提供的证书是个人站长和中小企业的标准选择,但需注意其90天有效期及特定场景下的兼容性限制,在数字化转型深入发展的今天,网站安全已不再是大型企业的专属需求,许多初次接触建站的朋友,往往被复杂的证书类型和昂贵的年费劝退,互联网生态中早已……

    2026年6月2日
    5500
  • WordPress前端登录页怎么做?如何添加登录小部件

    在主题文件中(如sidebar.php或footer.php),调用该区域:添加登录表单小工具大多数用户管理插件都会提供对应的小工具,在Ultimate Member中,你可以进入“外观”>“小工具”,找到“UM Login Form”小工具,将其拖拽到刚才创建的“Login Widget Area”中……

    2026年6月21日
    2000
  • html网站怎么制作?html网站制作教程

    HTML网站是构建互联网内容的基础骨架,通过语义化标签和标准代码规范,能显著提升搜索引擎抓取效率与移动端适配能力,是实现高排名SEO优化的核心基石,很多人误以为HTML只是简单的网页代码,实际上它是搜索引擎理解页面结构的第一道关卡,百度爬虫在抓取页面时,首先解析的就是HTML源码,如果结构混乱、标签滥用,即使内……

    2026年6月7日
    3600
  • WooCommerce订单怎么加视频图片?如何给WooCommerce订单添加视频或图片

    在WooCommerce订单中直接嵌入视频或图片,最稳定且无需复杂代码的方案是使用“自定义订单元数据”配合前端显示插件,这能显著提升客户体验并减少售后咨询,对于电商运营者而言,订单确认页不仅是交易完成的凭证,更是品牌服务延伸的关键触点,传统的纯文本订单确认往往显得冷冰冰,而加入视觉元素能让用户瞬间回忆起购买时的……

    2026年6月19日
    2500
  • 带宽大小怎么选择?服务器带宽多少合适?

    选择带宽大小的核心标准在于“并发峰值流量÷带宽转化率”,并预留20%的冗余空间,对于绝大多数企业应用,10Mbps独享带宽可支撑约1000人同时在线访问,这是初期选型的黄金基准线,选择带宽并非越大越好,而是要基于业务类型、用户规模及数据传输特性进行精准测算,避免因带宽不足导致业务卡顿,或因带宽闲置造成成本浪费……

    2026年3月7日
    10300
  • 广州FPGA服务器硬件环境怎么样?广州FPGA服务器配置推荐

    广州作为华南地区的算力枢纽,其FPGA服务器硬件环境的构建核心在于“高吞吐、低延时与高能效”的精准平衡,通过硬件加速卡与定制化主板架构的深度融合,解决传统CPU服务器在并行计算与数据处理上的性能瓶颈,优质的硬件环境不仅是高性能计算的物理基础,更是企业实现算法落地、降低运营成本的关键路径,核心硬件架构选型与性能基……

    2026年3月30日
    9800
  • hpp人工智能机器人是什么?hpp人工智能机器人价格

    2026年,hpp人工智能机器人已突破单纯执行指令的局限,成为具备环境感知、自主决策与情感交互能力的家庭与工业双栖助手,其核心价值在于通过多模态大模型实现从“工具”到“伙伴”的质变,hpp人工智能机器人的技术跃迁与核心能力解析过去我们理解的机器人,往往局限于机械臂的重复劳作或扫地机的简单路径规划,随着2026年……

    2026年6月11日
    3200
  • HTML表单数据如何保存到数据库?前端数据提交后端接收方法

    将HTML表单数据保存到数据库的核心逻辑是:前端通过HTTP请求(GET/POST)发送数据,后端服务器接收并解析数据,利用SQL语句将其安全地插入到关系型数据库(如MySQL)中,全程需配合参数化查询以防止SQL注入攻击,在实际开发场景中,无论是构建一个简单的用户注册页面,还是搭建复杂的电商订单系统,数据持久……

    2026年6月5日
    3900
  • Shopify独立站如何添加或更换银行账户?

    在Shopify后台点击Settings > Payments,选择Manage providers即可直接添加或更换银行账户,整个过程无需联系人工客服,系统会自动验证并激活收款功能,对于许多跨境卖家而言,资金链路的安全与高效是运营的生命线,Shopify作为全球领先的电商平台,其内置的支付网关虽然便捷……

    2026年6月23日
    1700

发表回复

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