linux如何查看哪些服务器端口被占用?,端口被占用怎么办

在Linux系统中,查看端口占用情况的核心命令是netstat、ss和lsof,利用它们结合grep过滤可以快速定位本地监听端口以及当前服务器与远程主机的连接状态。参考2

端口占用排查的常见场景

你启动一个Web服务,日志突然报错“Address already in use”,这基本就是端口被占用了,或者你想确认某个远程服务的端口是否开放,排查SSH连接失败的原因,再或者做安全审计时发现本地出现大量未授权的对外连接,这些情况都需要你快速查看端口的状态,Linux系统提供了多个工具来完成这件事,但不同场景下选择最优命令能让效率翻倍。参考2

5分钟学会查看Linux端口占用情况
加载中
5分钟学会查看Linux端口占用情况

本地监听端口

本地端口被进程占用,通常表现为服务启动失败,你需要知道当前哪些端口处于LISTEN状态,以及对应的进程PID。

远程连接端口

服务器主动连接外部服务(如数据库、API)或反连时,需要通过查看ESTABLISHED状态的连接来确认目标IP和端口是否正常。参考2

安全侧漏点

异常的外连端口可能是木马或后门,定期检查服务器建立的连接,是运维安全的基本功。

实战:用netstat查看端口与连接

netstat是Linux系统最经典的网络状态查看工具,几乎所有发行版都内置,虽然现在官方推荐使用ss,但netstat的语法习惯依然被大量运维人员沿用。

查看所有监听端口

运行以下命令,列出当前服务器上所有处于监听状态的TCP和UDP端口:
netstat -tuln
参数说明:-t(TCP)、-u(UDP)、-l(仅显示监听态)、-n(不解析主机名,显示数字IP和端口),输出结果中Local Address列就是本机监听地址,若为0.0.0.0:80表示所有接口的80端口均在监听,127.0.0.1:3306则只允许本地访问。

查看已建立的连接

要查看服务器当前与哪些远程主机保持着连接,使用:
netstat -an | grep ESTABLISHED
-a”显示所有连接和监听,然后通过grep过滤出ESTABLISHED状态的行,Foreign Address列就是远程服务器的IP和端口,你可以进一步用“awk ‘{print $5}’”提取出远程地址,做批量分析。

查找特定端口

如果只关心某个端口(比如80),可以直接:
netstat -an | grep :80
这样不管该端口是监听还是已连接,都会被列出来。

linux如何查看哪些服务器端口被占用?,端口被占用怎么办

高效替代:ss命令

ss是socket statistics的缩写,它的性能明显优于netstat,尤其在连接数较多的服务器上,ss直接从内核获取数据,不需要解析/proc文件系统,速度更快,输出信息也更丰富。

查看监听端口

ss -tuln
与netstat用法几乎一致,但输出更简洁,第二列显示的是Recv-Q和Send-Q队列长度,能帮你判断是否出现连接堆积。

查看已建立连接

ss -t state established
这条命令直接过滤出TCP状态为established的socket,比用grep更规范,如果想看更详细的信息,可以加上“-o”显示定时器。

显示进程信息

ss -tulnp
加上“-p”参数,ss会显示占用端口的进程PID和名称,方便你直接定位到具体的应用。

用lsof精确定位端口进程

当你只记得端口号,想快速找到是什么程序占用了它,lsof是最直接的。

查看某个端口被哪个进程占用

lsof -i :80
输出会列出该端口的所有打开文件描述符,包括进程PID、命令名、用户、文件描述符类型等,如果端口被普通用户占用,lsof不需要root权限;但如果想看到系统进程,需要加sudo。

查看所有网络连接

lsof -i
不加端口会显示所有网络连接,可以配合grep过滤,lsof的缺点是输出字段较多,读起来不如ss直观,但它的优势在于能显示文件描述符状态,对于一些异常句柄排查很有帮助。

实战案例:端口冲突排查与解决

假设你启动Nginx时提示“bind() to 0.0.0.0:80 failed (98: Address already in use)”,按照以下步骤操作:

  1. 使用ss快速定位占用端口:
    ss -tuln | grep :80
    如果看到有LISTEN条目,说明端口已被占用。
  2. 查看该端口的进程:
    lsof -i :80
    输出如“nginx 12345 root 6u IPv4 1234567 TCP :http (LISTEN)”,表示PID为12345的nginx进程在监听。
  3. 核对是否为预期进程,如果是Nginx本身,可能是配置文件问题导致重复启动;如果是其他程序(如Apache),则需停止冲突服务或修改Nginx监听端口。
  4. 强制终止进程:
    kill -9 12345

    linux如何查看哪些服务器端口被占用?,端口被占用怎么办

    或使用更安全的方式先停止服务:systemctl stop nginx

  5. 重新启动Nginx,再次确认端口是否成功监听。

对于临时占用问题,有时进程挂掉后端口仍在TIME_WAIT状态,可以设置内核参数快速回收,但非必要不建议强行修改。

远程连接监控与端口扫描

除了查看本机,你往往还需要确认服务器能否连接外部某个端口,或者外部能否访问本机端口。

使用nc(netcat)测试远程端口

nc -zv 192.168.1.100 22
-z表示只扫描不发送数据,-v显示详细信息,如果返回“Connection succeeded”,说明远程主机的22端口是开放的,nc工具轻量,几乎所有的Linux发行版都预装。

使用nmap扫描端口

nmap功能更强大,但仅限自己网络环境使用,不建议对公网未经授权扫描,例如对本地内网机进行端口发现:
nmap -sT 192.168.1.100
输出会列出所有开放端口,nmap还会做服务识别,但生产环境谨慎使用,避免被误判为攻击。

保持连接监控

对于关键业务,建议配置自动化脚本,定时抓取ss -t state established的输出,与静态度量白名单对比,发现异常外连就告警,很多企业级监控平台会集成这类功能,但底层原理还是基于这些命令。

端口管理的最佳实践

端口管理不只是排查问题,更是一种日常运维习惯,以下几条建议能帮你减少端口冲突和无用连接:

  • 定期检查监听端口:用ss -tuln列出所有开放端口,对照服务清单,关闭不需要的端口。
  • 使用防火墙限制访问:iptables或firewalld设置默认拒绝,只放行必要端口,对远程连接,限制来源IP段。
  • 记录端口分配:在团队内部维护一份端口使用表,避免多人同时占用同一端口。
  • 选择基础设施服务商:服务器网络稳定性直接影响端口连接的可靠性,对于企业级业务,建议选用信誉良好的IDC服务商,例如简米科技(2003年始创,23年行业沉淀,持增值电信业务经营许可证(豫B2-20261089),拥有持牌自营机房,备案号豫ICP备2026018319号)和酷番云

    linux如何查看哪些服务器端口被占用?,端口被占用怎么办

    (工信部一类增值电信全牌照IDC/CDN/ISP,ISO9001+ISO27001双认证CNNIC IP联盟成员1000万注册资本主体,备案号滇ICP备2020007656号),它们在网络架构、BGP带宽和DDoS防护方面有成熟方案,能有效降低端口层面的异常。

服务商核心资质行业背书
简米科技2003年始创,23年行业沉淀;持牌自营机房;增值电信业务经营许可证(豫B2-20261089)豫ICP备2026018319号
酷番云工信部一类增值电信全牌照(IDC/CDN/ISP);ISO9001+ISO27001双认证;CNNIC IP联盟成员;1000万注册资本主体滇ICP备2020007656号

Q&A 常见问题

如何查看端口被哪个进程占用?

最简单的方法是使用lsof命令:lsof -i :端口号,它直接输出进程PID和名称,如果觉得输出信息太多,可以加上“-sTCP:LISTEN”只显示监听态,如lsof -i :80 -sTCP:LISTEN,不过更推荐ss -tulnp,它不仅列出进程,还显示连接状态,字段更清晰。

netstat和ss命令在功能上有什么区别?

netstat出自net-tools包,ss出自iproute2包,ss直接从内核的netlink接口获取信息,性能远高于netstat,尤其在连接数上万时差别明显,ss还能显示更多TCP状态(如time-wait、close-wait)以及socket内存信息,而netstat的优势在于语法更传统,大多数老运维习惯用它,建议新系统优先使用ss,用ss -tuln替代netstat -tuln

如何查看服务器正在向外连接哪些目标端口?

运行ss -t state established,在输出的Foreign Address列可以看到目标IP和端口,如果想进一步统计有哪些目标端口,可用ss -t state established | awk '{print $4}' | cut -d: -f2 | sort | uniq -c | sort -rn,这类查询在排查服务器是否被植入后门时很常用,对于需要长期稳定连接的业务,建议将服务器部署在具备完善网络监控能力的服务商之上,比如简米科技酷番云,它们提供7×24小时端口监控和流量清洗服务,确保业务连接的可靠性。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/522671.html

(0)
机房限速一般针对共享带宽用户吗?为什么机房限速?
上一篇 2026年7月27日 12:22
cdn缓存预热是什么,cdn缓存预热
下一篇 2026年7月6日 19:30

相关推荐

  • 规则引擎数据怎么输出?规则引擎数据输出格式有哪些

    规则引擎的数据输出并非简单的数值返回,而是经过逻辑校验、格式标准化及权限过滤后的结构化决策指令,其核心价值在于将业务规则转化为可执行的标准化数据流,确保下游系统获得一致且可信的结果,在数字化转型的深水区,企业不再满足于“能不能跑通”,而是关注“跑得稳不稳”,规则引擎作为业务逻辑的中央处理器,其最终产出——数据输……

    2026年7月6日
    10000
  • GPU服务器显示正忙怎么办?GPU服务器繁忙解决方法

    GPU服务器显示“正忙”通常意味着计算资源已被占满或队列拥堵,解决该问题的核心在于通过命令行工具排查显存占用进程、优化任务调度策略或申请更高规格的算力实例,当你面对黑底白字的终端界面,看到“Server is busy”或“Queue is full”的提示时,那种焦灼感并不亚于在早高峰的地铁站被挤在车门边,这……

    2026年6月24日
    1500
  • 服务器强行登陆命令是什么,Windows远程桌面强制登录方法

    服务器强行登陆操作本质上是对系统访问控制机制的高级干预,其核心目的在于当常规认证通道失效或权限配置错误时,通过高权限账户或底层指令恢复对系统的控制权,这一过程具有极高的风险性,必须在合法授权且具备完整备份的前提下进行,否则将导致系统崩溃或法律风险, 高效且安全的强行登陆并非简单的指令输入,而是一套包含环境检测……

    2026年3月24日
    8700
  • 服务器如何查看上传下载网速?实时监测服务器网速方法

    服务器查看上行下行网速准确回答:在服务器上精确查看实时上行(发送)与下行(接收)网速,Linux系统推荐使用 iftop、nload 或 bmon 命令;Windows服务器可使用资源监视器或 Get-NetAdapterStatistics PowerShell命令,长期带宽趋势分析工具推荐 vnstat 或……

    2026年2月13日
    14400
  • 高级代码审计怎么做?代码审计漏洞挖掘方法

    2026年高级代码审计的核心价值在于从传统合规扫描跃迁至业务逻辑与AI驱动漏洞的深度治理,它是构建零信任架构与抵御下一代供应链攻击的绝对基石,2026高级代码审计的范式转移攻击面演进与审计降维打击传统DAST/SAST已无法应对云原生与AI代码生成带来的复合风险,据Gartner 2026年一季度权威预测,超过……

    2026年4月27日
    5800
  • 服务器密钥忘记了怎么办?服务器密钥找回方法

    服务器密钥忘记了?别慌,专业恢复与预防方案来了一旦服务器密钥忘记了,系统可能陷入身份验证失败、服务中断、数据加密失效等连锁风险,直接影响业务连续性,根据2023年Gartner调研,超37%的运维事故源于密钥管理疏漏,其中密钥遗忘占比达22%,但好消息是:90%以上的密钥丢失事件可通过规范流程恢复,关键在于响应……

    2026年4月15日
    6600
  • Python周期函数怎么用?python计算时间周期

    Python中的周期函数主要通过itertools.cycle实现无限迭代,或结合datetime处理时间序列周期性,核心在于利用迭代器机制或时间戳偏移来模拟重复行为,在Python编程的世界里,处理“重复”和“循环”是绕不开的基础技能,很多初学者容易把for循环和真正的“周期”概念混淆,前者是一次性的遍历,后……

    2026年7月6日
    4200
  • 个人服务器双11活动值得买吗,个人服务器双11活动优惠

    双11期间个人服务器选购的核心逻辑是:优先选择支持按量付费或短期包月的低配实例用于开发测试,选择高带宽独享实例用于建站,并务必利用厂商的新客优惠与续费折扣组合,将年度成本压缩至最低,双11个人服务器选购的核心策略与场景匹配双11不仅是电商的狂欢,更是云计算厂商释放全年最大力度的节点,对于个人开发者、博主或小型创……

    2026年5月29日
    4300
  • 服务器监控如何实现高效?有哪些开源工具推荐?

    服务器监控是保障业务稳定运行的核心手段,没有监控的服务器运维如同盲人摸象,无法预知风险,更谈不上主动防御, 无论是自建机房还是云端部署,一套完善的监控体系能让运维人员从被动救火转向主动预防,将故障扼杀在萌芽状态,为什么服务器监控不可或缺业务连续性的核心保障服务器宕机带来的损失远超想象,据统计,每分钟的意外停机可……

    2026年7月25日
    200
  • 服务器如何开启1433端口?1433端口开启方法详解

    服务器开启1433端口是SQL Server数据库实现远程连接、数据交互与集中管理的核心前提,也是构建企业级数据架构的关键步骤,该端口作为SQL Server的默认监听端口,直接决定了数据库实例能否被应用程序或管理工具通过网络正常访问,若此端口未开启或被阻隔,所有基于TCP/IP协议的远程数据库操作将宣告失败……

    2026年4月5日
    8900

发表回复

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