2010-03-10 15:34
远程抓包方案
主要参考文档:
http://wiki./CaptureSetup
http://wiki./CaptureSetup/Pipes
http://blog./articles/2007/01/24/how-to-monitor-packets-from-a-remote-interface/
使用Wireshark时,我们一般加载已经保存的数据文件或者实时抓取网卡上的数据包,进行数据分析。有时为了监控远程机器网络流量,我们需要远程抓包,并对抓取的包进行实时分析。这时候,我们需要在远程捕获网络流量,并在本地启动wireshark进行数据分析。为实现这个目的,这时候我们就面临一下几个问题:
:远程主机OS是windows还是linux
:cat,还是其他协议
:是传到named pipe(命名管道)还是stdout
根据wireshark wiki文档,我们知道目前有这三种解决方案:
/Pipes - using a UNIX pipe and use a different tool to capture from
下文主要讨论这种方式
/WinPcapRemote - using [WinPcap]'s remote capturing feature (rpcapd) - currently not supported
在windows下安装winpcap后,winpcap安装目录下就有rpcapd这个命令行工具,但wireshark目前不支持读取rpcapd的输出,可以用其他工具读取rpcapd的输出。这种方式只限于windows操作系统。
RMON - use SNMP's RMON to capture - currently not supported ("Remote Packet Capture Using RMON" explains why it doesn't work well)
这种方式不清楚怎么用
测试一:named pipe on local machine (本地named pipe测试)
利用管道,将libpcap数据文件作为输入,输出到tshark,开始分析
local machine :
******@gts ~ $mkfifo /tmp/pipe
******@gts ~ $./tshark -i /tmp/pipe &
******@gts ~ $cat /home/-data/ > /tmp/pipe &
测试二:SSH + pipe
利用ssh登录远程主机,发送抓包命令,并将捕获的数据包发送到本地的named pipe,本地tshark监听该named pipe,有数据即开始分析。
remote machine :
local machine :
开启一个终端,执行:
******@gts ~ $mkfif
基于wireshark的协议分析wireshark远程抓包 来自淘豆网www.taodocs.com转载请标明出处.