首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何记录网络活动?

如何记录网络活动?
EN

Stack Overflow用户
提问于 2020-04-08 20:24:23
回答 3查看 21.9K关注 0票数 26

如何在wireguard中启用网络活动日志?

我搜索了查看服务器上的日志的方法,但是在/var/log下没有看到任何东西。

当它作为systemd服务运行时,我可以看到一些最小的信息

代码语言:javascript
运行
复制
sudo systemctl status wg-quick@wg0

但这只提供了很少的信息。

也曾尝试过:

代码语言:javascript
运行
复制
journalctl -u wg-quick@wg0

但这并不比前面的命令显示得更多。

理想情况下,我希望能够看到对等连接和(可选)正在发出的请求。

到目前为止,我找到的唯一有用的诊断命令是sudo wg show wg0 (或者仅仅是sudo wg),但是我希望有一种方法来增加详细的级别,并让它实时显示。

更新

通过使用第三方网络工具(例如tcpdump | grep 10.66.66 (考虑到隧道是在10.66.66.x上设置)和nethogs来启动连接是可能的,但这仍然不能回答如何通过有线直接进行连接的问题。

EN

回答 3

Stack Overflow用户

发布于 2021-06-14 07:32:31

如果您所需要的只是对等“连接”,我写了以下内容:https://github.com/nikaro/wirelogd

Wirelogd是WireGuard的一个日志守护进程。因为WireGuard本身不记录其对等点的状态(而且它是基于UDP的,所以没有“连接状态”的概念),所以Wirelogd依赖于最新的握手来确定一个对等点是活动的还是非活动的。当有交易时,握手应该每2分钟更新一次。如果没有交易,握手就不会恢复。基于这种行为,我们假设,如果在一段时间后没有新的握手(默认的Wirelogd超时值为5分钟),则客户机可能是非活动的。

票数 3
EN

Stack Overflow用户

发布于 2022-03-17 07:20:49

我的版本日志用户,脚本在crontab每3个月(10.0 -您的专用网络)。如果不活动少于180秒,什么也不做,否则写日志

代码语言:javascript
运行
复制
wg show all dump | grep 10.0 | awk 'BEGIN {}; {if (systime()-$6 <180 ) print strftime("%m-%d-%Y %H:%M:%S", systime()),$5, $4, (systime()-$6) "sec" } ; END {}' >> /var/log/wg.log
票数 3
EN

Stack Overflow用户

发布于 2021-06-12 19:49:25

从内核5.6开始,您可以使用如下的动态调试特性:

代码语言:javascript
运行
复制
# modprobe wireguard 
# echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

然后,您可以使用dmesgjournalctl来查看结果,命令包括dmesg -wH(-w can,-H human )或journalctl -kf

您的内核应该使用CONFIG_DYNAMIC_DEBUG标志进行编译,您可以通过查看像/boot/config-$(uname -r)/proc/config.gz/boot/config这样的文件(从这里获取)(https://superuser.com/questions/287371/obtain-kernel-config-from-currently-running-linux-system)来进行检查。

基于this答案

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61109400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档