1、查看当前系统每IP连接数
netstat -n | awk '/^tcp/{print $5}'
2、shell下32位随机生成密码
cat /dev/urandom | head -1 | md5sum | head -c 32
3、在1-39内生成随机数
echo $[$RANDOM%39]
4、统计apache.log中访问最多的5个 ip (-c 查看次数)
cat access_log | awk '{print $1}' | sort | uniq -c| head -5
5、ps aux 中的栏目信息代表什么
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
6、linux 开机启动顺序
加载BIOS -> 读取MBR -> Grub启动引导 -> 内核引导 -> 系统初始化 -> 启动终端
7、软链接和硬链接的区别
软链接理解为:快捷方式
硬链接理解为:同步更新加cp -p
8、测试磁盘的读写速度
hdparm -t --direct /dev/sda
9、冲突域和广播域的区别
冲突域:同一物理网段上所有节点的集合
广播域:接收同样广播消息节点的集合
10、DDOS攻击原理,以及防范方法
原理:向受害主机发送大量的看似合法的网络数据包,从而造成网络堵塞或资源耗尽导致拒绝服务。
流量攻击:大量的攻击导致网络宽带被堵塞,合法网络被虚假的攻击淹没而无法达到主机
资源消耗:通过大量的攻击导致主机内存被耗尽或者内核程序占完造成无法提供网络服务
11、ARP欺骗和ARP攻击原理,以及被攻击后的对应方法
制造大量假的arp应答,发给局域网中其他主机,其中包含网关的IP和攻击目标主机的MAC地址,冒充网关
当主机收到ARP应答更新ARP表后,就无法和网关正常通信,导致无法访问到互联网。
防范:1)主机绑定网关路由的IP和MAC地址
2)使用ARP防火墙,自行抵御ARP欺骗和ARP攻击
12、网络排错用到的四个命令以及解析
1)ping ##检测两台主机联通性
2)traceroute ##路由跟踪
3)nslookup ##检测网络中DNS服务
4)tcpdump ##数据包分析
5)ifconfig ##查看网络配置情况
6)route ##查看路由表情况
13、编译内核的意义以及步骤
意义:支持更多的硬件,具备更好的进程管理能力,能发现并修复更多的漏洞。
步骤:下载官方新的内核 → 安装新的内核
一、WEB响应过程
1)输入URL:www.baidu.com
2)DNS域名解析:域名与IP映射
3)建立TCP链接:TCP三次握手
4)发送HTTP Request:请求
5)处理并相应请求:关闭TCP链接
6)用户浏览器:渲染相应页面
二、DNS解析过程
1)浏览器先查缓存,若缓存中有域名对应的IP地址,则解析结束
2)若没有寻找本地的hosts文件
3)把域名发送给LDNS(cat /etc/resolv.conf:即本地的DNS)
4)若没有,直接提交给域名解析服务器请求解析
5)从根域开始 → 一级域 → 二级域 → 三级域 ......
6)查找并返回此域名对应的Name Server域名服务器
7)Name Server 返回IP记录和缓存时间
8)LDNS缓存该记录,把解析结果返回给用户,本地保留一份缓存记录。解析结束
三、三次握手、四次挥手以及相关的状态机制
三次握手:client 发送 SYN 包给 server,进入 SYN_SENT 状态
server 收到 SYN 包确认 client 的包并发送 SYN+ACK 包,进入SYN_RECV状态
client 收到回复 server 发送 ACK 包,双方进入 ESTABLSHED状态
四次挥手:cilent 发送一个 FIN 用来 closed server 数据发送
server 收到 FIN 发回一个 ACK 确认序列号
server 关闭 cilent 链接,发送 FIN
cilent 关闭链接,并将确认序列号 ACK 发送给 server
四、riad0、1、5、10的区别
riad0:两块磁盘、没有冗余、速度快
riad1:偶数块容量相同的磁盘构成、提成冗余
riad5:三块以上容量相同磁盘构成,容错功能好,数度快
riad10:至少四块磁盘、数据丢失率最小、拥有与raid1的冗余性
五、mysql相关存储引擎以及特性
1)Myisam:不支持事物和外键,访问速度快
2)Innodb:具有提交、回滚和崩溃恢复能力
3)Memory:
4)Merge:
5)Ndb:
六、虚拟化技术/软件
虚拟化技术:
1)以实现层次来分:硬件虚拟化、操作系统虚拟化、应用程序虚拟化
2)根据虚拟化程度划分:软件虚拟化、软件半虚拟化、硬件辅助虚拟化
3)按照虚拟化层次分为:程序虚拟化、系统级虚拟化
虚拟化软件:
1)RedHat KVM:完全虚拟化
2)VMware ESX:完全虚拟化
3)Cirix XenServer:半虚拟化、全虚拟化、硬件辅助虚拟化
4)Microsoft Hyper-V:半虚拟化
七、常用监控软件优缺点对比
nagios
优点:监控很多协议、邮件和短信通知、服务抖动检测
缺点:只能在终端配置、基于文件的配置方式、不方便拓展、管理耗时、易读性差
zabbix
优点:数据库存储、分布式功能完整、监控模块化、报警等功能全面
缺点:没有服务器抖动检测、安装配置较为繁琐
cacti
优点:图形化非常完善、可以方便观察到历史数据
缺点:报警机制不完善
八、流行的自动化管理工具
Ansible:并发能力强、配置简单、功能强大、扩展性强
Saltstack:需要安装客户端
九、CDN原理
CND(内容分发式网络):通过现有的Internet中增加一层新的网络架构,
将网站内容发布到最接近用户的网络”边缘“,使其用户能够就近获取到所需的内容,
解决Internet网络拥堵状况,提高用户访问网站的响应速度。
十、Nginx、LVS、HAproxy对比
Nginx
优点:
1、工作在网络7层之上,可针对http应用做分流策略,比HAproxy更灵活强大
2、对网络稳定性的依赖非产小(LVS对网络稳定依赖比较大)
3、nginx安装配置简单,测试方便(LVS配置测试难度大)
4、可做反向代理加速器
5、第三方模块多,可作为静态网页和图片服务器
缺点:
1、仅能支持http、https和Email协议
2、对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测
LVS
优点:
1、工作稳定抗负载能力强,工作在四层子上,对内存和CPU资源消耗比较低
2、无流量,LVS只分发请求;应用范围广
3、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat
缺点:
1、不能做动静分离
HAproxy
特点:
1、同时支持通过获取指定的url来检测后端服务器的状态
2、单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的
十一、常见的防火墙类型
静态包过滤防火墙(无状态组防火墙):进行过滤数据流的传输
电路级防火墙(二代):主要功能作为TCP中继
应用级防火墙(三代):功能是在建立链接之前,基于应用层对数据进行验证(比如:用户密码和服务请求)
动态包防火墙(四代/状态):工作在OSI3、4、5层上,通过本地的状态监控表,用来追踪流量的各种信息
十三、Tomcat工作模式?
Tomcat是一个JSP/Servlet容器。其作为Servlet容器
有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:
Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;
Tomcat作为独立服务器:请求来自于web浏览器;
十四、什么是静态路由和动态路由?
静态路由:适用于网关有限的场合,且网络拓扑结构不经常变化的网络;缺点是不能动态适用于网络状况的变化
(route add -net 192.168.122.0 netmask 255.255.255.0 gw 192.168.122.1)
动态路由:可以自动学习网络拓扑结构,更新路由表;缺点路由广播更新信息占据大量的网络宽带
(route add default gw 192.18.122.1)
一、用脚本:批量创建用户,批量删除用户
批量创建
[root@manager ~]# cat uadd.sh
#!/bin/bash
for i in {1..5}
do
#原始密码“66668888”
pass=66668888
useradd user$i
echo $pass | passwd user$i --stdin
#用户登录立即修改密码 ”chane -d 0“
chage -d 0 user$i
echo "创建了$i用户!"
done
批量删除
[root@manager ~]# cat udel.sh
#!/bin/bash
for i in {1..5}
do
userdel -r user$i
sed -i /^user/d /etc/passwd
sed -i /^user/d /etc/group
echo "成功删除user$i用户!"
done
二、写脚本判断 192.168.122.0网段存活的IP
[root@manager ~]# cat live.sh
#!/bin/bash
ip="192.168.122"
for i in {1..254}
do
ping -c 2 $ip.$i &>/dev/null
if [ $? -ne 0 ]
then
echo "存活的IP:$ip.$i" >> /tmp/living.txt
else
echo "不存在的IP:$ip.$i" >> /tmp/nolive.txt
fi
done
未完待续 …