我的互联网连接是否使用 Wireguard 加密?
Is my internet connection encrypted with wireguard?
这些天我遵循了很多教程和博客,在我的 raspi 上创建了一个带有 wireguard 的 VPN 服务。
一切正常,但我不确定我的连接是否已正确加密。
我已经关注了这个 link
https://nickb.dev/blog/viewing-wireguard-traffic-with-tcpdump
检查是否一切正常。
最后一步,检查连接是否加密
我已经完成 tcpdump -n -X -i eth0 host 100.100.100.100
在上面的 link 中,您可以看到第一行应以 0400 0000 开头。
这个应该出来correct output
但这是我的 output,我不知道这是否正确。我的意思是它似乎是加密的吧?
感谢任何帮助,谢谢。
与其他一些 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
是您计算机在本地网络上的 IP 地址,203.0.113.2
是远程 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,以防您确实想要这样做。
这些天我遵循了很多教程和博客,在我的 raspi 上创建了一个带有 wireguard 的 VPN 服务。 一切正常,但我不确定我的连接是否已正确加密。
我已经关注了这个 link https://nickb.dev/blog/viewing-wireguard-traffic-with-tcpdump 检查是否一切正常。
最后一步,检查连接是否加密
我已经完成 tcpdump -n -X -i eth0 host 100.100.100.100
在上面的 link 中,您可以看到第一行应以 0400 0000 开头。
这个应该出来correct output
但这是我的 output,我不知道这是否正确。我的意思是它似乎是加密的吧?
感谢任何帮助,谢谢。
与其他一些 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
是您计算机在本地网络上的 IP 地址,203.0.113.2
是远程 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,以防您确实想要这样做。