系统监控+流量监控+抓包分析
Linux
服务器系统资源+公网流量实时监控
以下命令安装方式:
Linux:yum install xxx
MacOS:brew install xxx
系统资源类监控命令
实时监控系统的硬件资源信息,如:
CPU
、内存、硬盘、NFS
等相关信息推荐:
htop
htop
可查看:
/PIDCPU/内存/服务启动时间/服务启动路径/启动参数
free
实时查看:内存使用/剩余/可用量
[root@h156 ~]# free -h
total used free shared buff/cache available
Mem: 15G 5.0G 2.7G 22M 7.8G 10G
Swap: 0B 0B 0B
lsblk
查看所有硬盘大小即使用率
[root@h156 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 150G 0 disk
└─vda1 253:1 0 150G 0 part /
df
查看硬盘使用/剩余/可用率、挂载信息
[root@h156 ~]# df -H
Filesystem Size Used Avail Use% Mounted on
devtmpfs 8.4G 0 8.4G 0% /dev
tmpfs 8.4G 0 8.4G 0% /dev/shm
tmpfs 8.4G 1.4M 8.4G 1% /run
tmpfs 8.4G 0 8.4G 0% /sys/fs/cgroup
/dev/vda1 159G 103G 50G 68% /
tmpfs 1.7G 0 1.7G 0% /run/user/0
overlay 159G 103G 50G 68% /var/lib/docker/overlay2/a87b68445e855be0f52e5d1/merged
shm 68M 0 68M 0% /var/lib/docker/containers/714e57ddcde574253263bad8/mounts/shm
overlay 159G 103G 50G 68% /var/lib/docker/overlay2/86e632de3f6f7c9fc2f4d84c0da4/merged
shm 68M 0 68M 0% /var/lib/docker/containers/3d6e5b9dc632b1ae864b2d50750f4b99e0/mounts/shm
overlay 159G 103G 50G 68% /var/lib/docker/overlay2/8c202ed12d8077fe27c47/merged
du
计算指定目录/文件的大小,不指定文件/目录默认计算当前目录下所有
-s 仅显示每个参数的总计
-h 人性化方式显示,默认自带后缀单位(K/M/G)
# 计算当前目录下所有
[root@h156 ~]# du -sh
4.8G .
# 计算指定目录大小
[root@h156 ~]# du -sh /var/log
4.2G /var/log
# 计算指定文件大小
[root@h156 ~]# du -sh packages/nginx-1.16.1.tar.gz
1012K packages/nginx-1.16.1.tar.gz
mount
查看已挂载目录/文件信息
MacBook-Pro:~ Peng$ mount
/dev/disk1s5s1 on / (apfs, sealed, local, read-only, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s4 on /System/Volumes/VM (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk1s2 on /System/Volumes/Preboot (apfs, local, journaled, nobrowse)
/dev/disk1s6 on /System/Volumes/Update (apfs, local, journaled, nobrowse)
/dev/disk1s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse)
map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)
网络流量类监控
针对于某些应用户服务在后台实时消耗流量,直接定位到该消耗流量的应用名或端口号,方便定位问题。
推荐
nethogs
nethogs
可以显示进程的
PID
和name
及其对应的进出流量
命令用法:
#5秒刷新一次数据
nethogs -d 5
#监控网卡eth0数据
nethogs eth0
#同时监视eth0和eth1接口
nethogs eth0 eth1
#将监控日志写入日志文件
nethogs >>test.log
ifconfig
RX
:累计接收流量:(304.8 MiB)
TX
:累计发送流量:(1010.3 MiB)
[root@h169 ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.29.46.54 netmask 255.255.252.0 broadcast 10.29.47.255
ether 00:16:3e:1c:ac:c4 txqueuelen 1000 (Ethernet)
RX packets 1124181 bytes 319702713 (304.8 MiB) # 累计接收流量
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 792698 bytes 1059472478 (1010.3 MiB) # 累计发送流量
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
iptraf
图形化界面,输入
iptraf-ng
回车,选择General interface statistics
即通用接口统计,即可查看实时流量消耗大小命令行输入:
iptraf
回车
iftop
常用参数:
-bBnN
可以看到服务器与每个ip、端口的通信数据量
# 界面说明:
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
# 参数说明
-i 设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n 使host信息默认直接都显示IP,如:# iftop -n
-N 使端口信息默认直接都显示端口号,如: # iftop -N
-F 显示特定网段的进出流量,如# iftop -F 172.30.1.0/24或# iftop -F 172.30.1.0/255.255.255.0
-h 帮助,显示参数信息
-p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b 使流量图形条默认就显示;
-f 这个暂时还不太会用,过滤计算包用的;
-P 使host信息及端口信息默认就都显示;
-m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
# 输入命令查看
[root@h156 ~]# iftop -bBnN -i eth1 -P
nload
以文字图形的方式显示当前实时流量
命令行输入:
nload -m
回车
nmon
可以显示系统
CPU
、网络、内存、磁盘等信息输入:
nmon
回车会让你继续按下按键选择对应功能
-
主界面
-
CPU
-
内存
-
网络
tcpdump抓包
常用选项
-i #监听哪一个网卡 any为所有网卡
-n #不把ip解析成主机名
-nn #不把端口解析成应用层协议
-c #指定抓包的数量
-S #不把随机序列和确认序列解析成绝对值
-w #将流量保存到文件中,文件中的信息是无法直接查看的
-r #读取文件中的内容
-v #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv #输出详细的报文信息
抓包解释
# Flags标识符
[S] # SYN(开始连接)
[P] # PSH(推送数据)
[F] # FIN(结束连接)
[R] # RST(重置连接)
[.] # 可以用来表示ACK标志位1
# 输出内容结构
时间
协议
发送方IP+端口号
数据流向
接收方IP+端口号
冒号
数据包内容:包含Flags标识符,seq号,ack号,win窗口,数据长度length
基础案例
以
Docker
部署的应用为例,进行如下方式测试
# 过滤出ip、端口
[root@h11 tcpdump]# docker exec -it ehu-c2c bash -c "hostname -I"
192.168.1.1
[root@h11 tcpdump]# netstat -lntp | grep 40042
tcp 0 0 0.0.0.0:40042 0.0.0.0:* LISTEN 21930/docker-proxy
默认启动
tcpdump -vv #普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包
指定Host
tcpdump -i eth1 host 192.168.1.1 #抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据
tcpdump -i eth1 src host 192.168.1.1 #指定源地址,192.168.1.1
tcpdump -i eth1 dst host 192.168.1.1 #指定目的地址,192.168.1.1
指定Port
tcpdump -i eth1 port 40042 #抓取所有经过eth1,目的或源端口是80的网络数据
tcpdump -i eth1 src port 40042 #指定源端口
tcpdump -i eth1 dst port 40042 #指定目的端口
指定协议
tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 icmp
指定协议端口
tcpdump -i eth0 tcp port 21 -nn # 协议+端口
表达式
! or not # 非
&& or and # 且
|| or or # 或
# 抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'
# 抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据
tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'
# 抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
高级案例
下面给出一些具体的例子,每个例子都可以使用多种方法来获得相同的输出,你使用的方法取决于所需的输出和网络上的流量。我们在排障时,通常只想获取自己想要的内容,可以通过过滤器和 ASCII 输出并结合管道与 grep、cut、awk 等工具来实现此目的
提取 HTTP 用户代理
-
从 HTTP 请求头中提取 HTTP 用户代理:
tcpdump -nn -A -s1500 -l | grep "User-Agent:"
-
通过 egrep 可以同时提取用户代理和主机名(或其他头文件):
tcpdump -nn -A -s1500 -l | egrep -i 'User-Agent:|Host:'
只抓取 HTTP GET 和 POST 流量
PS:该方法不能保证抓取到
HTTP POST
有效数据流量,因为一个POST
请求会被分割为多个TCP
数据包下述两个表达式中的十六进制将会与
GET
和POST
请求的ASCII
字符串匹配。例如,tcp[((tcp[12:1] & 0xf0) >> 2):4]
首先会确定我们感兴趣的字节的位置(在TCP header
之后),然后选择我们希望匹配的4
个字节
-
抓取 HTTP GET 流量:
tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
-
也可以抓取 HTTP POST 请求流量:
tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'
提取 HTTP 请求的 URL
-
提取 HTTP 请求的主机名和路径:
tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:" # 输出内容: tcpdump: listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes POST /wp-login.php HTTP/1.1 Host: dev.example.com GET /wp-login.php HTTP/1.1 Host: dev.example.com GET /favicon.ico HTTP/1.1 Host: dev.example.com GET / HTTP/1.1 Host: dev.example.com
提取 HTTP POST 请求中的密码
-
从
HTTP POST
请求中提取密码和主机名:tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:" # 输出内容: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes 11:25:54.799014 IP 10.10.1.30.39224 > 10.10.1.125.80: Flags [P.], seq 1458768667:1458770008, ack 2440130792, win 704, options [nop,nop,TS val 461552632 ecr 208900561], length 1341: HTTP: POST /wp-login.php HTTP/1.1 .....s..POST /wp-login.php HTTP/1.1 Host: dev.example.com .....s..log=admin&pwd=notmypassword&wp-submit=Log+In&redirect_to=http%3A%2F%2Fdev.example.com%2Fwp-admin%2F&testcookie=1
提取 Cookies
-
提取
Set-Cookie
(服务端的Cookie
)和Cookie
(客户端的Cookie
):tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:' # 输出内容: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlp58s0, link-type EN10MB (Ethernet), capture size 262144 bytes Host: dev.example.com Cookie: wordpress_86be02xxxxxxxxxxxxxxxxxxxc43=admin%7C152xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxfb3e15c744fdd6; _ga=GA1.2.21343434343421934; _gid=GA1.2.927343434349426; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_86be654654645645645654645653fc43=admin%7C15275102testtesttesttestab7a61e; wp-settings-time-1=1527337439
抓取 ICMP 数据包
-
查看网络上的所有
ICMP
数据包:tcpdump -n icmp # 输出内容: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes 11:34:21.590380 IP 10.10.1.217 > 10.10.1.30: ICMP echo request, id 27948, seq 1, length 64 11:34:21.590434 IP 10.10.1.30 > 10.10.1.217: ICMP echo reply, id 27948, seq 1, length 64 11:34:27.680307 IP 10.10.1.159 > 10.10.1.1: ICMP 10.10.1.189 udp port 59619 unreachable, length 115
抓取非 ECHO/REPLY 类型的 ICMP 数据包
-
通过排除
echo
和reply
类型的数据包使抓取到的数据包不包括标准的ping
包:tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply' # 输出内容: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes 11:37:04.041037 IP 10.10.1.189 > 10.10.1.20: ICMP 10.10.1.189 udp port 36078 unreachable, length 156
抓取 SMTP/POP3 协议的邮件
-
可以提取电子邮件的正文和其他数据。例如,只提取电子邮件的收件人:
tcpdump -nn -l port 25 | grep -i 'MAIL FROM\|RCPT TO'
抓取 NTP 服务的查询和响应
tcpdump dst port 123
# 输出内容:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:02:19.112502 IP test33.ntp > 199.30.140.74.ntp: NTPv4, Client, length 48
21:02:19.113888 IP 216.239.35.0.ntp > test33.ntp: NTPv4, Server, length 48
21:02:20.150347 IP test33.ntp > 216.239.35.0.ntp: NTPv4, Client, length 48
21:02:20.150991 IP 216.239.35.0.ntp > test33.ntp: NTPv4, Server, length 48
抓取 SNMP 服务的查询和响应
-
通过
SNMP
服务,渗透测试人员可以获取大量的设备和系统信息。在这些信息中,系统信息最为关键,如操作系统版本、内核版本等。使用SNMP
协议快速扫描程序onesixtyone
,可以看到目标系统的信息:onesixtyone 10.10.1.10 public # 输出内容: Scanning 1 hosts, 1 communities 10.10.1.10 [public] Linux test33 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64
-
可以通过
tcpdump
抓取GetRequest
和GetResponse
:tcpdump -n -s0 port 161 and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlp58s0, link-type EN10MB (Ethernet), capture size 262144 bytes 23:39:13.725522 IP 10.10.1.159.36826 > 10.10.1.20.161: GetRequest(28) .1.3.6.1.2.1.1.1.0 23:39:13.728789 IP 10.10.1.20.161 > 10.10.1.159.36826: GetResponse(109) .1.3.6.1.2.1.1.1.0="Linux testmachine 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64"
切割 pcap 文件
当抓取大量数据并写入文件时,可以自动切割为多个大小相同的文件。例如,下面的命令表示每
3600
秒创建一个新文件capture-(hour).pcap
,每个文件大小不超过200*1000000
字节;PS:这些文件的命名为
capture-{1-24}.pcap
,24
小时之后,之前的文件就会被覆盖
tcpdump -w /tmp/capture-%H.pcap -G 3600 -C 200
抓取 IPv6 流量
-
可以通过过滤器 ip6 来抓取 IPv6 流量,同时可以指定协议如 TCP:
tcpdump -nn ip6 proto 6
-
从之前保存的文件中读取 IPv6 UDP 数据报文:
tcpdump -nr ipv6-test.pcap ip6 proto 17
检测端口扫描
在下面的例子中,你会发现抓取到的报文的源和目的一直不变,且带有标志位
[S]
和[R]
,它们与一系列看似随机的目标端口进行匹配。当发送SYN
之后,如果目标主机的端口没有打开,就会返回一个RESET
。这是Nmap
等端口扫描工具的标准做法。
tcpdump -nn
# 输出内容:
21:46:19.693601 IP 10.10.1.10.60460 > 10.10.1.199.5432: Flags [S], seq 116466344, win 29200, options [mss 1460,sackOK,TS val 3547090332 ecr 0,nop,wscale 7], length 0
21:46:19.693626 IP 10.10.1.10.35470 > 10.10.1.199.513: Flags [S], seq 3400074709, win 29200, options [mss 1460,sackOK,TS val 3547090332 ecr 0,nop,wscale 7], length 0
21:46:19.693762 IP 10.10.1.10.44244 > 10.10.1.199.389: Flags [S], seq 2214070267, win 29200, options [mss 1460,sackOK,TS val 3547090333 ecr 0,nop,wscale 7], length 0
21:46:19.693772 IP 10.10.1.199.389 > 10.10.1.10.44244: Flags [R.], seq 0, ack 2214070268, win 0, length 0
21:46:19.693783 IP 10.10.1.10.35172 > 10.10.1.199.1433: Flags [S], seq 2358257571, win 29200, options [mss 1460,sackOK,TS val 3547090333 ecr 0,nop,wscale 7], length 0
21:46:19.693826 IP 10.10.1.10.33022 > 10.10.1.199.49153: Flags [S], seq 2406028551, win 29200, options [mss 1460,sackOK,TS val 3547090333 ecr 0,nop,wscale 7], length 0
21:46:19.695567 IP 10.10.1.10.55130 > 10.10.1.199.49154: Flags [S], seq 3230403372, win 29200, options [mss 1460,sackOK,TS val 3547090334 ecr 0,nop,wscale 7], length 0
21:46:19.695590 IP 10.10.1.199.49154 > 10.10.1.10.55130: Flags [R.], seq 0, ack 3230403373, win 0, length 0
21:46:19.695608 IP 10.10.1.10.33460 > 10.10.1.199.49152: Flags [S], seq 3289070068, win 29200, options [mss 1460,sackOK,TS val 3547090335 ecr 0,nop,wscale 7], length 0
21:46:19.695622 IP 10.10.1.199.49152 > 10.10.1.10.33460: Flags [R.], seq 0, ack 3289070069, win 0, length 0
21:46:19.695637 IP 10.10.1.10.34940 > 10.10.1.199.1029: Flags [S], seq 140319147, win 29200, options [mss 1460,sackOK,TS val 3547090335 ecr 0,nop,wscale 7], length 0
21:46:19.695650 IP 10.10.1.199.1029 > 10.10.1.10.34940: Flags [R.], seq 0, ack 140319148, win 0, length 0
21:46:19.695664 IP 10.10.1.10.45648 > 10.10.1.199.5060: Flags [S], seq 2203629201, win 29200, options [mss 1460,sackOK,TS val 3547090335 ecr 0,nop,wscale 7], length 0
21:46:19.695775 IP 10.10.1.10.49028 > 10.10.1.199.2000: Flags [S], seq 635990431, win 29200, options [mss 1460,sackOK,TS val 3547090335 ecr 0,nop,wscale 7], length 0
21:46:19.695790 IP 10.10.1.199.2000 > 10.10.1.10.49028: Flags [R.], seq 0, ack 635990432, win 0, length 0
过滤 Nmap NSE 脚本测试结果
本例中 Nmap NSE 测试脚本 http-enum.nse 用来检测 HTTP 服务的合法 URL。
-
在执行脚本测试的主机上:
nmap -p 80 --script=http-enum.nse targetip
-
在目标主机上:
tcpdump -nn port 80 | grep "GET /" # 输出内容: GET /w3perl/ HTTP/1.1 GET /w-agora/ HTTP/1.1 GET /way-board/ HTTP/1.1 GET /web800fo/ HTTP/1.1 GET /webaccess/ HTTP/1.1 GET /webadmin/ HTTP/1.1 GET /webAdmin/ HTTP/1.1
抓取 DNS 请求和响应
向
DNS
发起的出站DNS
请求和A
记录响应可以通过tcpdump
抓取到:
tcpdump -i wlp58s0 -s0 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp58s0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:19:06.879799 IP test.53852 > google-public-dns-a.google.com.domain: 26977+ [1au] A? play.google.com. (44)
14:19:07.022618 IP google-public-dns-a.google.com.domain > test.53852: 26977 1/0/1 A 216.58.203.110 (60)
抓取 HTTP 有效数据包
抓取
80
端口的HTTP
有效数据包,排除TCP
连接建立过程的数据包(SYN / FIN / ACK)
:
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
将输出内容重定向到 Wireshark
通常
Wireshark(或 tshark)比 tcpdump
更容易分析应用层协议。一般的做法是在远程服务器上先使用tcpdump
抓取数据并写入文件,然后再将文件拷贝到本地工作站上用 Wireshark 分析。还有一种更高效的方法,可以通过
ssh
连接将抓取到的数据实时发送给Wireshark
进行分析。以MacOS
系统为例,可以通过brew cask install wireshark
来安装
-
通过下面的命令来分析:
ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | /Applications/Wireshark.app/Contents/MacOS/Wireshark -k -i -
-
分析
DNS
协议,可以使用下面的命令:ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - port 53' | /Applications/Wireshark.app/Contents/MacOS/Wireshark -k -i -
-
抓取到的数据:
-c
:用来限制抓取数据的大小。如果不限制大小,就只能通过ctrl-c
来停止抓取,这样一来不仅关闭了tcpdump
,也关闭了wireshark
找出发包最多的 IP
找出一段时间内发包最多的
IP
,或者从一堆报文中找出发包最多的IP
,可以使用下面的命令:
cut -f 1,2,3,4 -d '.'
: 以 . 为分隔符,打印出每行的前四列。即IP
地址。
sort | uniq -c
:排序并计数
sort -nr
:按照数值大小逆向排序
tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20
# 输出内容:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes
200 packets captured
261 packets received by filter
0 packets dropped by kernel
108 IP 10.10.211.181
91 IP 10.10.1.30
1 IP 10.10.1.50
抓取用户名和密码
本例将重点放在标准纯文本协议上,过滤出于用户名和密码相关的报文:
tcpdump port http or port ftp or port smtp or port imap or port pop3 or port telnet -l -A | egrep -i -B5 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user '
抓取 DHCP 报文
最后一个例子,抓取
DHCP
服务的请求和响应报文,67
为DHCP
端口,68
为客户机端口
tcpdump -v -n port 67 or 68
# 输出内容:
tcpdump: listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:37:50.059662 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:xx:xx:xx:d5, length 300, xid 0xc9779c2a, Flags [none]
Client-Ethernet-Address 00:0c:xx:xx:xx:d5
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Requested-IP Option 50, length 4: 10.10.1.163
Hostname Option 12, length 14: "test-ubuntu"
Parameter-Request Option 55, length 16:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP, Classless-Static-Route-Microsoft, Static-Route, Option 252
14:37:50.059667 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:xx:xx:xx:d5, length 300, xid 0xc9779c2a, Flags [none]
Client-Ethernet-Address 00:0c:xx:xx:xx:d5
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Requested-IP Option 50, length 4: 10.10.1.163
Hostname Option 12, length 14: "test-ubuntu"
Parameter-Request Option 55, length 16:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP, Classless-Static-Route-Microsoft, Static-Route, Option 252
14:37:50.060780 IP (tos 0x0, ttl 64, id 53564, offset 0, flags [none], proto UDP (17), length 339)
10.10.1.1.67 > 10.10.1.163.68: BOOTP/DHCP, Reply, length 311, xid 0xc9779c2a, Flags [none]
Your-IP 10.10.1.163
Server-IP 10.10.1.1
Client-Ethernet-Address 00:0c:xx:xx:xx:d5
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 10.10.1.1
Lease-Time Option 51, length 4: 86400
RN Option 58, length 4: 43200
RB Option 59, length 4: 75600
Subnet-Mask Option 1, length 4: 255.255.255.0
BR Option 28, length 4: 10.10.1.255
Domain-Name-Server Option 6, length 4: 10.10.1.1
Hostname Option 12, length 14: "test-ubuntu"
T252 Option 252, length 1: 10
Default-Gateway Option 3, length 4: 10.10.1.1