如何用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

相关推荐

  • Fedora系统好用吗?Fedora系统优缺点分析

    Fedora系统是一款极具极客精神、更新速度快且安全性高的Linux发行版,它适合开发者、技术爱好者及追求最新软件体验的用户,但不适合需要绝对稳定环境或依赖特定Windows独占软件的大众办公人群,Fedora Linux在开源社区中一直占据着独特的位置,它既不是那种为了稳定可以牺牲一切的新功能,也不是那种为了……

    2026年6月23日
    2700
  • 服务器带宽那些事,说点大实话,服务器带宽多少才够用?

    服务器带宽的选择,90%的浪费源于对概念的误解和配置的盲目,核心结论非常直接:带宽不是越大越好,而是越“匹配”越好;独享带宽是业务稳定的底线,共享带宽是运气游戏;真正的成本优化,在于精准的流量预估与CDN加速的组合拳,而非单纯在机房硬抗, 很多企业在采购时陷入了“唯带宽论”的误区,以为买了100M带宽网站打开速……

    2026年3月6日
    10600
  • 深圳网站服务器怎么选?深圳网站服务器哪家好

    深圳网站服务器的选择直接决定了企业数字化业务的稳定性与访问速度,这是企业上云最核心的决策点,对于深圳地区的企业而言,优先选择本地Tier 3+级别以上的BGP多线机房,配合高性能硬件与专业运维团队,是保障业务连续性的最佳解决方案, 地理位置的邻近性能够最大程度降低物理延迟,而BGP线路则解决了南北互通与移动端访……

    2026年3月3日
    11400
  • 企业带宽选多大?企业宽带一般多少兆合适?

    企业带宽选多大?直接参考这个核心公式:(并发用户数 × 平均单用户带宽需求)÷ 带宽利用率 + 冗余带宽 = 企业最佳带宽配置,这一公式打破了传统凭感觉估算的误区,通过量化数据精准锁定企业网络需求,避免带宽过剩造成的成本浪费或带宽不足导致的业务卡顿, 核心结论:带宽配置的本质是成本与体验的平衡企业网络建设不是带……

    2026年3月3日
    12800
  • 广州30g高防ddos服务器怎么样?广州30G高防服务器防御效果好吗

    广州30g高防ddos服务器是华南地区中小企业应对网络攻击、保障业务连续性的高性价比首选方案,其核心价值在于依托广州国家级互联网骨干直连点的网络优势,结合30G基础防御能力,能够有效清洗常见的流量型DDoS攻击,确保源站安全,对于游戏、金融、电商等对延迟敏感且面临中等强度攻击威胁的业务而言,该方案在防御成本与安……

    2026年4月1日
    8100
  • CDN缓存过期时间怎么设置?CDN缓存过期时间设置建议

    CDN缓存过期时间没有统一标准,核心原则是“静态资源长缓存、动态内容短缓存或无缓存”,通过合理设置TTL值,能在保障用户访问速度的同时,大幅降低源站负载并节省带宽成本,很多站长在配置CDN时,往往陷入两个极端:要么为了追求极致速度,把所有资源都设为永久缓存,导致内容更新后用户看到的依然是旧页面;要么为了追求实时……

    2026年6月16日
    2300
  • 如何用.sbs域名打造网络存在感?居家兼职赚钱靠谱吗

    利用.sbs域名建立个人品牌,是居家兼职者以低成本获取精准流量、构建独立数字资产的高效路径,尤其适合寻求差异化竞争的副业从业者,在数字化浪潮席卷全球的当下,居家兼职早已不再是简单的“刷单”或“填表”,而是演变为一种基于内容创作与个人IP构建的新型职业形态,对于初入此道的兼职者而言,拥有一个专属的网络入口至关重要……

    2026年6月24日
    1800
  • Shopify如何自定义查看销售报告?怎么看店铺销售数据

    Shopify网站查看销售报告最直接的方法是通过后台“分析”模块进入,但若要获取更深层的业务洞察,需结合自定义仪表盘、第三方应用集成及API数据导出三种路径,其中自定义仪表盘适合日常快速监控,而API集成则适用于需要自动化报表的企业级需求,许多Shopify店主在初期都习惯直接点击后台的“报告”按钮,看到系统生……

    2026年6月20日
    2500
  • HTML如何连接数据库?后端如何实现数据库交互

    HTML本身无法直接连接数据库,必须依靠后端语言(如PHP、Python、Node.js)作为桥梁,通过服务器接收前端请求并查询数据库,再将结果返回给HTML页面展示,很多初学者常问“html怎么实现链接数据库”,这其实是一个常见的概念误区,HTML只是超文本标记语言,负责页面的结构和展示,它不具备处理逻辑或访……

    服务器宽带 2026年6月12日
    3400
  • WordPress用户注册插件怎么选?2026年最佳注册插件推荐

    在2026年的WordPress生态中,没有绝对的“最好”,只有最匹配你业务场景的解决方案,核心选择逻辑应围绕安全性、自定义程度及与现有工作流的集成效率展开,注册功能是网站转化的第一道门槛,也是数据合规的重中之重,随着隐私法规的日益严格以及用户体验标准的提升,简单的“用户名+密码”模式已难以满足现代网站的需求……

    2026年6月21日
    1800

发表回复

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