IP地址分配以及工具tcpdump与vmstat的使用。

一、IP地址的划分
大家都知道的IP地址分配的几个标准类:A,B,C,D,E.
A:前1位0. 网络地址0-127 子网掩码:255.0.0.0
B:前2位10 网络地址128-191 子网掩码:255.255.0.0
C:前3位110 网络地址192-223 子网掩码:255.255.255.0
D:前4位1110 网络地址224-239
E:科研保留使用.
但由于IP的资源不足,为了充分利用IP资源.就产生了新的技术将标准类的IP地址再次划分.根据实际需求,相应实现多网络地址(CIDR)或者多主机的地址(VLMS).
100.0.0.16/28 算出对应网段的网关地址、广播地址、可分配IP地址范围.
根据掩码28位. 32-28=4. 用4位二进制数表示主机号.所以2^4=16-2=14.可分配14个有效IP地址.
4位二进制全1情况下算出网络地址为.100.0.0.16/28 广播地址为:100.0.0.31/28
可分配IP地址为100.0.0.17/28–100.0.0.18/28–100.0.0.19/28至100.0.0.30/28之间的全部地址.

二、tcpdump的使用
dump the traffic on a network。抓包工具。
a)命令选项:
-a 将网络地址和广播地址转变成名字
-A 以ASCII格式打印出所有分组,并将链路层的头最小化
-b 数据链路层上选择协议,包括ip/arp/rarp/ipx都在这一层
-c 指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump
-d 将匹配信息包的代码以人们能够理解的汇编格式输出
-dd 将匹配信息包的代码以c语言程序段的格式输出
-ddd 将匹配信息包的代码以十进制的形式输出
-D 打印系统中所有可以监控的网络接口
-e 在输出行打印出数据链路层的头部信息
-f 将外部的Internet地址以数字的形式打印出来,即不显示主机名
-F 从指定的文件中读取表达式,忽略其他的表达式
-i 指定监听网络接口
-l 使标准输出变为缓冲形式,可以数据导出到文件
-L 列出网络接口已知的数据链路
-n 不把网络地址转换为名字
-nn 不进行端口名称的转换
-P 不将网络接口设置为混杂模式
-q 快速输出,即只输出较少的协议信息
-r 从指定的文件中读取数据,一般是-w保存的文件
-w 将捕获到的信息保存到文件中,不分析且不输出屏幕
-s 从每个组中读取在开始的snaplen个字节,而不是默认的68个字节
-S 将tcp的序列号以绝对值形式输出,而不是相对值
-T 将监听到的包直接解析为指定的类型的报文,常见的类型有rpc和snmp
-t 在输出的每一行不打印时间戳
-tt 在每一行中输出非格式化的时间戳
-ttt 输出本行和前面以后之间的时间差
-tttt 在每一行中输出data处理的默认格式的时间戳
-u 输出未解码的NFS句柄
-v ,-vv 输出详细的信息。
b) 关键字及条件过滤
数据类型:host、port、net、默认为host。指明数据的类型。
传输方向:src、dst、dst and src。指明数据的传输方向。
协议:ip、tcp、upd等
过滤条件关键字:
与(and、&&)、 或(or、||)、非(not、!)

使用示例:

tcpdump  -i p4p1 
	监听指定网络接口p4p1的所有传输数据包
tcpdump -i ens33  host 192.168.1.15  
	捕获主机192.168.1.15经过本机网卡ens33的所有数据包

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

tcpdump host 192.168.1.15  and (192.168.1.16 or 192.168.1.17)
	截获192.168.1.15 主机和192.168.1.16或者192.168.1.17主机进行通信的所有数据包

tcpdump net 192.168.1.0/24
	截获192.168.1.0/24整个网络的数据包

tcpdump -i eth0 src host 192.168.1.15 
	监视eth0网卡上源地址是192.168.1.15 的所有网络包

tcpdump -i eth0 dst host 192.168.1.15 
	监视eth0网卡上目的地址是192.168.1.15 的所有网络包

tcpdump tcp port 23 and host 192.168.1.15 
	获取主机192.168.1.15 上端口为23的应用发出和接收的所有TCP协议包

tcpdump udp port 22
	获取本机22端口发出和接收的所有UDP协议包

tcpdump src host 10.126.1.222 and dst net 10.126.1.0/24
	截获源主地址为10.126.1.222,目的地址是10.126.1.0/24整个网络

tcpdump -i eth0 -s0 -G 60 -Z root -w %Y_%m%d_%H%M_%S.pcap
	抓取报文后按照指定时间间隔保存;-G选项后面接时间,单位为秒;上述命令就是每隔60秒生成一个文件。

tcpdump -i eth0 -s0 -C 1 -Z root -w ens33Packet.pcap
	抓取报文后按照指定报文大小保存;-C选项后接文件大小,单位为MB;上述命令就是每抓包文件达到1MB时就使用一个新的文件保存新抓的报文

三、僵尸进程产生的原因以及危害

一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下称为僵尸的进程,等待父进程为其收尸。如果他的父进程没安装SIGCHLD信号处理函数调用wait或waitpid()等待子进程结束,又没有显示忽略该信号,那么它就一直保持僵尸状态。如果这时父进程结束了,那么init进程自动会接手这个子进程,成为该进程的父进程为它收尸,即彻底结束该进程。但是如果如果父进程是一个循环,不会结束,那么子进程就会一直保持僵尸状态。
僵尸进程是非常特殊进程,状态为"z",它已经放弃了所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。由于系统所能使用的进程号是有限的,所以如果产生大量僵尸进程,将因为没有可用的进程号而导致系统不能产生新的进程。进而无法正常提供服务。

四、详细说明vmstat输出结果的含义
IP地址分配以及工具tcpdump与vmstat的使用。_第1张图片
命令:

vmstat 1 5
    一秒钟刷新一次,刷新5次。

procs:进程
r 处于运行队列中的内核进程数。
b 等待资源(io)的进程数。

memory:内存
swpd 可用虚拟交换内存大小
free 空闲的内存大小
buff 已缓冲内存大小
cache 已缓存的内存大小

swap:交换分区
si 从磁盘到内存的交换页数目 单位 /s
so 从内存到磁盘的交换页数目 单位 /s

io:输入输出
bi 每秒读取块数量
bo 每秒写入快数量

system:系统
in 每秒CPU的中断次数,包括时钟中断
cs 每秒上下文切换数

cpu:处理器
us 用户进程运行时间百分比
sy 内核进程运行时间百分比
id 空闲时间百分比
wa I/O等待时间百分比
st 虚拟机偷走的时间百分比

你可能感兴趣的:(linux基础知识梳理)