如何查看linux服务端口

Linux中,查看服务端口常用命令有netstat -tulnss -tulnlsof -i等,可查看监听端口及进程信息

Linux系统中,查看服务端口是日常运维和故障排查的重要任务,以下是几种常用的方法及其详细说明:

如何查看linux服务端口

使用netstat命令

  1. 基本用法

    • 命令: netstat -tulpn
      • -t: 显示TCP连接。
      • -u: 显示UDP连接。
      • -l: 仅显示监听状态的端口。
      • -p: 显示使用端口的进程ID及名称。
      • -n: 以数字形式显示地址和端口号,避免DNS解析延迟。
    • 示例: 查看所有监听的TCP和UDP端口及对应进程:
      netstat -tulpn
    • 输出示例:
      | Proto | Local Address | Foreign Address | State | PID/Program name |
      |——-|—————|—————-|——-|——————-|
      | tcp | 0.0.0.0:80 | 0.0.0.0: | LISTEN| 1234/nginx |
      | udp | 127.0.0.1:68 |
      : | | 5678/dhclient |
  2. 过滤特定端口: 结合grep筛选指定端口(如80):

    netstat -tulpn | grep :80

使用ss命令

  1. 基本用法

    • 命令: ss -tulpen
      • -t/-u: TCP/UDP协议。
      • -l: 监听状态。
      • -p: 显示进程信息。
      • -e: 显示扩展的套接字信息。
      • -n: 数字化地址和端口。
    • 优势: 性能优于netstat,适合快速查询。
    • 示例: 查看监听的TCP端口及进程:
      ss -tulpen | grep -i tcp
  2. 过滤特定端口: 直接匹配端口号(如443):

    如何查看linux服务端口

    ss -tulpen | grep :443

使用lsof命令

  1. 基本用法

    • 命令: lsof -i -P -n
      • -i: 显示网络文件(包括端口)。
      • -P: 禁止端口号转名称(如80→http)。
      • -n: 禁止IP转主机名,加速输出。
    • 示例: 查看所有监听端口:
      lsof -i -P -n | grep LISTEN
  2. 查询特定端口: 直接指定端口号(如9092):

    lsof -i :9092

使用fuser命令

  1. 基本用法
    • 命令: fuser -n tcp [端口号]
      • -n tcp: 指定TCP协议。
    • 示例: 查看80端口的占用情况:
      fuser -n tcp 80
    • 输出示例:
              80/tcp:              1234

其他方法

  1. proc文件系统: 直接读取内核态网络状态。

    • 命令: cat /proc/net/tcp | grep 端口号的十六进制

      需将端口号转为十六进制(如9999→270F)。

      如何查看linux服务端口

    • 示例: 查看9999端口:
      printf "%xn" 9999 # 输出270F
      cat /proc/net/tcp | grep 270F
  2. nmap扫描: 探测主机开放端口(需安装nmap)。

    • 命令: nmap -sS -O localhost
      • -sS: SYN半开扫描。
      • -O: 尝试识别操作系统。

方法对比与选择建议

方法 适用场景 优点 缺点
netstat 快速查看所有端口及进程 广泛兼容,参数灵活 部分系统需安装net-tools
ss 高性能替代netstat 更详细,速度更快 需熟悉新参数格式
lsof 查看端口与进程的关联 精准定位进程,支持过滤 输出信息较冗杂
fuser 查询单个端口的占用情况 简洁直接 仅显示PID,需结合其他命令
nmap 远程扫描或安全审计 可探测防火墙隐藏端口 需额外安装,扫描速度较慢

FAQs

  1. 如何终止占用特定端口的进程

    • 步骤 1: 查找PID:
      lsof -i :PORT | awk '{print $2}'
    • 步骤 2: 杀死进程:
      sudo kill -9 PID
  2. 为什么某些命令(如netstat)提示“未找到”?

    • 原因: 部分Linux发行版(如CentOS 7)默认未安装net-tools
    • 解决: 安装对应工具:
      sudo yum install net-tools # CentOS/RHEL
      sudo apt-get install net-tools # Debian/Ubuntu

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月21日 03:34
下一篇 2025年7月21日 03:40

相关推荐

  • 虚拟机怎样彻底卸载Linux系统

    关闭虚拟机后,在虚拟机软件(如VMware、VirtualBox)中找到该Linux虚拟机的配置和虚拟磁盘文件,直接删除即可释放磁盘空间。

    2025年6月14日
    100
  • 新手如何快速安装Arch Linux?

    下载Arch Linux ISO并制作启动盘,启动后分区、格式化并挂载目录,运行pacstrap安装基本系统,生成fstab文件,arch-chroot进入新系统,设置时区、语言和主机名,创建用户及密码,安装引导程序(如GRUB),最后退出重启,完成安装,务必参考官方安装指南逐步操作,确保网络连接并备份数据。

    2025年6月24日
    000
  • linux中配置ip错了如何修改

    Linux中配置IP错误,可通过修改配置文件或使用命令行工具来更正,编辑/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS示例)或对应文件,调整IPADDR和NETMASK参数,保存后重启网络服务使更改生效

    2025年7月21日
    000
  • Linux如何查找本地视频文件

    Linux系统通过文件管理器(如Nautilus、Dolphin)管理本地视频文件,通常存放在用户家目录的Videos文件夹、自定义目录或外部存储挂载点(如/media或/mnt),命令行可使用find或ls命令搜索定位。

    2025年7月4日
    200
  • linux 如何支持ipv6

    nux支持IPv6需先确保内核开启IPv6支持,可通过modprobe ipv6加载模块或重新编译内核,然后在网络配置文件中启用IPv6,如在/etc/sysconfig/network-scripts/ifcfg-eth0中设置IPV6INIT=”yes”,并配置IPv6地址、网关等参数,重启网络服务使配置生效

    2025年7月15日
    000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN