linux 通过哪个命令可以查看某个服务及其端口、进程号

news/2024/5/17 16:56:14 标签: 终端, ssh, tcp

Linux top命令的用法及详解,请查看此篇文章:https://blog.csdn.net/wplblog/article/details/111870344

netstat/lsof
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
-a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接)
-n 显示所有已建立的有效连接
-t tcp协议
-u udp协议
-l 查询正在监听的程序
-p 显示正在使用socket的程序识别码和程序名称
例如:netstat -ntupl|grep processname
如何只查询tomcat的连接?
netstat -na|grep ESTAB |grep 80 |wc-l
netstat -na|grep ESTAB |grep 8080 |wc-l
常用端口介绍:
端口:21
服务:FTP服务器所开放的端口,用于上传、下载。
端口: 22
服务:ssh
端口: 80
服务:HTTP 用于网页浏览
端口:389
服务:LDAP ILS 轻型目录访问协议和NetMeetingInternet Locator Server
端口:443
服务:网页浏览端口 能提供加密和通过安全端口传输的另一种HTTP
端口:8080
服务:代理端口
打开终端,执行如下命令,查看各进程占用端口情况:

# ps -ef|wc -l //查看后台运行的进程总数
# ps -fu csvn //查看csvn进程

# netstat -lntp //查看开启了哪些端口
# netstat -r //本选项可以显示关于路由表的信息
# netstat -a //本选项显示一个所有的有效连接信息列表
# netstat -an|grep 8080
# netstat -na|grep -i listen //可以看到目前系统侦听的端口号
# netstat -antup //查看已建立的连接进程,所占用的端口。
netstat -anp|grep1487
lsof -i:1487
查看哪些进程打开了指定端口1487

关闭端口实际上是关闭其对应的服务,比如80端口是HTTPD 关闭80端口可以通过关闭httpd服务来实现
每个端口都有一个守护进程,kill掉这个守护进程就可以了
主机的端口分为监听端口与随机可用的高级端口
监听端口:监听端口就是主机开启了哪些服务,这个服务会在linux系统里启用一个端口来监听客户端的请求
随机可用的高级端口:
linux要向某个主机请求服务时,linux主机需要启用一个端口来对外连接linux会随机去用一个未被使用且端口号大于1024的端口进行连接
只有root用户可以开启1-1024端口表明拥有root权限
netstat-n 显示连接状态
netstat-tl 显示当前正在监听的服务名称
linux是一个列出当前系统打开文件的工具,在linux环境下,任何事物都以文件的形式存在。
lsof输出信息 即可显示系统打开的文件默认显示所有进程打开的所有文件
lsof filename 显示打开指定文件的所有进程
lsof -c string 显示command列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof -i 显示符合条件的进程情况
lsof -d 显示指定文件描述符的进程
lsof -a 标示两个参数都必须满足时才显示结果
例如: lsof-i:1487
查看所属root用户进程所打开的文件类型为txt的文件:
lsof -a -u root -d txt
lsof使用实例
1.查找使用文件系统
卸载文件系统时,如果文件系统中有任何打开的文件,就会出错。可以通过lsof可以找出那些进程在使用当前卸载的文件系统
# lsof /GTES11/
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 4208 root cwd DIR 3,1 40962 /GTES11/
vim 4230 root cwd DIR 3,1 40962 /GTES11/
2.恢复删除的文件
当linux计算机受到入侵时,常见的情况是日志文件被删除,管理错误也会导致意外删除重要的文件。
当进程打开了某个文件时,只要该进程保持打开该文件时,即使删除,依然存在于磁盘上。这意味着,进程并不知道文件已被删除,在/proc目录下,其中包含了反映内核和进程树的各种文件。
当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问文件,可以通过lsof从/proc目录下恢复该文件
使用lsof来查看当前是否有进程打开/var/logmessages文件
# lsof |grep /var/log/messages syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted) 从/proc/1283/fd/2
对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用

 


http://www.niftyadmin.cn/n/1687788.html

相关文章

Java多线程加锁例子

Java多线程加锁例子一、错误示例二、正确示例一、错误示例 static int a 0; //多线程同时操作 val aTestpublic void test4() throws InterruptedException {Runnable runnable () -> {while (a < 10) {a;System.out.print(a "\t");}};Thread t1 new Threa…

MYSQL操作表属性语句

MYSQL操作表属性语句语句语句 新增字段&#xff1a;ALTER TABLE [表名] ADD [字段名] [字段属性] [是否允许为空]; 例如&#xff1a;ALTER TABLE tableName ADD columnName VARCHAR(256) NOT NULL COMMENT XX; 修改字段长度&#xff1a;alter table 表名 modify column 字段名 …

PDF在线预览

PDF在线预览一、PDF在线预览代码一、PDF在线预览代码 /**PDF在线预览*/RequestMapping("/getPDF")public void findPdf( HttpServletResponse response,RequestParam("path") String path) throws IOException{response.setContentType("application/…

CentOS7 源码安装 MySQL 5.6

第一部分&#xff1a;目录1.准备工作 2. 运行环境 3. 确认你的安装版本 4.下载MySQL 5.安装MySQL 6.准备安装环境 7.编译和安装 8.配置MySQL 9.单实例配置 10.单实例配置方法 11.添加防火墙 12.启动MySQL 13.重启MySQL 14.实例配置 …

Linux 下Centos7 PHP使用redis 安装redis扩展

第一步&#xff1a;开始在 PHP 中使用 Redis 前&#xff0c;我们需要确保已经安装了 redis 驱动&#xff0c;且你的机器上能正常使用 PHP。接下来让我们安装 PHP redis 驱动//redis扩展的下载地址 有时候可能链接不上 毕竟是人家的下载源[rootlocalhost wengpengle]# wget http…

Linux 下 安装 Redis

//redis 的下载地址 [rootlocalhost wengpengle]# wget http://download.redis.io/releases/redis-2.8.7.tar.gz//解压下载好的 redis 压缩包 [rootlocalhost wengpengle]# tar -xzf redis-2.8.7.tar.gz//解压完毕 进入redis-2.8.7 目录 [rootlocalhost wengpengle]# cd redis…

Windows10 Mysql主从配置

一、安装Mysql1&#xff0e;本地首先需要搭建一套mysql&#xff0c;可以使用集成环境。2&#xff0e;需要单独在搭建mysql&#xff0c;用来做主从复制3&#xff0e;解压安装包 [mysql-5.6.24-win32.1432006610.zip]4&#xff0e;配置 mysql环境变量 ( 修改PATH&#xff0c;添加…

log4j按日期和文件大小拆分

log4j按日期和文件大小拆分一、需求二、log4j配置文件三、重写 FileAppender 和 GregorianCalendar四、使用一、需求 我们需要一个日志切面来进行记录系统操作的日志 这个日志文件的文件名是需要以 yyyyMMdd.log 样的格式来进行Append 在Append的过程中 如果文件大小满足了配置…