年前给台式机升级了win10电脑,年后回来发现有块网卡插上线以后获取不到ip(我的电脑是双网卡),一直是169.254.*.*,同一根网线插另一块网卡是可以正常获取ip的,于是做了这些尝试:
1. 禁用再重新启动网卡----不起作用
2. ipconfig /release;
ipconfig /renew;
----不起作用
3. wireshark抓包发现,网卡一直在发dhcp discovery报文,没有收到回复,仔细看了一下报文,发现网卡的mac地址不对,是全0(其实这个现象在网络适配器属性里就能看到,前面给忽略了)。给网卡手动指定了一个mac地址后,问题解决。
顺便温习一下DHCP的过程,以下截图是单纯用上述第2步中的命令抓取的log
文章图片
1. wireshark中用bootp过滤dhcp协议
2.1 客户机广播DHCP Discover报文,
2.2 域中的DHCP服务器收到该报文后,确认没有其他人使用该ip后回复DHCP Offer报文,报文包含其他必要的信息,如dns,租约等
2.3 客户机选择收到的第一个DHCP Offer报文的服务器,发送广播DHCP Request,广播目的是告诉域内其他服务器自己的选择
2.4 服务器收到DHCP Request后再向客户机发送DHCP Ack,确认使用
【TCP/IP|记一次DHCP不能获取ip的解决】3. 后续客户机还涉及更新租约,重新登录等场景
推荐阅读
- Linux|Linux--网络基础
- 工具|Wireshark抓包对其字TCP段理解
- 面试|【全网最全】计算机网络笔试面试(八股文)
- 网络|《TCP-IP协议族》(第4版)PDF高清电子版——网盘下载
- TCP/IP|TCP/IP 四层模型
- ARP缓存表更新条件
- TCP/IP协议簇
- TCP|TCP/UDP协议
- Linux|利用tcpip堆栈处理不同判断远程操作系统. ..
- TCP|Android上TCP通信实现