我有一个运行 Broadcom aeolus 系统的路由器:https://github.com/Broadcom/aeolus由 ecos 和“普通”Linux 组成。我想转储所有 WAN 流量(我认为由 ecos 控制)或至少 LAN 流量(由 Linux 控制)。系统非常有限,有防火墙规则,但没有像iptables那样的。另外像 tcpdump 这样的东西也不存在。有 busybox 可用,我可能可以加载带有更多程序的更新版本。有没有什么好的方法可以使用 busybox 或其他工具通过网络获取数据或将数据转储到连接的 USB 驱动器?
编辑:
由于我想要捕获 WAN-LAN 流量,而不是(仅)LAN-客户端 PC 流量,因此我需要从路由器内部执行此操作。嗅探通过同轴电缆传输的广域网信号可能并不简单,并且需要特殊的硬件,而我可能买不起。
答案1
如果您的路由器设备位于本地,而不是某个服务器场,那么您最好从设备外部监听网络流量,而不是使用嵌入式平台来记录网络流量。有多种方法可以解决此问题,但这里有两种简单的基于网络的解决方案,它们可以通过利用网络的第 1 层来实现您想要的功能。开放系统互连模型。
以太网集线器
集线器通常很便宜,但在商店里越来越难找到(不过在网上可能很容易找到)。在对有线以太网网络通信进行故障排除时,集线器可以是一个离合器工具(集线器可能会与非托管交换机混淆,因此请确保您找到的任何东西实际上是集线器,现在是某种交换机)。
以太网集线器将流量淹没到其所有端口。这些对网络来说可能很困难,但您可以利用集线器将第 1 层流量转发到所有端口的事实来监听到其他设备的流量。如果您将一台 PC 插入集线器上的一个端口,然后将您的设备插入另一个端口,您将能够使用wireshark或tcp转储流向路由器的所有流量。这将是一个简单的-无需配置的选项来捕获流量。
管理型交换机
您可以使用大多数托管交换机实现与集线器类似的功能。任何支持的交换机端口镜像可以让您轻松配置两个端口,其功能类似于集线器处理其所有端口的方式。
镜像两个端口,并将 PC 连接到一个端口,将路由器连接到另一个端口,然后使用任何捕获工具,您就可以获取进出设备的流量。