我想构建一个盒子,将其配置为客户端计算机的默认网关:
- 捕获所有流量
- 让我能够轻松查看他们的所有流量
有人知道最好用什么操作系统和程序吗?首先想到的是WireShark。
答案1
在这种情况下,您必须提供一些额外的详细信息,我们才能真正给您一个很好的答案。您需要弄清楚的问题包括:
- 您为此可用的预算是多少?
- 您的捕获保留要求是什么?
- 您捕获的流量速率是多少?
- 您愿意接受监控点承担多大的风险?
- 你的是什么实际的要求?
- 您需要完整的数据包吗?
- 对源-目的地流量的更高层次的视图是否足够好?
之间许多以下是一些可供您使用的选项:
- 使用
NetFlow
或SFlow
从路由器/交换机/防火墙获取流量数据- 这可能已经足够好了,而且比专门的流量嗅探设置更容易/更便宜
- 类似的可能替代方案是
ntop
- 在您的网络上放置一个内联网络分接头,将所有流量复制到监控系统(嗅探器)
- 嗅探器可以是一个简单的 Linux 机器,用于进行数据包捕获(低端,成本和功能);或者是一个专用的网络嗅探器设备(高端,成本和功能)
- 成本取决于功能/分析要求、保留要求以及您正在监控的吞吐量
- 使用端口镜像(思科称之为 SPAN)将流量复制到监控点,然后你就可以从嗅探器系统中查看
- 将 Linux 机器作为路由器/网桥,并监控或捕获那里的流量
- 这使得 Linux 机器成为你的网络的单点故障,如果你不知道自己在做什么,可能会引发其他问题
- 请注意,如果您捕获语音流量、敏感数据(信用卡数据、健康/私人信息)等,捕获所有流量(完整数据包)可能会导致一些法律和政治问题。
为了解决您问题中的一个特定问题,Wireshark 是一款出色的程序,可用于分析数据包捕获或交互式数据包捕获,但对于连续捕获,我可能会考虑类似dumpcap
。如果我以连续的方式运行它,我发现最有效的方法是cron
从特定持续时间开始运行它。在低吞吐量捕获中,我可能会每小时进行一次捕获(3600 秒)。对于更高吞吐量的捕获,我可能会每 10 分钟甚至每 5 分钟或 2 分钟进行一次。如果您要长时间存储,您可能希望将捕获内容拆分到“yyyy/mm/dd”目录下或类似的目录中。
答案2
忽略这个想法本身冒犯了我的感情的事实,即使在应用了过滤器之后,您真的有时间浏览所有这些数据吗?
虽然按照您的要求做(在实际网关设备上运行网络嗅探器/监视器)很简单,但我严重怀疑这是否是最好的方法。最好使用带有自定义规则的 snort 之类的程序,它可以监视指定的流量并在发生时向您发出警报。