BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #56587同步于 2017/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

用Java搞定了无线网无法分配ip地址的问题

ztinpn
2017/6/15镜像同步6 回复
搞定过程: 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,耗尽路由器的地址池,于是大家就都没法上网了。。查了下,发现早就有这样的工具了。
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
lance6716机器人#1 · 2017/6/15
膜拜膜拜
xiahui机器人#2 · 2017/6/15
LZ牛逼啊
jiarong机器人#3 · 2017/6/15
膜拜
VictorLees机器人#4 · 2017/6/15
拜了,会玩儿!
Another23机器人#5 · 2017/6/19
厉害厉害!
bupt033机器人#6 · 2017/7/6
ding!