当前位置: 首页 > news >正文

Linux--查看端口占用情况

查看端口占用情况

在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
netstat命令各个参数说明如下:
  -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的。如果你需要处理端口相关的问题,这篇文章可能会对你有用。

端口是 Linux 系统上特定进程之间逻辑连接的标识,包括物理端口和软件端口。由于 Linux 操作系统是一个软件,因此本文只讨论软件端口。软件端口始终与主机的 IP 地址和相关的通信协议相关联,因此端口常用于区分应用程序。大部分涉及到网络的服务都必须打开一个套接字来监听传入的网络请求,而每个服务都使用一个独立的套接字。

套接字是和 IP 地址、软件端口和协议结合起来使用的,而端口号对传输控制协议(TCP)和用户数据报协议(UDP)协议都适用,TCP 和 UDP 都可以使用 0 到 65535 之间的端口号进行通信。
以下是端口分配类别:
0 – 1023: 常用端口和系统端口
1024 – 49151: 软件的注册端口
49152 – 65535: 动态端口或私有端口

可以使用以下六种方法查看端口信息。

ss:可以用于转储套接字统计信息。

sudo ss -tunlp | grep “:7001”
LISTEN 0 128 [::ffff:10.56.68.82]:7001 : users:((“java”,pid=64237,fd=702))
常用选项
-h, –help 帮助
-V, –version 显示版本号
-t, –tcp 显示 TCP 协议的 sockets
-u, –udp 显示 UDP 协议的 sockets
-x, –unix 显示 unix domain sockets,与 -f 选项相同
-n, –numeric 不解析服务的名称,如 “22” 端口不会显示成 “ssh”
-l, –listening 只显示处于监听状态的端口
-p, –processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a, –all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r, –resolve 把 IP 解释为域名,把端口号解释为协议名称

netstat:可以显示打开的套接字列表。

与ss相同,已经过时

lsof:可以列出打开的文件。

例如:
lsof -i :7001
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 64237 10307006@zte.intra 702u IPv6 10665459 0t0 TCP LIN-E399F775534.zte.intra:afs3-callback (LISTEN)

fuser:可以列出那些打开了文件的进程的进程 ID。

nmap:是网络检测工具和端口扫描程序。

systemctl:是 systemd 系统的控制管理器和服务管理器。

systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-08 00:15:34 CST; 18h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1604 (sshd)
Tasks: 1 (limit: 52428)
Memory: 1.4M
CGroup: /system.slice/sshd.service
└─1604 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

9月 08 00:15:34 LIN-E399F775534.zte.intra systemd[1]: Starting OpenSSH server daemon…
9月 08 00:15:34 LIN-E399F775534.zte.intra sshd[1604]: Server listening on 0.0.0.0 port 33322.
9月 08 00:15:34 LIN-E399F775534.zte.intra systemd[1]: Started OpenSSH server daemon.
9月 08 00:15:34 LIN-E399F775534.zte.intra sshd[1604]: Server listening on :: port 33322.

使用 netstat 命令

netstat 能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。

默认情况下,netstat 会列出打开的套接字。如果不指定任何地址族,则会显示所有已配置地址族的活动套接字。但 netstat 已经过时了,一般会使用 ss 来替代。

http://www.lryc.cn/news/126894.html

相关文章:

  • 微信小程序|自定义弹窗组件
  • 【数据结构】实现顺序表
  • 【嵌入式环境下linux内核及驱动学习笔记-(19)LCD驱动框架2-FrameBuffer】
  • 自己动手写数据库系统:实现一个小型SQL解释器(中)
  • HTML 与 XHTML 二者有什么区别
  • fiddler抓包问题记录,支持https、解决 tunnel to 443
  • Kubesphere中DevOps流水线无法部署/部署失败
  • 使用Nginx解决跨域问题
  • 在 OpenCV 中使用深度学习进行年龄检测-附源码
  • 【BASH】回顾与知识点梳理(三十一)
  • Linux 终端命令之文件浏览(3) less
  • 【精通性能优化:解锁JMH微基准测试】一基本用法
  • .Net程序调试时接受外部命令行参数方式
  • Mariadb高可用MHA (四十二)
  • Vue3 setup中使用$refs
  • 什么是React的上下文(Context)?如何使用和传递上下文信息?
  • CentOS Linux 78安全基线检查
  • Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】
  • Kubernetes 企业级高可用部署
  • 8.1 C++ STL 变易拷贝算法
  • 攻击LNMP架构Web应用
  • 深度学习入门-3-计算机视觉-图像分类
  • shopee运营新手入门教程!Shopee运营技巧!
  • Python Web框架:Django、Flask和FastAPI巅峰对决
  • 机器学习线性代数基础
  • PyQt5组件之QLabel显示图像和视频
  • 微信程序 自定义遮罩层遮不住底部tabbar解决
  • Python简易部署方法
  • Spring Boot单元测试与Mybatis单表增删改查
  • 机器学习样本数据划分的典型Python方法