如何查服务器IP地址与端口?

查看服务器IP地址常用命令:ifconfig(旧系统)或ip addr(Linux);ipconfig(Windows),查看端口信息:netstat -tulnss -tuln(Linux);netstat -ano(Windows),公网IP可用curl ifconfig.me

准确获取服务器的IP地址和正在监听的端口信息,是服务器管理、网络调试和安全审计的基础操作,不同操作系统使用的命令不同,以下是Linux/Unix系统和Windows系统的详细方法:

查看服务器IP地址

  • Linux/Unix 系统 (包括 CentOS, Ubuntu, Debian, macOS 终端等):

    1. ifconfig (传统命令,部分新系统可能需安装 net-tools):
      ifconfig
      • 在输出结果中,找到你正在使用的网络接口(如 eth0, ens33, enp0s3, wlan0 等)。
      • 对应的 inetinet addr 后面的地址就是该接口的IPv4地址(168.1.100)。
      • inet6 后面的地址是IPv6地址。
    2. ip (现代推荐命令):
      ip addr show
      # 或简写
      ip a
      • 同样查找对应的网络接口。
      • inet 后面是IPv4地址,inet6 后面是IPv6地址,此命令输出更清晰,信息更全。
    3. hostname (查看主机名和IP):
      hostname -I  # 显示所有非回环(loopback)网络接口的IP地址 (通常只显示IPv4)
  • Windows 系统:

    1. ipconfig (最常用):
      打开命令提示符 (cmd) 或 PowerShell,输入:

      ipconfig
      • 在输出结果中,找到你正在使用的网络适配器(如 “以太网适配器 以太网”, “无线局域网适配器 WLAN”)。
      • IPv4 地址 后面的值就是该适配器的IPv4地址(168.1.101)。
      • 如需查看所有详细信息,可使用:
        ipconfig /all

查看服务器端口监听和连接状态

  • Linux/Unix 系统:

    1. netstat (传统命令,功能强大,部分新系统可能需安装 net-tools):
      • 查看所有监听端口:
        netstat -tuln
        • -t: 显示 TCP 端口。
        • -u: 显示 UDP 端口。
        • -l: 仅显示监听 (LISTEN) 状态的套接字(服务端口)。
        • -n: 以数字形式显示地址和端口号(不解析主机名和服务名),速度更快。
      • 查看所有连接 (包括监听、已建立连接等):
        netstat -tunap
        • -a: 显示所有连接和监听端口。
        • -p: 显示进程标识符 (PID)进程名称(需要管理员/root权限才能查看所有进程信息)
      • 输出解读:
        • Proto: 协议 (tcp, udp)。
        • Recv-Q, Send-Q: 接收和发送队列。
        • Local Address: 本地地址和端口 (格式 IP:Port)。0.0.0 或 表示监听所有可用IP。
        • Foreign Address: 远程地址和端口 (对端)。
        • State: 连接状态 (如 LISTEN, ESTABLISHED, TIME_WAIT 等)。
        • PID/Program name: 使用该端口的进程ID和名称。
    2. ss (Socket Statistics, 现代推荐命令,netstat 的替代品,更快更高效):
      • 查看所有监听端口:
        ss -tuln

        (参数含义同 netstat -tuln)

      • 查看所有连接:
        ss -tunap

        (参数含义同 netstat -tunap)

      • 输出格式与 netstat 类似,但更简洁高效。
    3. lsof (List Open Files, 功能强大,可查看进程打开的文件/端口):
      • 查看所有监听在TCP端口80的进程:
        lsof -i TCP:80
      • 查看所有网络连接:
        lsof -i
      • 查看特定进程(如PID 1234)打开的网络连接:
        lsof -p 1234 -i
      • 输出包含:命令(COMMAND)、PID、用户(USER)、文件描述符(FD)、类型(TYPE)、设备(DEVICE)、大小/偏移(SIZE/OFF)、节点(NODE)、名称(NAME – 包含IP:Port信息)。
  • Windows 系统:

    1. netstat (主要命令):
      • 查看所有监听端口:
        netstat -ano | findstr /i "listening"
        • -a: 显示所有连接和监听端口。
        • -n: 以数字形式显示地址和端口号。
        • -o: 显示进程标识符 (PID)
        • | findstr /i "listening": 管道符过滤,只显示包含 “LISTENING” (不区分大小写 /i) 的行。
      • 查看所有连接 (包括监听、已建立连接等):
        netstat -ano
      • 输出解读:
        • Proto: 协议 (TCP, UDP)。
        • Local Address: 本地地址和端口 (格式 IP:Port)。0.0.0[::] 表示监听所有IP。
        • Foreign Address: 远程地址和端口 (对端)。
        • State: 连接状态 (如 LISTENING, ESTABLISHED, TIME_WAIT, CLOSE_WAIT 等)。
        • PID: 使用该端口的进程标识符 (PID)
      • 根据PID查找进程名:
        1. 打开任务管理器 (Ctrl+Shift+Esc)。
        2. 切换到 “详细信息” 选项卡。
        3. 找到对应PID的进程,查看 “名称” 列,或者使用命令:
          tasklist | findstr "PID号"  # tasklist | findstr "1234"
    2. Get-NetTCPConnection (PowerShell 命令,更现代):
      在 PowerShell 中运行:

      Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess | Format-Table -AutoSize

      输出包含本地地址/端口、远程地址/端口、状态和进程PID,格式更规整。

重要提示与专业建议

  1. 权限要求: 查看其他用户进程或系统进程的端口信息(特别是 -p 参数或 -o 参数显示PID时),通常需要管理员权限 (sudo / root 在 Linux, 以管理员身份运行 在 Windows)。
  2. netstat vs ss / lsof: 在 Linux 上,sslsof 是更现代、更高效的工具,netstat 已被标记为过时(obsolete),但在许多系统上仍可用,新脚本建议优先使用 sslsof
  3. 端口状态解读:
    • LISTEN / LISTENING: 服务正在该端口上等待连接请求,这是你通常需要关注的服务器端口状态。
    • ESTABLISHED: 一个活动的网络连接已成功建立。
    • TIME_WAIT / CLOSE_WAIT: 连接正在关闭过程中。
  4. 防火墙影响: 即使服务在监听某个端口,防火墙规则也可能阻止外部访问,检查防火墙配置 (iptables, nftables, firewalld 在 Linux; Windows Defender 防火墙在 Windows) 是必要的。
  5. 端口冲突: 如果两个程序试图监听同一个IP地址的同一个端口,后启动的程序通常会失败,使用上述命令可快速定位哪个进程占用了特定端口。
  6. 安全审计: 定期检查服务器监听的端口是安全最佳实践,关闭不必要的服务和端口能有效减少攻击面,对于不熟悉的监听端口,务必调查其来源和用途。
  7. 外部IP: 上述命令查看的是服务器的本地/内网IP,要查看服务器在互联网上的公网IP,通常需要从外部访问特定服务(如访问 ipinfo.io/ipifconfig.me 等网站),或在云服务商的控制台查看分配给实例的公网IP,本地命令无法直接获取公网IP(除非服务器直接配置了公网IP且是主接口)。

掌握这些命令是服务器管理和网络故障排查的核心技能,务必在理解其输出含义的基础上进行操作,并注意权限和安全风险。


引用与参考来源说明

  • Linux ip 命令文档: man ip (终端) 或 https://man7.org/linux/man-pages/man8/ip.8.html
  • Linux ss 命令文档: man ss (终端) 或 https://man7.org/linux/man-pages/man8/ss.8.html
  • Linux netstat 命令文档 (过时但参考): man netstat (终端) 或 https://man7.org/linux/man-pages/man8/netstat.8.html
  • Linux lsof 命令文档: man lsof (终端) 或 https://linux.die.net/man/8/lsof
  • Windows ipconfig 命令文档: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
  • Windows netstat 命令文档: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/netstat
  • Windows Get-NetTCPConnection 文档: https://docs.microsoft.com/en-us/powershell/module/nettcpip/get-nettcpconnection
  • IANA 端口分配列表: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml (用于查询知名端口用途)
  • TCP 状态图 (理解状态含义): RFC 793 或网络教材 (如 https://en.wikipedia.org/wiki/Transmission_Control_Protocol#/media/File:Tcp_state_diagram_fixed.svg)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4555.html

(0)
酷番叔酷番叔
上一篇 2025年6月15日 09:29
下一篇 2025年6月15日 10:16

相关推荐

  • 关系型数据库是目前主流还是正面临挑战?关系型数据库会被取代吗

    关系型数据库是目前企业构建核心业务系统的首选技术底座,尤其在需要强一致性、复杂事务处理及结构化数据管理的场景中,其成熟度与安全性仍占据绝对主导地位,尽管NoSQL和NewSQL技术在特定领域异军突起,但在2026年的技术格局中,关系型数据库(RDBMS)并未衰落,而是通过云原生重构与分布式架构升级,实现了性能与……

    2026年5月30日
    3500
  • 如何通过AJAX引入JS实现页面清除功能?,AJAX页面清除功能JS代码怎么写?

    Ajax引入JS后清除的核心在于通过手动移除事件监听、回收引用以及适时删除动态脚本标签,避免内存泄漏与性能下降,这是2026年前端性能优化的关键环节,为什么需要清除Ajax引入的JS内存泄漏风险动态加载的脚本会注册全局变量、事件监听器或定时器,若在组件生命周期结束后未清理,这些对象将无法被垃圾回收,导致内存占用……

    2026年7月20日
    1600
  • 关系型数据库增量同步有哪些技术方案值得调研?数据库增量同步技术

    在2026年,基于日志解析(CDC)的技术方案已成为绝对主流,其稳定性与实时性远超传统触发器或轮询方式,建议优先选择支持断点续传且具备高可用架构的商业级或开源增强版同步工具,技术演进与核心原理对比从轮询到日志解析的范式转移在2026年的数据架构中,增量同步不再依赖应用层埋点或高频轮询,主流方案已全面转向解析数据……

    2026年6月4日
    6200
  • ASP简单查询系统如何实现基础功能?

    在Web开发领域,ASP(Active Server Pages)作为一种成熟的服务器端脚本技术,因其简单易学、开发快速的特点,被广泛应用于构建中小型动态网站,基于ASP的简单查询系统是许多初学者入门和实践的经典案例,它能够帮助开发者理解数据库交互的基本原理,掌握动态网页的核心功能,本文将详细介绍ASP简单查询……

    2025年12月20日
    14700
  • 如何防止ASP表单重复提交?

    asp重复提交问题及解决方案在Web应用程序开发中,重复提交是一个常见的问题,尤其在ASP(Active Server Pages)技术栈中,由于页面刷新、网络延迟或用户误操作,可能导致同一数据被多次提交到服务器,这不仅影响数据一致性,还可能引发性能问题或业务逻辑错误,本文将深入探讨ASP重复提交的原因、影响及……

    2025年11月27日
    19100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信