前言
openwrt做为一款基于linux的路由器系统,本身可以安装很多linux平台的工具,今天我们就来玩玩如何将通过路由器的网络数据都抓下来。
首先请您在路由器安装好tcpdump,安装的方法,最好是通过包管理器,毕竟如果依赖包很多的话,手动安装比较繁琐。
思路一
我们可以先在路由器上通过tcpdump等抓包工具将接口的数据先抓下来并保存为标准的抓包文件,然后导回到本机进行后续的分析,这种方式临时使用是可以的,但操作比较麻烦。
思路二
我们通过ssh链接到openwrt的路由,然后通过执行tcpdump的抓包命令,将数据包通过ssh传回到我们的PC机,在PC机上通过wireshark进行分析。
#命令格式
ssh -p ssh端口 -o StrictHostKeyChecking=no ssh用户名@ssh地址 'tcpdump -s 0 -U -n -w - -i br-lan not port ssh端口' | wireshark -k -i -
#对应我的环境的命令
ssh -p 2222 -o StrictHostKeyChecking=no root@192.168.2.1 'tcpdump -s 0 -U -n -w - -i br-lan not port 2222' | wireshark -k -i -
简单的说明
根据openwrt文档,所有的局域网的数据最后都是通过br-lan虚拟网卡来做转发,所以对此网卡进行监控即可
此命令本质是远程在路由器上执行网络监控命令,输入文本到本机的wireshark里面
使用wireshark作为可视化工具来查看
前面讲