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

相关推荐

  • pw2位域名怎么注册?好记的pw域名还有吗?

    很遗憾,目前市面上已经基本无法注册到2位字符的pw域名,但好记且有价值的pw域名并非完全没有机会,关键在于转换思路,寻找3位或4位中的潜力组合,pw域名哪里能注册:主流注册商与价格差异对比很多人问pw域名哪里能注册,其实这个后缀并不小众,几乎所有主流注册商都支持,但不同平台的价格和续费政策差异很大,这直接影响你……

    2026年9月6日
    100
  • 2026年如何打造SEO友好型网站?SEO优化技巧有哪些

    2026年打造SEO友好型网站的核心在于构建以用户意图为导向的内容架构,并深度融合百度智能小程序生态与移动端极致体验,而非单纯依赖传统外链堆砌,搜索引擎的算法逻辑在2026年已发生根本性转变,从单纯的“抓取-索引-排名”进化为“理解-服务-转化”,对于站长和内容创作者而言,理解这一底层逻辑的变化,是获取自然流量……

    2026年6月26日
    4400
  • 长域名免费快速转短域名靠谱吗,有什么风险?

    长域名免费转短域名完全可以做到,用对工具几分钟就能搞定,但安全性取决于你选择的平台和使用场景,公共短链接服务存在被滥用和失效风险,重要链接建议自建,长域名免费转短域名,本质上做了什么每次复制一长串网址发给朋友,对方收到后不是显示不全,就是被聊天软件拦截,你需要的不是魔法,而是一个“跳板”,短链服务的核心动作就两……

    2026年9月1日
    500
  • HTML5地理位置API怎么用?如何获取用户精确位置

    HTML5地理位置API通过浏览器直接调用设备GPS或基站定位,无需安装APP即可实现精准定位,是开发轻量级LBS应用的首选方案,在移动互联网高度渗透的今天,用户对于“附近”、“实时”和“个性化”的需求达到了前所未有的高度,传统的Web应用往往因为无法获取用户位置而显得笨拙,而HTML5地理位置API的出现,彻……

    服务器宽带 2026年6月7日
    7800
  • 服务器带宽不足的表现有哪些?网站打开慢是带宽不够吗?

    服务器带宽不足的核心表现为网站访问速度显著下降、数据传输中断、并发处理能力失效以及业务流程异常,直接导致用户体验崩塌与潜在客户流失,带宽作为数据传输的“高速公路”,其容量瓶颈会从底层物理传输层向上蔓延至应用层,最终造成业务停摆,当出现此类状况时,不仅需要排查即时流量,更需从架构层面进行专业诊断与优化, 页面加载……

    2026年3月5日
    12500
  • pvp虚拟机使用怎么设置才能流畅不卡顿?

    PvP虚拟机卡顿的根本原因,不在软件而在分配逻辑先给结论:PvP虚拟机想流畅不卡顿,靠的不是某一项”神级设置”,而是把CPU物理核心、内存访问速度、GPU直通、网络延迟四条线拉平,再配合半虚拟化驱动,缺一条都会在实战中掉链子,很多玩家虚拟机配置比物理机还高,一进竞技场照样顿卡,问题不是硬件弱,而是虚拟化层把资源……

    2026年9月7日
    300
  • 广州60g高防dns解析多少钱?广州高防DNS解析价格贵吗

    广州60g高防dns解析的价格通常在每月数千元至万元区间浮动,具体费用取决于防御模式、带宽质量以及服务商品牌溢价,企业不应仅以低价作为选择标准,防御的实时性和解析的稳定性才是决定业务生死的成本核心,高防DNS解析并非单一产品,而是集成了智能解析、流量清洗与CDN加速的综合解决方案,其价值在于保障业务在极端攻击下……

    2026年4月1日
    9700
  • 广告短信群发平台哪个好?正规短信群发平台怎么收费

    企业在数字化营销转型中,选择并正确使用广告短信群发平台,是当前实现低成本、高转化客户触达的最优解,其核心价值在于“精准”与“即时”,能够以极低的边际成本撬动巨大的流量红利,不同于传统广撒网式的推广,现代化的短信群发已演变为基于数据分析的精准营销工具,直接决定了企业营销预算的投入产出比(ROI),简米科技的服务数……

    2026年4月3日
    9700
  • 服务器带宽配置选错了?服务器带宽多少合适才不卡

    服务器频繁卡顿、页面加载迟缓,绝大多数情况下并非服务器整体性能不足,而是带宽配置与实际业务流量模型不匹配所致,许多企业盲目升级CPU和内存,却忽略了网络传输通道的瓶颈,导致高配置服务器依然出现“堵车”现象,解决卡顿的核心在于精准计算带宽需求,选择适配的带宽计费模式,并进行合理的网络架构优化, 带宽不足是导致业务……

    2026年3月5日
    12500
  • 遇到http500内部服务器错误怎么办?http500内部服务器错误解决方法

    HTTP 500 内部服务器错误并非客户端网络故障,而是服务器端代码执行异常或配置错误导致的通用响应,解决核心在于查看服务器错误日志定位具体报错行,当你在浏览器地址栏输入网址后,页面没有正常显示内容,而是弹出一个冷冰冰的“HTTP 500 Internal Server Error”提示时,许多用户的第一反应往……

    2026年6月5日
    3810

发表回复

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