作为一名软件测试工程师,我相信大部分的人都和Linux打过交道,因为我们的服务器一般都是装的Linux操作系统,包括各种云服务器也都是用的Linux,目前主流是CentOS7,那么对于一个测试工程师来说,我们需要掌握哪些命令呢?我将我了解到的命令列举一下,仅供大家参考:
1、简述Apache两种工作模式,以及它们之间的区别。
答:(1)prefork MPM使用多个子进程,每个子进程只有一个线程来处理一个http请求,直到这个TCP连接被释放。root主进程在最初建立startserver个子进程后,等待1秒钟,创建2个进程,再等待1秒钟,再创建4个进程,直到满足最小空闲进程的数量,这就是预派生的由来。这种模式可以不必在请求到来时再产生新的进程,从而提高了访问效率。
(2)worker模式使用多个子进程,每个子进程负责接收请求,该进程下多个线程来处理请求。由于线程之间共享地址空间,所以内存消耗小,而且资源利用率高,但是一个线程的崩溃会牵连到其他线程,所以一个程序在运行时必须被系统识别为每个线程都是安全的。
(3)woker和prefork的切换,cd /usr/sbin ,mv httpd httpd.prefork,mv httpd.worker httpd,service http restart
2、用iptables添加一个规则允许192.168.0.123访问本机3306端口
iptables -I INPUT -p tcp -s 192.168.0.123 -d 127.0.0.1 --dport 3306 -j ACCEPT
3、如何对一台Linux服务器进行系统性能调优,列举出参数。
答:主机的存活状态、系统负载值、CPU的使用率、磁盘IO量,swap进出量,网络流量,数据库的主从复制状态、LVS+keepalived的VIP。
4, DNS服务器的工作原理。
答:首先客户机的应用进程将待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是因为它无连接,开销小),本地域名服务器查看缓存是否对对应域名和IP地址的映射关系,如果有,直接返回IP地址给主机,如果没有,就将向转发器发出查询请求,转发器是网络上的DNS服务器,目的是提高解析效率,如果连转发器也没有的话,就进行递归解析,转发报文从根域名服务器-顶级域名服务器-二级域名服务器等一直找到完整的域名后,进行反向回溯给交本地域名服务器,缓存后再由本地域名服务器将对应的IP地址放在应答报文中,从而主机得到IP地址即可通信。
5、修改第一块网卡的路径是什么。
/etc/sysconfig/network-scripts/ifcfg-eth 0
6、 简述I节点是什么,并说出Linux 文件系统通过i 节点把文件的逻辑结构和物理结构转换的工作过程?
答:I节点是一个多级索引的数据结构,它的基本思想是给每个文件赋予一张成为I节点的小表,在这张小表中列出了文件属性以及文件各数据块中在磁盘中的地址。那么它的工作工程:当需要访问文件时,内核查看文件目录项找到对象的文件名和I节点号,那么再通过这个I节点号来找磁盘的地址,实现逻辑结构和物理结构的转换,返回给数据给用户显示。
7、使用shell,建立classl用户组,再批量建立stu 1--stu30的用户,并指定用户组为
classl。
答:vi yonghu.sh
#!/bin/bash
groupadd class1
for((i=1;i<=30;i=i+1))
do
useradd stu$i -G class1
done
8、日常监控都需要监控哪些?
1)硬件:CPU:cat /proc/cpuinfo,内存: cat /proc/meminfo,硬盘:fdisk -l(dmesg是用来查看硬件信息的)
2)系统:负载:cat /proc/loadavg, uptime查看实时load average、swap,虚拟内存:vmstat(参数一s; 2 4),vmstat 5 5(表示在5秒时间内进行5次采样)。
系统日志:tail -f /var/log/messages
logwatch一print一range Today一service SSHD一service pam_unix
3)网络:Host_ Alive,Ping,端口,连接
9、如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
答:#iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.16.1--dport
80 -j REDIRECT --to-port 8080
10、包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?
答:①包过滤防火墙工作在网络协议IP层,它只对IP包的源地址、目标地址及相应端口进行处理,因此速度比较快,能够处理的并发连接比较多,缺点是对应用层的攻击无能为力。②应用代理防火墙将收到的IP包解封装成高层协议的通讯数据,比如http连接信息,因此能够对基于高层协议的攻击进行拦截。缺点是处理速度比较慢,能够处理的并发数比较少。事实上还有状态监测防火墙(ip_conntrack):状态监测防火墙是在当今企业中部署最为常见的。他们建立在基于防火墙保持每个活动连接状态信息的包过滤上。当有一个新的包到达防火墙时,过滤机制首先检查这个包是否是当前活动连接(前面已经授权过的)的一部分。只有当这个包没有出现在当前的活动连接列表里时,防火墙才会以它的规则库评估这个包。状态监测防火墙之所以如此常见是因为:它们是效率最高、性价比最高的防火墙,并且广泛适用于保护网络的边界。ASA、PIX、firewall
11、iptables是否支持time时间控制用户行为,如有请写出具体操作步骤
iptables -A INPUT -p ICMP --icmp-type 8 -m time --timestart 00:00:00 --timestop 23:59:59 --weekdays Mon -j DROP
限制在每个星期一的0点0分0秒到23点59分59秒这个时间段内,所有icmp协议报文的应答都会拒绝,
12、Linux常见打包工具并写相应解压缩参数?
答:①用tar调用bzip2将file1,file2,file3生成压缩包
tar -jcvf file.tar.bz2 file{1,2,3} 解压:tar -jxvf file.tar.bz2
②用tar调用gzip将file1,file2,file3生成压缩包
tar -zcvf file.tar.gz file{1,2,3} 解压:tar -zxvf file.tar.gz
③.用tar调用xz将file1,file2,file3生成压缩包
tar -Jcvf file.tar.xz file{1,2,3} 解压:tar -Jxvf file.tar.xz
13、当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本地dns还没有缓存。
答:a.用户输入网址到浏览器
b.浏览器发出DNS请求报文
c.计算机首先查询本机HOSTS文件,看是否存在,存在直接返回结果,不存在,继续转发请求报文
d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果,
e.合法dns返回dns结果给本地dns,管理该域的本地dns服务器缓存本结果,直到缓存时间过期,才再次查询此结果。
14、DNS什么使用TCP,什么时候使用UDP,为什么这么设计?
答:DNS在区域复制的使用TCP,因为主域名服务器传输数据到辅助域名服务器,必须得保证我们传输的数据是可靠的,是没有差错的;那么在浏览器发出DNS请求报文的时候使用UDP,原因是为了减少它的开销,无连接,把这个数据包扔了就走,什么都不用管。
15、请解释FTP控制连接的工作模式?
答:①在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的TCP 21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令(用来告诉服务器连接它的哪个新端口)。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
②在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式(此端口是空闲的、可用的)。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。