上位机抓包很简单,安装 WireShark。其它嵌入式网络设备怎么抓包?可没法安装WireShark!
Hub 买不到
本来可以用 Hub,将被监控设备、计算机接入同一个 Hub,然后在计算机上安装 WireShark 就可以检测到经过 Hub 的所有数据包,因为 Hub 转发数据是广播的,但是现在买不到 Hub 了。
交换机抓不到
如果把 Hub 换成交换机,将被监控网络设备、计算机接入同一个交换机,在计算机上安装 WireShark,除了能抓到几个和被监控设备有关的广播包之外,啥也抓不到。原因很简单,交换机是点对点转发,不像Hub那样是广播转发的,所以发到被监控设备的网络包不会出现在计算机的网口上,即使计算机的网卡设置成混杂模式也是抓不到任何数据包的。
带端口监控功能的路由器
幸运的是路由器厂家想到了这样的需求(路由器厂家自己也要用这个功能吧,路由器也是个嵌入式网络设备啊),有些型号的路由器带有端口监控功能,只要打开端口监控并设置好端口,比如将LAN1口设置为监控端口,将LAN2设置为被监控端口,那么路由器会将LAN2口的数据包复制一份到LAN1口,把装有 WireShark 的计算机接到到LAN1,被监控设备接到LAN2,这样就可以监控嵌入式网络设备的数据包了。