``内容补充:判断服务状态
systemctl 命令
系统控制管理命令工具
常用指令
1、启动
systemctl start 程序名
若要启动多个程序名,使用空格隔开,下同
2、重启:类似主机先断电再启动的一个状态
systemctl restart 程序名
3、停止
systemctl stop 程序名
4、重载:类似程序在运行状态重新加载该程序相关的配置文件信息,程序一直在运行状态
systemctl reload 程序名
5、开机自启用:自动启用,会创建一个软连接如下图
systemctl enable 程序名
例:启动postfix服务并且开始自动启用
方法一:
[root@localhost ~]# systemctl start postfix
[root@localhost ~]# systemctl enable postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
方法二
注:这条命令等于上面两条命令之和
[root@localhost ~]# systemctl enable postfix --now
6、开机不启动
systemctl disable 程序名
7、查看状态信息
systemctl is-active 程序名
存在该服务显示active,不存在则显示inactive
systemctl status 程序名
查看服务的运行状态
查看chronyd是否启动
# 方法一
[root@localhost ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-03-26 21:35:20 CST; 38min ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 920 (chronyd)
Tasks: 1 (limit: 10756)
Memory: 3.2M
CPU: 35ms
CGroup: /system.slice/chronyd.service
└─920 /usr/sbin/chronyd -F 2
Mar 26 21:35:19 localhost systemd[1]: Starting NTP client/server...
Mar 26 21:35:20 localhost chronyd[920]: chronyd version 4.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
Mar 26 21:35:20 localhost chronyd[920]: Frequency -5.342 +/- 0.831 ppm read from /var/lib/chrony/drift
Mar 26 21:35:20 localhost chronyd[920]: Using right/UTC timezone to obtain leap second data
Mar 26 21:35:20 localhost chronyd[920]: Loaded seccomp filter (level 2)
Mar 26 21:35:20 localhost systemd[1]: Started NTP client/server.
# 方法二
[root@localhost ~]# ps -aux | grep chronyd
chrony 920 0.0 0.1 10376 2236 ? S 21:35 0:00 /usr/sbin/chronyd -F 2
root 3383 0.0 0.1 221796 2148 pts/1 S+ 22:14 0:00 grep --color=auto chronyd
# 方法三,常用于查看某一个端口的程序是否运行
[root@localhost ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1069 root 3u IPv4 24676 0t0 TCP *:ssh (LISTEN)
sshd 1069 root 4u IPv6 24685 0t0 TCP *:ssh (LISTEN)
sshd 3139 root 4u IPv4 34378 0t0 TCP localhost.localdomain:ssh->192.168.126.1:58392 (ESTABLISHED)
sshd 3171 root 4u IPv4 34378 0t0 TCP localhost.localdomain:ssh->192.168.126.1:58392 (ESTABLISHED)
#方法四,查看网络监听的状态信息
ss | netstat -tunalp | grep 程序名
lsof
1、列出所有打开的文件:
lsof
备注:
如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位2、查看谁正在使用某个文件
lsof /filepath/file
3、递归查看某个目录的文件信息
lsof +D /filepath/filepath2/
备注: 使用了+D,对应目录下的所有子目录和文件都会被列出
4、遍历查看某个目录的所有文件信息 的方法
lsof | grep
‘/filepath/filepath2/’5、列出某个用户打开的文件信息
lsof -u username
备注: -u 选项,u其实是user的缩写
6、列出某个程序所打开的文件信息
lsof -c mysql
备注: -c
选项将会列出所有以mysql开头的程序的文件,其实你也可以写成lsof | grep mysql,但是第一种方法明显比第二种方法要少打几个字符了
7、列出多个程序多打开的文件信息
lsof -c mysql -c apache
8、列出某个用户以及某个程序所打开的文件信息
lsof -u test -c mysql
9、列出除了某个用户外的被打开的文件信息
lsof -u ^root
备注:^这个符号在用户名之前,将会把是root用户打开的进程不让显示
10、通过某个进程号显示该进行打开的文件
lsof -p 1
11、列出多个进程号对应的文件信息
lsof -p 123,456,789
12、列出除了某个进程号,其他进程号所打开的文件信息
lsof -p ^1
13 . 列出所有的网络连接
lsof -i14、列出所有tcp
网络连接信息
lsof -i tcp
15、列出所有udp网络连接信息
lsof -i udp16、列出谁在使用某个端口
lsof -i:3306
17、列出谁在使用某个特定的udp端口
lsof -i udp:55
特定的tcp端口
lsof -i tcp:80
18、列出某个用户的所有活跃的网络端口
lsof -a -u test -i19、列出所有网络文件系统
lsof -N
20、域名socket文件
lsof -u
21、某个用户组所打开的文件信息
lsof -g 5555
22、根据文件描述列出对应的文件信息
lsof -d description(like 2)
23、根据文件描述范围列出文件信息
lsof -d 2-3
查看网络监听的状态信息
netstat
命令参数
-r:–route,显示路由表信息
-g:–groups,显示多重广播功能群组组员名单
-s:–statistics,按照每个协议来分类进行统计。默认的显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6 的统计信息。
-M:–masquerade,显示网络内存的集群池统计信息
-v:–verbose,命令显示每个运行中的基于公共数据链路接口的设备驱动程序的统计信息
-W:–wide,不截断IP地址
-n:进制使用域名解析功能。链接以数字形式展示(IP地址),而不是通过主机名或域名形式展示
-N:–symbolic,解析硬件名称
-e:–extend,显示额外信息
-p:–programs,与链接相关程序名和进程的PID
-t:所有的 tcp 协议的端口
-x:所有的 unix 协议的端口
-u:所有的 udp 协议的端口
-o:–timers,显示计时器
-c:–continuous,每隔一个固定时间,执行netstat命令
-l:–listening,显示所有监听的端口
-a:–all,显示所有链接和监听端口
-F:–fib,显示转发信息库(默认)
-C:–cache,显示路由缓存而不是FIB
-Z:–context,显示套接字的SELinux安全上下文
例:
常用 [root@localhost ~]# netstat -tunpl
ss 可以说ss是netstat工具的一个升级版,查询效率要比netstat效率高,且所查看的状态信息会更详细
安装抓包软件 wireshark
1、装包
[root@localhost ~]# yum install postfix
2、打开wireshark
[root@localhost ~]# wireshark
选择ens160,双击打开
wireshark
1、装包
[root@localhost ~]# yum install postfix
2、打开wireshark
[root@localhost ~]# wireshark
[外链图片转存中…(img-RmecKUKE-1711465400070)]
选择ens160,双击打开
[外链图片转存中…(img-cBH6rAgu-1711465400070)]