返回信息流搞定过程:
1. win10连接无线网后地址显示为保留地址,但用手机可以分配,说明是电脑问题。
2. 打开wireshark查看连接wifi后的udp 67包,发现没有发送DHCP的discover包,果然系统出问题了。
3. 尝试重新分配ip,即运行ipconfig /renew,结果报错,说找不到指定文件。啥文件啊?一点信息量都没有!!
4. 搜“ipconfig 找不到指定文件”,看到网上解决方案:输入netsh winsock reset和netsh int ip reset rest.log后重启,依然报错。
5. 哭了,只能靠自己了。。
6. 于是想编程发送dhcp包完成与路由器的通信来获得ip地址:写java发UDP包,发现路由器不理我,查看发现源地址并非0.0.0.0,不符合DHCP协议要求,调研发现jdk提供的UDP功能里,不能实现修改源地址的功能,继续调研,可以用wincap搞。
7. 最后,下了个jpcap包和dhcp4java,前者提供了wincap的封装,后者提供了dhcp数据的生成功能(其实生成的有误,需要对照协议改几个地方),通信完成后调用netsh进行ip设置,把这些生成jar,写bat文件,以后每次用管理员模式运行即可。
效果:
PS: 最后我陷入了沉思:如果每天我早点来,然后随机生成一大堆mac地址,并请求分配ip,耗尽路由器的地址池,于是大家就都没法上网了。。查了下,发现早就有这样的工具了。
这是一条镜像帖。来源:北邮人论坛 / java / #56587同步于 2017/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
用Java搞定了无线网无法分配ip地址的问题
ztinpn
2017/6/15镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。