美文网首页
openwrt远程抓包与分析

openwrt远程抓包与分析

作者: SHUTUP | 来源:发表于2016-05-29 10:11 被阅读4049次

    前言

    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作为可视化工具来查看
    

    前面讲述了基本的原理和操作手段,但是缺点是每次都需要输入长串命令行和密码,可以利用linux的一些小操作技巧,简化此过程,做成一个命令工具,方便随时调用。
    基本原理:
    使用 sshpass 工具来做密码输入
    使用 alias 别名来做成命令语句

    自动登录语句实现:

    sshpass -p 'admin' 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 -
    

    编辑~/.bash_alias文件,自定义命令行的别名:

    alias zshark="sshpass -p 'admin' 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 -"
    

    后面只需要在shell里面输入zshark就可以完成命令的启动了。

    思路三

    思路三其实和思路二差不多,不过是通过命名管道来导回数据,在有些情况下比较方便。所以单独记录下来。

    mkfifo /tmp/fifo
    sshpass -p 'admin' ssh -p 2222 -o StrictHostKeyChecking=no root@192.168.2.1 'tcpdump -s 0 -U -n -w - -i br-lan not port 2222' > /tmp/fifo &
    wireshark -k -i /tmp/fifo
    

    参考

    1. tshark + wireshark+sshssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
    1. tcpdump + wireshark + sshssh root@server.com 'tshark -f "port !22" -w -' | wireshark -k -i -
    2. fifo方式mkfifo /tmp/fifo; ssh-keygen; ssh-copyid root@remotehostaddress; sudo ssh root@remotehost "tshark -i eth1 -f 'not tcp port 22' -w -" > /tmp/fifo &; sudo wireshark -k -i /tmp/fifo;
      原文地址:http://www.commandlinefu.com/commands/view/4373/analyze-traffic-remotely-over-ssh-w-wireshark
      直接远程抓包分析

    相关文章

      网友评论

          本文标题:openwrt远程抓包与分析

          本文链接:https://www.haomeiwen.com/subject/bqhqdttx.html