0

这些天来,我遵循了很多教程和博客,在我的 raspi 上创建了一个带有wireguard 的 VPN 服务。一切正常,但我不确定我的连接是否正确加密。

我已按照此链接 https://nickb.dev/blog/viewing-wireguard-traffic-with-tcpdump 检查一切是否正常。

在最后一步,检查连接是否已加密tcpdump -n -X -i eth0 host 100.100.100.100 ,在上面的链接中,您可以看到第一行应该以 0400 0000 开头。

这应该是正确的输出

但这是我的输出,我不知道这是否正确。我的意思是它似乎被加密了对吧?

任何帮助表示赞赏,谢谢。

4

1 回答 1

0

与其他一些 VPN 技术不同,您不能错误配置 WireGuard,这样您就有了有效的 VPN 连接,但连接没有加密。因此,除非您是安全研究人员,否则检查 WireGuard 数据包的原始内容并不有趣或没有必要。

而不是检查您的 VPN 连接是否正确加密,我认为您真正想要检查的是您是否正在使用它?如果是这样,请尝试运行以下 tcpdump 命令(更改eth0为以太网接口的名称,以及51820您所连接的 WireGuard 端点的端口号):

sudo tcpdump -ni eth0 'udp port 51820'

这将向您显示通过您的 VPN 连接发送或接收的所有数据包的列表,如下所示:

20:45:15.830338 IP 192.168.178.65.48428 > 203.0.113.2.51820: UDP, length 148
20:45:15.831375 IP 203.0.113.2.48428 > 192.168.178.65.51820: UDP, length 92
20:45:15.831457 IP 192.168.178.65.48428 > 203.0.113.2.51820: UDP, length 96

在上面的示例中,192.168.178.65将是您计算机在其本地网络上203.0.113.2的 IP 地址,并且将是远程 WireGuard 端点的 IP 地址。每次执行会产生网络流量的操作(例如打开网页或发送聊天消息等)时,您应该会看到打印出的大量条目。

如果您想查看通过您的 VPN 连接发送的所有数据包的列表,请尝试以下操作:

sudo tcpdump -ni eth0 'not udp port 51820'

这将列出所有使用以太网接口的数据包,而无需通过 VPN 连接。如果一切都通过 VPN,您只会看到一些偶尔的 ARP 数据包(或者如果您在本地网络上使用 IPv6,则为 ICMPv6 数据包),如下所示:

20:46:05.942423 ARP, Request who-has 192.168.178.65 tell 192.168.178.32, length 46
20:46:05.942454 ARP, Reply 192.168.178.65 is-at 02:e1:b9:53:31:94, length 28

但通常您不想通过 VPN 连接发送所有内容——通常您希望避免通过 VPN 将流量发送到本地网络上的其他主机。事实上,大多数 WireGuard 客户端都会设置您的 VPN 连接,以便默认情况下不会通过它路由本地网络流量。如果是这种情况,您仍然会在 tcpdump 中看到本地网络流量,如下所示:

20:47:16.549206 IP 192.168.178.65.54716 > 192.168.178.32.80: Flags [S], seq 2123353395, win 65495, options [mss 65495,sackOK,TS val 2779840495 ecr 0,nop,wscale 7], length 0
20:47:16.549241 IP 192.168.178.32.80 > 192.168.178.65.54716: Flags [S.], seq 3323484409, ack 2123353396, win 65483, options [mss 65495,sackOK,TS val 2779840495 ecr 2779840495,nop,wscale 7], length 0
20:47:16.549282 IP 192.168.178.65.54716 > 192.168.178.32.80: Flags [.], ack 1, win 512, options [nop,nop,TS val 2779840495 ecr 2779840495], length 0

然而,许多 WireGuard 客户端也有一个“终止开关”选项,即使在你想要的情况下,它也会强制本地流量通过你的 VPN。

于 2021-04-06T23:09:29.467 回答