1、100.0.0.16/28 对应网段的网关地址、广播地址、可分配IP地址范围
可用地址: | 14 | |||
---|---|---|---|---|
掩码: | 255 | 255 | 255 | 240 |
网络: | 100 | 0 | 0 | 16 |
第一个可用地址: | 100 | 0 | 0 | 17 |
最后可用地址: | 100 | 0 | 0 | 31 |
广播地址: | 100 | 0 | 0 | 31 |
2、使用man手册学习tcpdump的使用
tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
【 语法格式 】
tcpdump [option] [expression]
tcpdump [选项] [表达式]
参数选项 | 解释说明(带※的为重点) |
---|---|
-A | 以ASCII码的方式显示每一个数据包(不会显示数据包中链路层的头部信息)。在抓取包含网页数据的数据包时,可方便查看数据 |
-c | 接收到指定的数据包数目后退出命令 ※ |
-e | 每行的打印输出中将包括数据包的数据链路层头部信息 |
-i<网络接口> | 指定要监听数据包的网络接口 ※ |
-n | 不进行DNS解析,加快显示速度 |
-nn | 不将协议和端口数字等转换成名字 ※ |
-q | 以快速输出的方式运行,此选项仅显示数据包的协议概要信息,输出信息较短 ※ |
-s<数据包大小> | 设置数据包抓取长度,如果不设置则默认为68字节,设置为0则自动选择合适的长度来抓取数据包 |
-t | 在每行输出信息中不显示时间戳标记 |
-tt | 在每行输出信息中显示无格式的时间戳标记 |
-ttt | 显示当前行与前一行的延迟 |
-tttt | 在每行打印的时间戳之前添加日期 |
-ttttt | 显示当前行与第一行的延迟 |
-v | 显示命令执行的详细信息 |
-vv | 显示比-v选项更加详细的信息 |
-vvvv | 显示比-vv选项更加详细的输出 |
实例
命令 | 解释 |
---|---|
tcpdump | 默认直接启动tcpdum监视第一个网络接口 |
tcpdump -i th1 | 如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,这里指定th1 |
tcpdump -q | 精减显示信息 |
tcpmdump -c 5 | 使用-c选定指定监听的数据包数量 |
tcpdump - n host 10.0.0.1 | 不进行dns解析, 截获10.0.0.1的主机收到和发出的所有数据包 |
tcpdump host sundown | 打印所有进入或离开sundown的数据包 |
tcpdump -n src host 10.0.0.1 | 只监听从10.0.0.1发出的数据包 |
tcpdump -n src host 10.0.0.1 | 只监听从10.0.0.1发出的数据包 |
tcpdump -n dst host 10.0.0.1 | 只监听从10.0.0.1收到的数据包 |
tcpdump -nn port 22 | 不进行协议转换监听指定端口的数据包 |
tcpdump -n arp | 监听指定协议的数据包(ip、icmp、tcp、udp) |
tcpdump udp port 123 | 对本机的udp 123 端口进行监视 123 为ntp的服务端口 |
tcpdump host helios and ( hot or ace ) | 打印helios 与 hot 或者与 ace 之间通信的数据包 |
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 ) | 截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信 |
tcpdump ip host ace and not helios | 打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包 |
tcpdump ip host 210.27.48.1 and ! 210.27.48.2 | 210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包 |
获取主机10.0.0.1与所有主机(除主机10.0.0.10外)通信的ip数据包,简单显示并指定数据包数量
[root@CTS6 ~]# tcpdump -nq -c 5 host 10.0.0.1 and ! 10.0.0.10
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:23:01.284629 IP 10.0.0.50.ssh > 10.0.0.1.10289: tcp 208
22:23:01.286481 IP 10.0.0.50.ssh > 10.0.0.1.10289: tcp 112
22:23:01.286709 IP 10.0.0.1.10289 > 10.0.0.50.ssh: tcp 0
22:23:01.290251 IP 10.0.0.50.ssh > 10.0.0.1.10289: tcp 176
22:23:01.293314 IP 10.0.0.50.ssh > 10.0.0.1.10289: tcp 112
5 packets captured
6 packets received by filter
0 packets dropped by kernel
3、详细叙述僵尸进程产生的原因以及危害
- 僵尸进程产生的原因:
在liunx系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。通过ps命令查看其带有defunct的标志。僵尸进程是一个早已死亡的进程,但在进程表 (processs table)中仍占了一个位置(slot)。
但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程。因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看看有没有哪个 进程是刚刚结束的这个进程的子进程,如果是的话,就由Init进程来接管他,成为他的父进程,从而保证每个进程都会有一个父进程。而Init进程会自动 wait其子进程,因此被Init接管的所有进程都不会变成僵尸进程。 - 僵尸进程的危害
在进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。但是仍然为其保留一定的信息(包括进程号 PID,退出状态 the termination status of the process,运行时间 the amount of CPU time taken by the process 等)。直到父进程通过 wait / waitpid 来取时才释放。
如果进程不调用 wait / waitpid 的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程。 - 如何处理僵尸进程
当系统中出现了僵尸进程时,我们是无法通过 kill 命令把它清除掉的。但是我们可以杀死它的父进程,让它变成孤儿进程,并进一步被系统中管理孤儿进程的进程收养并清理。
如果僵死进程的父进程是init进程,那只有重启系统才能解决。
4、详细说明vmstat输出结果的含义
vmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。
【 语法格式 】
vmstat [option] [delay [ count]] vmstat [选项] [时间间隔[次数]]
数选项 | 解释说明(带的为重点) |
---|---|
-a | 显示活跃和非活跃内存 |
-f | 显示从系统启动至今的fork进程数量 |
-m | 显示slab信息 |
-n | 只在开始时显示一次各字段名称 |
-s | 显示内存相关统计信息及多种系统活动数量 |
-d | 显示磁盘相关统计信息 |
-p | 显示指定磁盘分区统计信息 |
-S | 使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024byte) |
-t | 统计信息带上时间戳 |
不带参数仅显示一次退出
[root@benny~]#vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1244764 3232 426148 0 0 2 2 41 57 0 0 100 0 0
每三秒更新一次3次后停止
[root@benny~]#vmstat 3 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1244920 3232 426152 0 0 2 2 41 57 0 0 100 0 0
0 0 0 1244772 3232 426152 0 0 0 0 98 127 0 0 100 0 0
0 0 0 1244772 3232 426152 0 0 0 0 133 138 0 0 100 0 0