Skip to the content.

使用tcpdump抓取自动部署过程,tcpdump是一个简单的抓包工具, 抓包测试一下在部署一个操作系统中都发生了啥。

tcpdump参考资料:

测试使用自动部署过程中的dhcp和tftp服务器发生什么。。。

# 整个部署过程中67和69端口的情况:
[root@centos603 ~]# tcpdump -i eth1 port 67 or 69 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
# 0.0.0.0 代表新服务器,广播请求IP地址
23:33:44.488227 IP 0.0.0.0.bootpc > 255.255.255.255.bootps:
                BOOTP/DHCP, Request from 00:50:56:3b:f6:2b, length 548
# dhcp响应,提供IP地址,nextserver(tftp服务器)地址,pxelinux.0文件的位置
23:33:45.000848 IP 10.10.3.167.bootps > 255.255.255.255.bootpc:
                BOOTP/DHCP, Reply, length 300
# 客户端收到后,确认信息
23:33:46.574315 IP 0.0.0.0.bootpc > 255.255.255.255.bootps:
                BOOTP/DHCP, Request from 00:50:56:3b:f6:2b, length 548
# 服务器确认,保存配置
23:33:46.575219 IP 10.10.3.167.bootps > 255.255.255.255.bootpc:
                BOOTP/DHCP, Reply, length 300
# 到tftp服务器请求pxelinux.0
23:33:46.576115 IP 10.10.3.110.ah-esp-encap > 10.10.3.167.tftp:  
                28 RRQ "/pxelinux.0" octet tsize 0
23:33:46.577817 IP 10.10.3.110.acp-port > 10.10.3.167.tftp:
                33 RRQ "/pxelinux.0" octet blksize 1456
# 请求启动配置文件,分成各种角度请求(mac,ip地址,网段),最后使用default
23:33:46.661674 IP 10.10.3.110.49152 > 10.10.3.167.tftp:
                80 RRQ "/pxelinux.cfg/564d4617-634e-2ce8-4b8c-41c6e43bb44a"
                octet tsize 0 blksize 1408
23:33:46.664079 IP 10.10.3.110.49153 > 10.10.3.167.tftp:
                64 RRQ "/pxelinux.cfg/01-00-50-56-3b-f6-2b"
                octet tsize 0 blksize 1408
23:33:46.665523 IP 10.10.3.110.49154 > 10.10.3.167.tftp:
                52 RRQ "/pxelinux.cfg/0A0A036E" octet tsize 0 blksize 1408
23:33:46.666831 IP 10.10.3.110.49155 > 10.10.3.167.tftp:
                51 RRQ "/pxelinux.cfg/0A0A036" octet tsize 0 blksize 1408
23:33:46.668137 IP 10.10.3.110.49156 > 10.10.3.167.tftp:
                50 RRQ "/pxelinux.cfg/0A0A03" octet tsize 0 blksize 1408
23:33:46.669335 IP 10.10.3.110.49157 > 10.10.3.167.tftp:
                49 RRQ "/pxelinux.cfg/0A0A0" octet tsize 0 blksize 1408
23:33:46.670963 IP 10.10.3.110.49158 > 10.10.3.167.tftp:
                48 RRQ "/pxelinux.cfg/0A0A" octet tsize 0 blksize 1408
23:33:46.672498 IP 10.10.3.110.49159 > 10.10.3.167.tftp:
                47 RRQ "/pxelinux.cfg/0A0" octet tsize 0 blksize 1408
23:33:46.673930 IP 10.10.3.110.49160 > 10.10.3.167.tftp:
                46 RRQ "/pxelinux.cfg/0A" octet tsize 0 blksize 1408
23:33:46.675185 IP 10.10.3.110.49161 > 10.10.3.167.tftp:  
                45 RRQ "/pxelinux.cfg/0" octet tsize 0 blksize 1408
23:33:46.676840 IP 10.10.3.110.49162 > 10.10.3.167.tftp:
                51 RRQ "/pxelinux.cfg/default" octet tsize 0 blksize 1408
# 这里的客户端读取default的内容,注意 vmlinuz 和initrd.img两个文件是从tftp服务器
# 上得到的,而ks文件从http(或者nfs,ftp等)服务器上获取的。
23:33:46.678128 IP 10.10.3.110.49163 > 10.10.3.167.tftp:
                38 RRQ "/vmlinuz" octet tsize 0 blksize 1408
23:33:47.169991 IP 10.10.3.110.49164 > 10.10.3.167.tftp:  
                41 RRQ "/initrd.img" octet tsize 0 blksize 1408
# 开始自启动安装了。安装介质的位置在ks文件中指定了。

图示如下:

说明:

安装过程参考http://www.zyops.com/autoinstall-kickstart