网络及系统进程管理相关学习

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

网络地址:28位掩码:11111111 11111111 11111111 11110000 :255.255.255.240

00010000   100.0.0.16为子网之一,即为网络地址

广播地址: 00011111  100.0.0.31

可分配地址范围是 100.0.0.17–100.0.0.30

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

tcpdump - dump traffic on a network

tcpdump 采用命令行方式对接口的数据包进行筛选抓取

命令格式

tcpdump [ -DenNqvX ] [ -c count ] [ -Ffile] [ -i interface ] [ -rfile ] [ -s snaplen ] [ -wfile ] [ expression ]

常用选项:

tcp 、ip、icmp、arp、rarp、tcp、udp这些选项等都要放到第一个参数的位置,用来过滤数据的类型

-A:以ASCII编码显示包内容,对于抓取web页面非常友好。

-D:列出当前系统可用于抓包的网络接口和序号。

-i eth0:指定监听的网卡接口,只抓指定的接口eth0的数据包

-t:不显示时间戳

-K:不验证IP、TCP、UDP的校验和。

-s 0:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包

-c 100:接收指定数量数据包后退出,只抓取指定的100个数据包

dst port ! 22:不抓取目标端口是22的数据包

src net 192.168.1.0/24:数据包的源网络地址为192.168.1.0/24

-w file:将结果写入文件,而不是打印到标准输出

-l 标准输出

-n:以数字方式显示主机地址。-nn:以数字方式显示端口号。

-v:输出详细信息。-vv:更详细的信息。-vvv:特别详细的信息。

-XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。


支持的运算符

and (&&)        与运算

or (||)              或运算

not (!)             非运算

>                     大于

<                     小于

=                      等于

>>                    右移

<<                    左移

proto[x:y]         过滤从x字节开始的y字节数

示例

tcpdump -i eth1 监视eth1接口

tcpdump -c 10 net 192.168 监视指定网络的数据包,如本机与192.168网段通信的数据包,"-c 10"表示只抓取10个包

tcpdump -c5-nn -i eth0 icmp 抓取ping包

tcpdump host hostname 截获所有hostname 的主机收到的和发出的所有的数据包

tcpdump -i eth0 src host webserver 截获主机webserver发送的所有数据

tcpdump -i eth0 dst host webserver 监视所有发送到主机webserver的数据包

tcpdump -c10 -nn -i eth0 tcp dst port 22 抓取到本机22端口包

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

(1)什么是僵尸进程

当子进程(child process)先于父进程(parent process)退出,但是父进程没有调用wait/waitpid回收子进程的资源,则子进程变成僵尸进程。但是如果该进程的父进程已经结束,那该进程就不会变成僵尸进程,因为每个进程结束的时候,系统会扫描所有运行中的进程,看看有没有哪个进程是刚刚结束的子进程,如果有就由init来接管它,成为它的父进程。

(2)危害

如果父进程不调用wait/waitpid,则子进程的保留信息不回被释放,造成资源的无法回收,同时进程号会一直被占用,系统所能使用的进程号是有限的,大量的产生僵尸进程将会导致系统不能产生新的进程。

(3)怎么避免僵尸进程

防止的办法是合理的程序流程设计,当父进程fork一个子进程后,必须通过wait/waitpid等函数等待子进程结束,但这会导致父进程挂起,所以通常的做法使用signal函数为SIGCHLD安装handler,在handler函数中调用wait/waitpid函数进行回收

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

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                                      空闲时间百分比 

wa                                    IO等待消耗的CPU时间百分比

st                                      虚拟机消耗的CPU时间百分比 

你可能感兴趣的:(网络及系统进程管理相关学习)