因此,我一直很好奇如果连接中断,Express VPN 如何阻止所有互联网流量。因为 0 和 1 的数据量可能是每秒十亿位。如果连接断开,expressVPN 如何知道何时阻止互联网?我知道这在expressVPN中称为网络锁定https://www.expressvpn.com/features/network-lock 但关于它在幕后如何工作或其背后的代码的信息并不多。
我认为它可以起到两件事:
- 它使用一些代码来检查IP地址是否是expressVPN,并且仅发送数据包或接收其标头具有Express VPN IP的数据包?
- 正如本页所述,它可能在其自己的代码中使用某种 for 循环。
For 循环看起来有点奇怪。对于你正在做的一切来说都可以,但如果你不希望你的流量在任何情况下都随着你的真实IP出去。它必须 100% 正常运行。 askubuntu 上给出的代码
#!/bin/bash
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
while true; do
read X
if echo $X | grep "desktop-lock" &> /dev/null; then
nmcli nm enable false;
elif echo $X | grep "desktop-unlock" &> /dev/null; then
nmcli nm enable true;
fi
done
)
while true 多久检查一次条件。例如:如果我的 Express VPN 掉线,并且当 CPU 检查“while true”条件时,在两次运行之间,某些标头中包含我的真实 IP 的流量溜走了,该怎么办?
编辑:我更改了问题标题。我的错。我更感兴趣的是expressVPN是如何保证网络切换的。它可能使用也可能不使用“for 循环”。如果有人知道它是如何工作的,将会有所帮助。我认为 for 循环对于它如何做到这一点是可以接受的猜测。但根据我的理解,它有一个缺陷,正如我在第 2 点中试图解释的那样。
谢谢
答案1
在 shell 中,在其...主体完成while true
后立即再次运行。do
done
对于新标题ExpressVPN如何保证隐私?,请询问相应的提供商。