一、linux基础
1)linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令?
2)如何查找在/home/work/log/路径下,修改时间在3天以前的文件,并将这些文件mv到/home/work/log/backup下?
3)操作系统中,父进程需要传输一份1KB的数据给子进程,有几种方法可以实现?并请给出一种方法的代码实现(语言不限)?
4)需要抓取eth1网卡上从127.10.32.5发到本机8080端口的数据包,请列举你能想到的工具或者方法?并给出一个具体的方法的实现(详细命令或者代码)?
二、系统/网络
给一台服务器安装linux操作系统,请回答在安装和使用过程中遇到的一些问题:
1)服务器有6块600G的SAS磁盘,通过阵列卡做RAID5,请问实际操作系统可使用的空间是多大?
2)网络管理员告诉我们这台服务器使用10.0.0.128/26段中的第一个地址,网关是这段地址中的最后一个地址。请列出机器的IP地址、子网掩码和网关。
3)服务器交付业务方使用后,使用netstat命令发现有大量的time_wait连接,请简述time_wait连接存在的原因。
4)简述TCP建立连接的过程;运维中经常nmap进行端口扫描,描述nmap进行TCP扫描的原理。
5)Zmap是一个号称44分钟可以扫遍全球公网机器端口。结合TCP三次握手原理和系统编程知识,简述类似产品的设计思想,并尝试描述你的实现。
三、开发/安全
1)http keep-alive的作用是什么,有什么优缺点?
2)简述cookie的作用,以及http cookie和session的区别和联系
3)对于cookie劫持攻击,给出至少两种防御方案
4)xss攻击中,给出一个窃取用户浏览器cookie的xss-payload
5)xss问题产生的本质是什么,并阐述防御方案
6)编码实现一个简单的http server,至少支持GET请求解析和响应,编程语言不限