Linux 服务管理: service| systemctl,top,netstat

命令:

systemctl  [start | stop | restart | reload | status] 服务名  

telnet ip 端口    检查linux端口是否运行正常

ping ip   查看网络是否通

setup   查看有哪些服务

/etc/init.d/ 下面也可以查看有哪些服务在运行

chkconfig --list       查看所有服务各个运行级别下自动运行状态

chkconfig --list | grep xxx   查看某个服务的各个运行级别下自动运行状态

chkconfig 服务名  --list    查看某个服务的各个运行级别下自动运行状态

chkconfig --level 5  服务名 on/off   打开或者关闭某个运行级别下的某个服务

chkconfig 服务名   on/off     所有运行级别下的这服务都关闭或者打开

top [选项]

top -d 10

top -i

top -p

netstat [选项]

natstat -anp

一、服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。【原理图】

二、service管理指令:
service 服务名 [start | stop | restart | reload | status]   在CentOS7.0后 不再使用service ,而是 systemctl

使用案例:
1) 查看当前防火墙的状况,关闭防火墙和重启防火墙

CentOS7.0指令:systemctl  [start | stop | restart | reload | status] 服务名

细节讨论:
1) 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]


2) 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
3) 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令,马上讲。

三、查看服务名:

方式1:使用setup -> 系统服务 就可以看到。


方式2: /etc/init.d/服务名称

四、服务的运行级别(runlevel):

查看或者修改默认级别: vi /etc/inittab 

Linux系统有7种运行级别(runlevel):常用的是级别3和5
• 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
• 运行级别2:多用户状态(没有NFS),不支持网络
• 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4:系统未使用,保留
• 运行级别5:X11控制台,登陆后进入图形GUI模式
• 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明

一个思考题
如果不小心将默认的运行级别设置成 0 或者 7 ,怎么处理?
进入单用户模式,修改成正常的即可。。。

五、chkconfig指令

介绍
通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
• 基本语法
1) 查看服务 chkconfig --list|grep xxx 


2) chkconfig 服务名 --list 


3) chkconfig --level 5 服务名 on/off    不写参数--level就关闭所有的

应用实例:
1) 案例1: 请显示当前系统所有服务的各个运行级别的运行状态

 chkconfig --list
2) 案例2 :请查看sshd服务的运行状态

systemctl status sshd
3) 案例3: 将sshd 服务在运行级别5下设置为不自动启动,看看有什么效果?

chkconfig --level 5 sshd off
4) 案例4: 当运行级别为5时,关闭防火墙。

chkconfig --level 5 firewalld off
5) 案例5: 在所有运行级别下,关闭防火墙

chkconfig firewalld off
6) 案例6: 在所有运行级别下,开启防火墙

chkconfig firewalld on

六、动态监控进程

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
基本语法:
top [选项]

交互操作说明:

案例1.监视特定用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名,即可


案例2:终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程ID号


案例3:指定系统状态更新的时间(每隔10秒自动更新):

top -d 10

七、监控网络状态

查看系统网络情况netstat

基本语法
netstat [选项]
• 选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
• 应用案例
请查看服务名为 sshd 的服务的信息。

检测主机连接命令ping:
是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间
的介质是否为断、网线是否脱落或网卡故障。
如: ping 对方ip地址

查看服务端口等命令

netstat(network status网络状态)命令各个参数说明如下:

-t:指明显示TCP端口,t是TCP的首字母。

-u:指明显示UDP端口,u是UDP的首字母

-l:仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序),l是listening的首字母。

-p:显示进程标识符和程序名称,每一个套接字/端口都属于一个程序,p是program的首字母。

-n:不进行DNS轮询,显示IP(可以加速操作),n是numeric的首字母,以数字形式显示地址和端口号。

-a:显示所有连接和侦听端口,a是all的首字母。

-o:显示拥有的每个连接关联的进程id,o是own的首字母。

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 80   //查看所有80端口使用情况·

netstat -an | grep 3306   //查看所有3306端口使用情况·

查看一台服务器上面哪些服务及端口

netstat  -lanp

查看一个服务有几个端口。比如要查看mysqld

ps -ef |grep mysqld

查看某一端口的连接数量,比如3306端口

netstat -pnt |grep :3306 |wc

查看某一端口的连接客户端IP 比如3306端口

netstat -anp |grep 3306

netstat -an 查看网络端口 
 
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 
 
nmap 端口扫描
netstat -nupl  (UDP类型的端口)
netstat -ntpl  (TCP类型的端口)
netstat -anp 显示系统端口使用情况


lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描
netstat -nupl  (UDP类型的端口)
netstat -ntpl  (TCP类型的端口)
netstat -anp 显示系统端口使用情况

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描
netstat -nupl  (UDP类型的端口)
netstat -ntpl  (TCP类型的端口)
netstat -anp 显示系统端口使用情况
netstat -ano后,出现如下画面,如图所示:

查询的有协议(Proto)、本地地址(Local Address)、外部地址(Foregin Address)、状态(State)、PID(进程标识符)

Local Address:访问端口的方式,0.0.0.0 是对外开放端口,说明80端口外面可以访问;127.0.0.1 说明只能对本机访问,外面访问不了此端口;

Foregin Address:对外开放,一般都为0.0.0.0:* 

PID:此端口是那个进程在用,进程挂载此端口

State有如下状态:

CLOSED:初始(无连接)状态。

LISTENING:侦听状态,等待远程机器的连接请求。

SYN_SEND:在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。(SYN:synchronous 同步,ACK:acknowledgement 确认)

SYN_RECV:在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。(RECV:receiver 收到)

ESTABLISHED (建立):完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

FIN_WAIT_1:在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。(FIN:finish 结束)

FIN_WAIT_2:在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

TIME_WAIT:在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

CLOSING:在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

CLOSE_WAIT:在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

LAST_ACK:在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

主动连接端可能的状态有:CLOSED        SYN_SEND        ESTABLISHED。

主动关闭端可能的状态有:FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。

被动连接端可能的状态有:LISTEN        SYN_RECV        ESTABLISHED。

被动关闭端可能的状态有:CLOSE_WAIT        LAST_ACK        CLOSED。

重点说明

0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口

127.0.0.1 只能对本机 localhost访问,也是保护此端口安全性

::: 这三个: 的前两个”::“,是“0:0:0:0:0:0:0:0”的缩写,相当于IPv6的“0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值