前段时间需要对路由器上的网络数据进行抓包,一番摸索之后发现了可以通过wireshark来对路由器进行抓包,当然前提路由器系统是Openwrt,这个方法同时也适合是Linux系统的主机或服务器,觉得挺有用的,于是记录下来,具体的方法如下文;
这里我们以运行openwrt系统的路由器为实验平台,我们通过搭建环境之后然后抓取路由器上的网络数据包为实验目的;
抓包环境分为两部分:
第一部分: 是目标平台环境搭建,也就是这里的openwrt系统的路由器;
第二部分: 是window平台环境搭建;
这两部分的逻辑是通过在目标平台上运行tcpdump抓包命令,然后利用plink.exe工具通过实时通道传输到windows平台上再用wireshark工具进行展示分析;
在openwrt系统下我们主要是要安装tcpdump工具;
在windows系统里,我们主要要用到plink.exe和wireshark两个工具,请自行安装这两个工具,其中plink通过安装putty获得,在安装目录下;
plink.exe -batch -ssh -pw 123456 root@192.168.8.1 "tcpdump -ni br-lan -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
命令行第一次执行提示错误:
The server's host key is not cached in the registry.
You have no guarantee that the server is the computer you think it is.
The server's ssh-ed25519 key fingerprint is: ssh-ed25519 255 801143c4fc695a5e:db Connection abandoned.
1559.770 Capture Warn Cannot store interface C:\Program Files\Wireshark\extcap\nrf_sniffer_ble.bat, already loaded as personal plugin
1504.049 Main Warn QObject::~QObject: Timers cannot be stopped from another thread
解决方法:
第一次接入服务器时,由于不信任,需要去掉-batch 参数后命令会进入交互模式,在提示的地方输入密码,之后就不用重复输入了,可以再加上-batch参数;
至此,我们已经成功抓取通过路由器上所有的网络数据包,同时提醒下这个方法也是同样适合抓取Linux主机上的网络数据哦。
全部0条评论
快来发表一下你的评论吧 !