今天抓包试了一下, 关于bond的流程。

1)当ios没有与peripheral配过对。抓包截图如下。

我peripheral的bond设置为wait for request。当ios连上peripheral并且试图读一个属性值时,就弹出输入密码的对话框。

2)当ios与peripheral配过对,将peripheral上的passcode改变,并且擦除peripheral上的所有bond,重复上面操作,当试图读取属性时,并没有弹出输入密码的对话框。抓包如下。

由图可以看到,ios并没有发起配对的流程,而是将自己之前存下来的ltk信息发给peripheral,而peripheral上的ltk信息已经被我擦除了。因此认证失败。

现在我的问题是:如何能够通过peripheral这边的配置,擦除ios上的bond信息。

谢谢解答!