【面试题系列】运维知识常识
本教程将总结近期运维方面的常识性知识
一、网络部分
1.网络模型
OSI七层模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP 5层模型
应用层、传输层、网络层、数据链路层、物理层
TCP/IP 4层模型
应用层、传输层、网络层、物理层
2.IP地址分类
根据第一个字节分类
A类地址0---127单播地址B类地址128---191单播地址C类地址192----223单播地址D类地址224---239组播地址 (一般用于电子广播屏幕)E类地址240---255保留地址 (一般用于军工或科研)
根据应用范围分类
- 私网
IP范围A类:10.0.0.0-------10.255.255.255B类:172.16.0.0 -------- 172.31.255.255C类:192.168.0.0 -------- 192.168.255.255
3.典型的几个协议,并且这些协议在OSI七层模型中哪一层
应用层
http超文本传输协议、https带加密的超文本传输协议、DNS域名解析协议、FTP文件传输协议、dhcp动态主机配置协议、smtp简单邮件传输协议、pop3邮局协议、imap4网络消息访问协议、snmp简单网络管理协议
传输层
TCP面向连接的传输协议、UDP用户数据报协议(它是无连接的)
网络层
IP互联网协议、ARP地址解析协议、RARP逆向地址解析协议、ICMP互联网控制消息协议、IGMP组播协议
4.常见的几个服务端口(可能总结不全面,欢迎补充)
基于TCP端口
- http
80/TCP(http3协议基于UDP) - https
443/TCP - FTP
20/TCP(传输数据)21/TCP(建立连接) - ssh
22/TCP - telnet
23/TCP - VNC
5900/TCP - smtp
25/TCP - smtps
465/TCP(带加密的邮件传输) - NFS
2049/TCP - MySQL
3306/TCP - RDP
3389/TCP(Windows远程桌面) - tomcat
8080/TCP - PHP
9000/TCP - PostgreSQL
5432/TCP - Redis
6379/TCP - MongoDB
27017/TCP
基于UDP端口
- http3
80/UDP - DNS
53/UDP - DHCP
67/UDP - NTP
123/UDP - SNMP
161/UDP
5.TCP与UDP的区别
A.区别
TCP面向连接、可靠的协议
UDP无连接、不可靠的协议
B.TCP建立三次连接的过程
SYN、SYN+ACK、ACK
关于TCP建立三次连接的详细教程:https://www.wsjj.top/archives/52
C.TCP四次断开的过程
FIN+ACK、ACK、FIN+ACK、ACK
关于TCP四次断开的详细教程:https://www.wsjj.top/archives/52
6.Linux系统查看主机网络参数几个命令
查看IP地址
以下命令均依赖
net-tools软件包
# ifconfig
# ip address
查看网关
# route -n
# ip route
查看DNS服务器地址
# cat /etc/resolv.conf
7.Linux主机添加静态路由
添加静态路由之前,应该修改内核参数,开启路由转发功能
临时开启路由转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward
永久开启路由转发功能:vi /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p
临时添加静态路由
# route add -net 目的网段 gw 网关/下一跳地址
# route add -net 192.168.1.0/24 gw 172.16.1.1
永久添加静态路由
把上面的命令,添加到
/etc/rc.d/rc.local,并且赋予执行权限
8.tcpdump抓包工具
使用方法
# tcpdump -i 网卡名称 -nn 条件
:例1:抓取ping包的数据
ping基于ICMP协议设计
# tcpdump -i ens33 -nn icmp
例2:抓取80端口的数据
# tcpdump -i ens33 -nn port 80
例3:抓取主机192.168.1.1发送到服务器80端口的数据
# tcpdump -i ens33 -nn port 80 and host 192.168.1.1
9.查看端口
查看端口(TCP和UDP)
# netstat -tunlp
查看所有TCP连接
# netstat -antp
二、系统管理方面
1.Linux系统启动过程(BIOS引导)
BIOS加电自检- 读取硬盘
MBR中的系统引导程序 - 加载
grub - 加载内核
- 系统初始化
- 运行
login登录程序,等待用户登录
2.查看系统发行版本
# cat /etc/redhat-release
# cat /etc/os-release
3.查看Linux内核版本
# uname -r
# uname -a
4.软连接、硬链接的区别
软连接
- 可以为文件、目录创建
- 可跨分区创建
- 源文件删除,链接文件失效
硬链接
- 只能为文件创建
- 不可跨分区
- 源文件删除、链接文件可正常访问
5.查看系统运行状态
CPU
# lscpu //查看CPU型号、核数
# top //查看CPU使用率、平均负载
# uptime //查看CPU平均负载
# mpstat //动态查看CPU使用率
内存Memory
# free -m //查看内存容量
# vmstat //动态查看内存使用情况
硬盘disk
# df -hT // 查看磁盘容量使用情况
# df -i // 查看磁盘inode
# iostat // 查看磁盘IO
网卡network
# sar -n DEV //查看网卡流量
6.CPU使用率、CPU负载的区别
CPU使用率
指在程序运行期间,所消耗的
CPU百分比
CPU负载
单位时间内,
CPU所运行的进程的总计量
7.TOP命令的使用
TOP命令交互按键
M按内存使用率排序显示进程P按CPU使用率排序显示进程1显示所有CPU使用率,默认s是平均值k杀死进程
8.find查找文件
关于
find使用详细教程:https://www.wsjj.top/archives/37
A.按文件名称查找
# find / -name "*.conf"
# find / -iname "*.log" //忽略大小写
B.按创建时间查找
# find / -ctime +2
C.按修改时间查找
# find / -mtime +2
D.多条件查找
# find / -name "*.conf " -a -mtime +2
# find / -name "*.log" -o -ctime -1
E.执行操作
# find / -name "*.conf" -exec cp {} /tmp \;
# find / -ctime +10 -exec rm -rf {} \;
9.grep过滤的使用
关于
grep命令详细教程:https://www.wsjj.top/archives/39
# grep "条件" 文件名称
# grep "error" /var/log/messages
常用参数说明
-i忽略大小写-e多条件查找-n显示行号
10.计划任务
关于计划任务详细教程:https://www.wsjj.top/archives/57
示例1: 每周三下午5点半
30 17 * * 3
示例2: 8—20点每隔3小时
0 8-20/3 * * *
示例3: 每周一、三、五晚上10点
0 22 * * 1,3,5
评论