最近入了台iphone se,在迁移微信聊天记录的时候,遇到个BUG。它的迁移流程是这样的:需要将两台手机连接到同一个WIFI上面,然后新手机扫旧手机上面的二维码,来完成导入。中途遇到的问题是:

此时我两台手机连接的都是ssid为zzz的wifi,经过连接不同的ssid发现,它提示的这个wifi(这里为"{{{")跟实际的wifi(这里为"zzz"),每个字符的ascii码刚好大1,无论我连接了什么网络,SSID是纯字母,带中文,带空格,手机wifi热点,蓝牙,都是此情况,提示“两个设备未连接到同一个Wi-Fi”,基本可以断定,我遇到微信的BUG了,检查了下软件版本,均是最新版本,于是琢磨着怎么绕过这个BUG。

最开始是做了个测试,创建了一个名为{{{的wifi,新手机连接上去,执行迁移,不再提示“两个设备未连接到同一个Wi-Fi”,而是报错:

由此可见,需要做的事情是绕过ssid的同名判定,并且要让两台手机互通(约等于在一个内网)。

一开始想到的是保存那个二维码,假如ssid信息是保存在二维码中的话,那么可以先把旧手机连接到yyy(根据BUG,它将会要求新手机连接zzz),然后把二维码截图,再把旧手机连接到zzz,再用新手机扫描截图,结果还是提示我连接{{{,所以ssid的信息并不是保存在二维码中。

既然如此,那么得想办法弄两个wifi,而且它们还得在一个内网。首先想到的是用路由器wifi+笔记本的虚拟wifi,开启虚拟wifi的共享上网功能,但发现,这种方式只能单方向ping通(虚拟wifi网络到路由器wifi网络),类似于内网IP跟外网独立IP,应该是windows共享上网的特性吧,用手机在两个方向都测试了,均行不通,估计微信在两个方向都要建立连接吧。

这时想起来windows有个网络桥接的功能,于是

1、用笔记本A创建虚拟wifi,ssid设置为{{{,IP跟路由器网络设置为同一网段;

2、笔记本B用网线连接到路由器网络;

3、笔记本B的无线网卡连接到虚拟wifi,IP跟路由器网络设置为同一网段;

4、然后在笔记本B上面将这两个网络连接桥接起来(在【网络连接】设置面板,将两个网络连接选中,并点击右键,选择【桥接】);

于是,虚拟wifi跟路由器wifi连成了同一个网络了!

接着:

1、将旧手机连接路由器wifi;

2、新手机连接虚拟wifi,IP跟路由器网络设置为同一网段,网关设置为路由器IP,设置好DNS;

再点迁移,成功!

ps:我本不是搞网络这一块的,虽然没什么牛B的技术,但寻找解决办法的这个过程,有点hack的味道,故记录下来。如果你有更好的办法,也不防指教

借助无线路由器+2台笔记本+Windows桥接功能,成功绕过了微信聊天记录迁移的BUG的更多相关文章

  1. Windows Azure功能更新:弹性伸缩(autoscale)、监控报警、移动服务及网站服务商用、新的虚拟机镜像

    Windows Azure功能又更新了.此次更新包括1项重要更新和两个功能更新: 重要更新:云服务.网站支持按策略进行弹性伸缩 功能更新:两个预览版的服务(网站和移动)进入商用,虚拟机服务支持SQL ...

  2. 两台笔记本搭建openvswitch网络

    环境说明: 笔记本A.B均运行Ubuntu 14.04,两台笔记本通过无线网卡上网,用一根网线连接两台笔记本的有线网卡. 网络拓扑: 其中,vm1 vm2 S1位于笔记本A,vm3 vm4 S2位于笔 ...

  3. 局域网两台笔记本如何使用svn

    前几天我要和朋友一起开发一个网站,但是都是两台笔记本,连局域网搞的很麻烦,后来就用了git,今天突然想到要用svn,就在网上找了这个办法,结果一试便可以了,很开心 很感谢楼主,下面是我做的步骤绝对给力 ...

  4. 02 - Unit04:笔记本加载功能

    @ExceptionHandler 在控制器中统一处理异常. 为了重用异常处理方法,可以将处理方法抽象到父类中,子类共享异常处理方法. 语法: @ExceptionHandler(Exception. ...

  5. Windows Azure功能更新:SQL Server AlwaysOn和Notification Hub 正式商用

    一周以前Windows Azure发布了新的更新内容,主要的更新有3项: 虚拟机上的SQL Server支持AlwaysOn可用性组了 Notification Hub商用 自动缩放支持时间策略 这里 ...

  6. Windows Azure功能更新:Oracle软件正式登陆Azure了

    今天,Windows Azure国际版发布了新的功能:全面支持Oracle软件,包括Oracle Linux, Oracle 12c数据库,Weblogic 11g和12c,Oracle JDK 6和 ...

  7. Windows Azure功能更新: SDK 2.1发布,Traffic Manager集成

    最近,Windows Azure又进行了更新 Windows Azure SDK 2.0发布没多久,2.1版(for .NET)就在今天发布了.2.1版本在管理功能上进行了重大改进,包括Visual ...

  8. R+OCR︱借助tesseract包实现图片文本提取功能

    2016年11月,Jeroen Ooms在CRAN发布了tesseract包,实现了R语言对简单图片的文本提取.分析功能. 利用开源OCR引擎进行图片处理,目前可以识别超过100种语言,R语言可以借助 ...

  9. TP-LINK路由器桥接功能实现(WDS)

    弄过好几次路由器的桥接了,但每次都忘记了,要重新找资料.在此记录一下,方便以后使用. 准备工作: 1.设置本地连接/无线网络连接(取决于用哪个配置路由器):IP-192.168.1.100 掩码-25 ...

随机推荐

  1. 使用spring通知时,代理出错

    动态代理是基于接口的,spring配置是基于类的!!!!!!!!!! 注意:JDK的动态代理,只能对实现接口的类实现代理,生成代理对象,如果这个类没有实现接口,是生成不了代理对象的.如本例UserMa ...

  2. Android中editText使用报错

    在activity_main.xml文件中添加了editText控件 <EditText        android:id="@+id/edit_text"        ...

  3. jq封装的tab切换

    function tab(a,b,c){ $(a).on(c,function(){ $(this).addClass('active').siblings().removeClass('active ...

  4. C学习笔记

    1.struct struct 是一种复合数据类型,其构成元素可以是一些复合数据类型,如array,struct,union,缺省情况下,编译器为结构体的每个成员按其自然对齐(默认对齐,按照结构体成员 ...

  5. 有WebService的项目中写applicationContex.xml文件时应注意!!!

    这是一个简单的WebService实例,来看下如下的applicationContex.xml文件: 1.有XFire的配置 <bean id="baseWebService" ...

  6. Web应用程序项目XX已配置为使用IIS

    今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如 ...

  7. hive中拉链表

    在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间. 拉链表适用于以下几种情况吧 数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业 ...

  8. Oracle 的递归查询将层级变成字符串

    select A.PARENT_GROUP_ID, A.GROUP_ID,sys_connect_by_path(A.GROUP_ID,'/') || '/' path from dam_dataen ...

  9. 如何写一个简单的shell

    如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...

  10. DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)

    DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在 ...