linux查看端口占用情况

本文介绍在Linux环境下如何使用lsof和netstat命令查看特定端口的占用情况,包括进程PID和程序名称。同时,提供监控网络链接数的方法,包括Java线程数和网络客户端连接数。


Linux如何查看端口

  1. lsof -i:端口号
    用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000
lsof -i:8000
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

可以看到8000端口已经被轻量级文件系统转发服务lwfs占用

  1. netstat -tunlp |grep 端口号
    用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000
# netstat -tunlp 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4814/rpcbind        
tcp        0      0 0.0.0.0:5908                0.0.0.0:*                   LISTEN      25492/qemu-kvm      
tcp        0      0 0.0.0.0:6996                0.0.0.0:*                   LISTEN      22065/lwfs          
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      38296/dnsmasq       
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      5278/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      5013/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      5962/master         
tcp        0      0 0.0.0.0:8666                0.0.0.0:*                   LISTEN      44868/lwfs          
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs
# netstat -tunlp | grep 8000
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs   
参数含义
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

监控网络链接数

监控java线程数:
ps -eLf | grep java | wc -l

监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l

>pids=`ps ux | grep app.py | grep -v grep | awk -F' ' '{print $2}'`
>for i in ${pids}; do     kill ${i}; done
>pids=`netstat -nlp | grep :5000 | awk '{print $7}' | awk -F"/" '{print $1}'`
Linux 系统中,可以通过多种命令来查看端口的使用情况占用情况。以下是一些常用的命令及其用途: ### 查看所有端口占用情况 - **`netstat -tulnp`** 该命令可以列出所有正在监听的 TCP 和 UDP 端口,并显示与这些端口关联的程序信息。其中: - `-t` 表示显示 TCP 连接。 - `-u` 表示显示 UDP 连接。 - `-l` 表示只显示处于监听状态的连接。 - `-n` 表示以数字形式显示地址和端口号(不进行 DNS 解析)。 - `-p` 表示显示与端口相关的进程信息(需要 root 权限才能看到其他用户的进程)。 - **`netstat -AaLlnW`** 这个命令也可以用来检查所有端口占用情况,它提供了更为详细的网络连接信息[^1]。 ### 查看特定端口占用情况 如果需要查看某个特定端口的使用情况,可以结合 `grep` 命令来过滤输出结果: - **`netstat -tulnp | grep <端口号>`** 例如,要查看 80 端口的使用情况,可以执行: ```bash netstat -tulnp | grep 80 ``` 这将显示所有使用 80 端口的连接及其相关信息[^3]。 - **`netstat -ntulp | grep [端口号]`** 比如,要查看 5000 端口的使用情况,可以运行: ```bash netstat -ntulp | grep 5000 ``` 其中: - `-n` 表示不解析服务名称。 - `-t` 表示 TCP 协议。 - `-u` 表示 UDP 协议。 - `-l` 表示监听状态的连接。 - `-p` 表示显示进程 ID 和名称。 ### 查看端口连接的客户端 IP 地址 - **`netstat -anp`** 此命令可以查看端口的连接情况,包括客户端的 IP 地址。 - **`netstat -anp | grep <端口号>`** 如果只想查看特定端口的连接情况,比如 5000 端口,可以执行: ```bash netstat -anp | grep 5000 ``` ### 示例代码块 ```bash # 安装 net-tools 包(如果尚未安装) sudo yum -y install net-tools # 查看所有端口占用情况 netstat -tulnp # 查看 80 端口的使用情况 netstat -tulnp | grep 80 # 查看 5000 端口的使用情况 netstat -ntulp | grep 5000 # 查看 5000 端口的连接客户端 IP netstat -anp | grep 5000 ``` 通过上述命令,可以有效地管理和监控 Linux 系统中的端口使用情况,帮助诊断网络问题或优化系统性能。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值