我们使用Fedora 24操作系统。
我们有一些存放机密信息的计算机,这些计算机被禁止连接到互联网。但有些员工违反了这条规定。他们可以通过移动热点或 lte 调制解调器从这些计算机连接到互联网。我必须证明这一违规行为确实存在。然后我们会对这些员工进行罚款或彻底解雇。也许 Fedora 中存在一些系统表(就像 Windows 中的注册表一样)可以帮助我证明访问互联网的事实???
答案1
笔记:我的第一个答案是在问题的性质发生重大变化之前做出的,但我觉得它仍然有价值,所以我保留了“原样”。这个答案展示了如何“证明”一台机器已经连接到互联网。
- 首先,编写一个 cronjob 尝试连接到 google.com 或其他网站(例如 microsoft.com) - 任何可靠的网站,在测试时不会随机“瘫痪”。
- 在每台机器上添加一个 cronjob 来尝试连接到这些站点,一个简单的测试是 ping 该站点,但您可以使用 wget/curl 来查看是否也可以实际查看该站点。
计划任务示例:
#!/bin/bash
NOW=`date +Y-%m-%d %T"`
wget -q --tries=10 --timeout=20 --spider http://google.com
if [[ $? -eq 0 ]]; then
echo "Online at $NOW" >> /var/log/online
fi
该脚本假定它可以写入 /var/log/——如果您愿意,您可以写入其他地方。
只需将其作为“在线”保存在您的根目录中(或您喜欢的任何可以访问的地方),使其可执行chmod +x ./online
,然后将其添加到 cron 以确保它运行 - 您可以每分钟、每 10 分钟运行一次,等等。
这Fedora Crontab 指南解释如何设置 cron。
答案2
这取决于您如何定义“互联网”以及如何向其发送/从其发送数据。
一个简单的测试是看看您是否可以 ping google.com,如果可以,那么您肯定已经连接上了?
嗯,情况没那么简单,也许 http 被阻止了,也许 https 被阻止了……或者也许 icmp 被阻止了,所以 ping 失败但网页可以加载?
一个更好的想法是思考“为什么”你关心系统是否连接——如果你试图将数据发送到某个地方,尝试这样做并处理无法发送的情况,而不是试图在不尝试的情况下检查正确的条件。
这是一个常见的XY问题,因此很难给你比这更好的建议。