1、 100.0.0.16/28 对应网段的网关地址、广播地址、可分配IP地址范围
IP地址转化为二进制:01100100 00000000 00000000 00010000
子网掩码:11111111 11111111 11111111 11110000
网络地址为: 01100100 00000000 00000000 00010000
IP范围:01100100 00000000 00000000 00010000-01100100 00000000 00000000 00011111
转化为十进制:100.0.0.16-100.0.0.31
网关地址:100.0.0.16
广播地址:100.0.0.31
IP地址范围:100.0.0.17-100.0.0.30
2、 使用man手册学习tcpdump的使用
NAME tcpdump - dump traffic on a network #抓取网络上的包 SYNOPSIS tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] [ -c count ] [ -C file_size ] [ -G rotate_seconds ] [ -F file ] [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ] [ --number ] [ -Q|-P in|out|inout ] [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -E spi@ipaddr algo:secret,... ] [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ] [ --time-stamp-precision=tstamp_precision ] [ --immediate-mode ] [ --version ] [ expression ] 1、指定端口抓包 -i [root@localhost ~]# tcpdump -i ens33 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 22:47:33.900935 IP localhost.localdomain.59499 > gateway.domain: 12932+ A? www.baidu.com. (31) 22:47:33.901060 IP localhost.localdomain.59499 > gateway.domain: 54414+ AAAA? www.baidu.com. (31) 22:47:33.901189 IP localhost.localdomain.52477 > gateway.domain: 12402+ A? . (34) 22:47:33.901287 IP localhost.localdomain.52477 > gateway.domain: 64121+ AAAA? . (34) 22:47:33.903088 IP localhost.localdomain.36358 > gateway.domain: 43071+ PTR? 2.2.168.192.in-addr.arpa. (42) 2、只抓10个包 tcpdump -i ens33 -c 10 [root@localhost ~]# tcpdump -c 10 -i ens33 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 22:49:23.146872 IP localhost.localdomain.56946 > gateway.domain: 36132+ A? . (34) 22:49:23.147031 IP localhost.localdomain.56946 > gateway.domain: 35127+ AAAA? . (34) 22:49:23.147297 IP localhost.localdomain.38626 > gateway.domain: 28615+ A? www.baidu.com. (31) 22:49:23.147406 IP localhost.localdomain.38626 > gateway.domain: 57804+ AAAA? www.baidu.com. (31) 22:49:23.150173 IP localhost.localdomain.34523 > gateway.domain: 31762+ PTR? 2.2.168.192.in-addr.arpa. (42) 22:49:23.150241 IP localhost.localdomain.58912 > 183.232.231.172.https: Flags [S], seq 663413922, win 29200, options [mss 1460,sackOK,TS val 590537 ecr 0,nop,wscale 7], length 0 22:49:23.150384 IP localhost.localdomain.36253 > gateway.domain: 53982+ A? www.baidu.com. (31) 22:49:23.152896 IP gateway.domain > localhost.localdomain.56946: 35127 1/1/0 CNAME . (131) 22:49:23.154942 IP gateway.domain > localhost.localdomain.38626: 57804 1/1/0 CNAME www.a.shifen.com. (115) 22:49:23.156571 IP gateway.domain > localhost.localdomain.56946: 36132 2/0/0 CNAME ., A 111.20.242.32 (84) 10 packets captured 371 packets received by filter 303 packets dropped by kernel 3、数字的方式显示 tcpdump -nn [root@localhost ~]# tcpdump -nn -i ens33 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 22:56:24.902263 IP 192.168.2.100.58968 > 183.232.231.172.443: Flags [.], ack 2676554439, win 59860, length 0 22:56:24.902707 IP 183.232.231.172.443 > 192.168.2.100.58968: Flags [.], ack 1, win 64240, length 0 22:56:25.032250 IP 192.168.2.100.55043 > 209.97.168.88.123: NTPv4, Client, length 48 22:56:25.092723 IP 192.168.2.100.58964 > 183.232.231.172.443: Flags [.], ack 141766852, win 64240, length 0 22:56:25.093706 IP 183.232.231.172.443 > 192.168.2.100.58964: Flags [.], ack 1, win 64240, length 0 22:56:25.232069 IP 209.97.168.88.123 > 192.168.2.100.55043: NTPv4, Server, length 48 22:56:29.104888 IP 192.168.2.100.34140 > 193.228.143.24.123: NTPv4, Client, length 48 22:56:29.546396 IP 193.228.143.24.123 > 192.168.2.100.34140: NTPv4, Server, length 48 4、显示报文的以太头 -e [root@localhost ~]# tcpdump -i ens33 -c 4 -e host www.baidu.com tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 23:05:41.780052 00:0c:29:12:e0:1e (oui Unknown) > 00:50:56:e6:bc:18 (oui Unknown), ethertype IPv4 (0x0800), length 74: localhost.localdomain.58994 > 183.232.231.172.https: Flags [S], seq 4281264146, win 29200, options [mss 1460,sackOK,TS val 1569167 ecr 0,nop,wscale 7], length 0 23:05:41.830814 00:50:56:e6:bc:18 (oui Unknown) > 00:0c:29:12:e0:1e (oui Unknown), ethertype IPv4 (0x0800), length 60: 183.232.231.172.https > localhost.localdomain.58994: Flags [S.], seq 3359722914, ack 4281264147, win 64240, options [mss 1460], length 0 23:05:41.830892 00:0c:29:12:e0:1e (oui Unknown) > 00:50:56:e6:bc:18 (oui Unknown), ethertype IPv4 (0x0800), length 54: localhost.localdomain.58994 > 183.232.231.172.https: Flags [.], ack 1, win 29200, length 0 23:05:41.831130 00:0c:29:12:e0:1e (oui Unknown) > 00:50:56:e6:bc:18 (oui Unknown), ethertype IPv4 (0x0800), length 571: localhost.localdomain.58994 > 183.232.231.172.https: Flags [P.], seq 1:518, ack 1, win 29200, length 517 4 packets captured 122 packets received by filter 55 packets dropped by kernel 5、只抓与某个主机交互的包 host 选项 [root@localhost ~]# tcpdump -i ens33 host www.baidu.com tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 23:12:40.353274 IP localhost.localdomain > 183.232.231.172: ICMP echo request, id 3763, seq 1, length 64 23:12:40.423969 IP 183.232.231.172 > localhost.localdomain: ICMP echo reply, id 3763, seq 1, length 64 23:12:50.433735 IP localhost.localdomain > 183.232.231.172: ICMP echo request, id 3763, seq 2, length 64 23:12:50.496038 IP 183.232.231.172 > localhost.localdomain: ICMP echo reply, id 3763, seq 2, length 64 23:12:51.436260 IP localhost.localdomain > 183.232.231.172: ICMP echo request, id 3763, seq 3, length 64 23:12:51.485216 IP 183.232.231.172 > localhost.localdomain: ICMP echo reply, id 3763, seq 3, length 64 6、只抓tcp报文,udp报文,http报文,https报文 tcpdump -i ens33 -c 4 tcp|udp|http|https 7、只抓指定tcp端口号,udp端口号的报文 tcpdump -i ens33 tcp port 80
3、 详细叙述僵尸进程产生的原因以及危害
1、什么是僵尸进程? 当子进程(child process)先于父进程(parent process)退出,但是父进程没有调用wait/waitpid回收子进程的资源,则子进程变成僵尸进程。 但是如果该进程的父进程已经结束,那该进程就不会变成僵尸进程,因为每个进程结束的时候,系统会扫描所有运行中的进程,看看有没有哪个进程是刚 刚结束的进程的子进程,如果有就由Init来接管他,成为他的父进程。 2、危害? 如果父进程不调用wait/waitpid,则子进程的保留信息不会被释放,造成内核资源的无法回收,同时进程号会一直被占用,系统所能使用的进程号是 有限的,大量地产生僵尸进程将会导致系统不能产生新的进程。 3、怎么避免僵尸进程? 防止的办法是当父进程fork一个子进程后,必须通过wait/waitpid等函数等待子进程结束,但这会导致父进程挂起,所以通常的做法是用signal函数为 SIGCHLD安装handler,在handler函数中调用wait/waitpid函数进行回收。
4、 详细说明vmstat输出结果的含义
1)vmstat命令: 用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况
2)用法
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
3)字段含义说明:
类别 | 项目 | 含义 | 说明 |
Procs(进程) | r | 等待执行的任务数 | 展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。 |
B | 等待IO的进程数量 | ||
Memory(内存) | swpd | 正在使用虚拟的内存大小,单位k | |
free | 空闲内存大小 | ||
buff | 已用的buff大小,对块设备的读写进行缓冲 | ||
cache | 已用的cache大小,文件系统的cache | ||
inact | 非活跃内存大小,即被标明可回收的内存,区别于free和active | 具体含义见:概念补充(当使用-a选项时显示) | |
active | 活跃的内存大小 | 具体含义见:概念补充(当使用-a选项时显示) | |
Swap | si | 每秒从交换区写入内存的大小(单位:kb/s) | |
so | 每秒从内存写到交换区的大小 | ||
IO | bi | 每秒读取的块数(读磁盘) | 现在的Linux版本块的大小为1024bytes |
bo | 每秒写入的块数(写磁盘) | ||
system | in | 每秒中断数,包括时钟中断 | 这两个值越大,会看到由内核消耗的cpu时间会越多 |
cs | 每秒上下文切换数 | ||
CPU(以百分比表示) | Us | 用户进程执行消耗cpu时间(user time) | us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了 |
Sy | 系统进程消耗cpu时间(system time) | sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。 | |
Id | 空闲时间(包括IO等待时间) | ||
wa | 等待IO时间 | Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。 |
















