1. 100.0.0.16/28 对应网段的网关地址、广播地址、可分配IP地址范围

网络地址是 100.0.0.16
广播地址是 100.0.0.31
可分配地址范围是 100.0.0.17–100.0.0.30

2. 使用man手册学习tcpdump的使用

tcpdump是用于转存网络上的数据流。
语法格式如下:
tcpdump [option…] [expression]
常用选项 	含义
-c 	接收指定数量数据包后退出
-i 	指定监听的网卡接口
-l 	标准输出
-n 	不将数字格式转换名字
几种关键字 	类型
host,port 	指定类型的关键字
src,dst,src or dst 	确定传输方向的关键字
tcp,udp,arp,ip 	指定协议的关键字
gateway,broadcast 	其他关键字
支持的运算符 	含义
and (&&) 	与运算
or (||) 	或运算
not (!) 	非运算
> 	大于
< 	小于
= 	等于
>> 	右移
<< 	左移
proto[x:y] 	过滤从x字节开始的y字节数
示例 	用途
tcpdump -i eth1 	监视eth1接口
tcpdump host 210.27.48.1 	截获所有210.27.48.1 的主机收到的和发出的所有的数据包
tcpdump -i eth0 src host webserver 	截获主机webserver发送的所有数据
tcpdump -i eth0 dst host webserver 	监视所有发送到主机webserver的数据包
tcpdump tcp port 23 and host 210.27.48.1 	获取主机210.27.48.1接收或发出的telnet包
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap 	
tcpdump -i eth1 ‘((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))’ 	抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数
tcpdump -i eth1 ‘((icmp) and ((ether dst host 00:01:02:03:04:05)))’ 	抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
tcpdump -i eth1 ‘((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))’ 	抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 ‘ip[0] & 0x0f > 5’ 	同tcpdump -i eth1 ‘ip[0] & 15 > 5’
tcpdump -i eth1 ‘((ip[6:2] > 0) and (not ip[6] = 64))’ 	匹配分片和最后分片
tcpdump -i eth1 ‘tcp[tcpflags] = tcp-syn’ 	只抓SYN包
tcpdump -i eth1 ‘((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))’ 	抓取数据区开始为"MAIL"的包,"MAIL"的十六进制为0x4d41494c。其中>>是右移运算符

3. 详细叙述僵尸进程产生的原因以及危害

僵死进程产生的原因是:父子进程关系中,子进程退出后不会马上消失,而是留下了包含PID等信息的数据结构,然后向父进程发送SIGCHILD信号通知父进程处理,但是父进程由于某种原因并没有处理,导致子进程一直处于僵死状态。
僵死进程的危害:僵死进程不能使用kill命令来终止,因为僵死进程被认为是已经结束的进程。由于僵死进程占用了PID等系统资源,过多的僵死进程将导致系统没有PID可用,进而系统无法再产生新的子进程。
僵死进程的解决办法:杀掉产生僵死进程的父进程。如果僵死进程的父进程是init进程,那只有重启系统才能解决。此方法能解决僵死进程是由于父进程被杀掉后,它下面的子进程就变成了孤儿进程,最后被init进程接收。
关于僵死进程和孤儿进程:僵死进程是子进程生命终结后,父进程把它遗忘掉了,没有替他收尸,于是就成了僵死。孤儿进程是父进程老来得子还没有等到给子进程收尸,自己就挂了,于是就产生了孤儿进程。

4. 详细说明vmstat输出结果的含义

vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 608648 2208 311776 0 0 10 3 33 34 0 0 100 0 0```

procs部分 含义 r 可运行进程的个数,与核心数有关 b 处于不可中断睡眠进程的个数(被阻塞队列的长度) memory部分(单位KB) 含义 swpd 交换内存的使用总量 free 空闲物理内存总量 buffer 用于buffer的内存总量 cache 用于cache的内存总量 swap部分 含义 si 从磁盘交换进内存的数据速率(KB/s) so 从内存交换至磁盘的数据速率(KB/s) io部分 含义 bi 从块设备读入到系统的数据速率 bo 保存数据到块设备的速率 system部分 含义 in 中断速率,包括时钟 cs context switch 进程切换速率 cpu部分 含义 us 用户进程消耗的CPU时间百分比 sy 内核进程消耗的CPU时间百分比 id 空闲时间百分比 ,Linux 2.5.41前,包括IO-wait time. wa IO等待消耗的CPU时间百分比 st 虚拟机消耗的CPU时间百分比 ,2.6.11前此项是unknown