工具:
- Openwrt 系统下的 tcpdump
- Windows 系统下的 Wireshark 和 plink
快捷键
- 在路由器的 Openwrt 系统下安装 tcpdump 工具
- 在 Windows 系统下安装 Wireshark 程序,并不下载的 plink 工具放入 Wireshark 的安装目录下
- 在 Windows 系统下打开命令窗口,进入 Wireshark 安装目录,运行
plink -ssh USER@HOST -pw PASS "tcpdump -s 0 -U -n -i br-lan -w - not port 22" | wireshark -k -i -
说明:
USER: 是路由器 Openwrt 系统的登录用户名
HOST: 是路由器的远程登录 IP
PASS: 是路由器 Openwrt 系统的登录密码
br-lan: 是需要抓取路由器数据包的网络接口,可以选择其他接口
tcpdump 参数说明:
-i: 指定网络接口,不指定则默认抓取第一个网络接口
port:指定截获端口
host:指定截获的主机
not:不包括
-s 0: 抓取数据包默认抓取长度为68字节, -S 0:可以抓取到完整的数据包
-c 100: 只抓取100个数据包
-U:让数据包打印时直接输出到stdout而不是在输出缓存满后再输出,当文件名是”-“时,输出原数据包到stdout
-n:不把主机的网络地址转换为名字
-w:把数据包数据写入指定的文件
-ssh:强制使用ssh通讯协议
实现抓包
- 在路由器的 Openwrt 系统下安装 tcpdump 工具