一次 Anki 登录不上的找 bug 经历: Difference between revisions
Jump to navigation
Jump to search
| Line 65: | Line 65: | ||
== 抓包方式比较有效 == | == 抓包方式比较有效 == | ||
最有效的命令,非在服务器之外运行<code>curl -vk 1.2.3.4:12345</code>莫属,它可以初步判定,连上没。 | |||
其他命令还有 tcpdump、netstat 等。 | |||
== 查日志才是最佳手段 == | == 查日志才是最佳手段 == | ||
Revision as of 23:37, 7 April 2026
本文记录我的一次找 bug 经历。
之前,因为服务器被刷流量,导致宕机。所以我需要写一些防爆破规则。
在整理各类规则时,我没管 Anki。有空再用 Anki 时,Anki 死活无法登录了。
报错不一定可靠
表面上,报错:Email or password was incorrect. please try again.
这就有以下几个怀疑方向。
| 怀疑 | 证据 | 结果 |
|---|---|---|
| 我的 AnkiWeb 账密有误 | 但我明明在 AnkiWeb 上真实地登录着,它不可能有误 | 排除 |
| Anki 不支持自定义账密,必须使用 AnkiWeb 账密 | 但很多网贴都清楚地记载着,AnkiWeb 账密和自定义账密,两者完全分开,可以不同。Anki 很支持自定义账密 | 排除 |
| 我出现了 typo 错误 | 但以我的细心程度,以及多番检查,以及不使用 copy and paste,没有误字漏字 | 排除 |
Issue 和论坛不一定可靠
| 怀疑 | 证据 | 结论 |
|---|---|---|
| 发版出了问题 | 但本 Anki 版本已经发出来七个月了,要有问题早就引发热烈讨论了,GitHub Issue 里没人提 | 我没有理性排除发版问题,还怀疑别人都用的老版。有点傻乎乎,以后软件问题还是不要首先怀疑原作者的发版有问题 |
| 遭遇了恶意封禁 | 论坛里许多人提到因恶意软件导致无法登录。十几个相同案例让我非常怀疑自己遇到了相同情况 | 无法排除,耗费了大量时间查找线索 |
控制台不一定可靠
| 控制台 | 证据 | 结论 |
|---|---|---|
| 服务端控制台 | 错误显示得少。正确时显示得多 | 用处不大 |
| 客户端控制台 | Windows Anki 可以用 anki_conselo.bat 运行。Linux Debian Anki 可以在 Terminal 里运行。同样是错误显示得少。正确时显示得多 | 用处不大 |
| Ctrl Shift ; | 调试窗口在插件开发过程中,应该比较有用 | 对此次排错用处不大 |
版本问题应该最早排查
Anki 有不同平台,所以我换了 Windows 端、Android 端、Linux Debian 端,皆报错一致,无法登录。此时第一时间应该怀疑不是客户端问题,而是服务端问题。但我没这种直觉,还是按部就班,怀疑是新版问题,于是接着用了三四个旧版,均报同样的错误。
抓包方式比较有效
最有效的命令,非在服务器之外运行curl -vk 1.2.3.4:12345莫属,它可以初步判定,连上没。
其他命令还有 tcpdump、netstat 等。
查日志才是最佳手段
tail 的 -f 选项,简直是查报错的神器,客户端点击一次,服务端的日志就出现一次。有没有连上,连上是什么反应,一清二楚。在 error.log 里过滤 ip,也相当有用。
tail -f /var/log/apache2/access.log | grep 1.2.3.4
cat /var/log/apache2/error.log | grep 1.2.3.4