1.场景描述
工作中有时候分析问题想要抓包,但是目标服务器由于各种原因无法在目标服务器进行抓包,这是就需要远程抓包分析。
wireshark可以实现本地抓包,同时Wireshark也支持remote packet capture protocol(rpcapd)协议远程抓包,只要在远程主
机上安装相应的rpcapd服务就可以实现在本地电脑执行wireshark 捕获远程电脑的流量了
2. 安装&启动WinPcap
1) 下载安装
官网下载,点击安装包后,即可按照正常流程进行进行安装。
2) 开启rpcapd服务
a) “ win + r ” 打开运行窗口,
b) 然后输入 “ services.msc " 打开” 服务“ 窗口,
c) 找到 ” Remote Packet Capture Protocol v.0 (experimental) “ ,开启该服务。
如果我们不再需要该功能时,为了安全起见,应该将该服务关闭。以免其他人非法链接到远程主机进行流量监听。当然可
以根据需求设置可以进行远程连接的主机的IP。如果windows防火墙或者其他软件禁止该服务,请将该服务添加到白名单。
3) Linux下安装启动rpcapd
如果远程抓包的机器是linux,需要安装rpcapd,以便让 Wireshark 连接该服务器,安装方法如下:
a) 安装相应依赖
# yum install glibc-static flex binutils
b) 下载rpcapd安装包,也可以官网下载
# cd /home
# wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
# unzip WpcapSrc_4_1_2.zip
c) 编译rpcapd
# cd /home/winpcap/wpcap/libpcap
# chmod +x configure runlex.sh
# CFLAGS=-static ./configure
# make
# cd rpcapd && make
d) 运行服务
# ./rpcapd -n -d
3. 远程机抓包
这里,测试举例远程服务器为Windows,远程机器需要安装WinPcap,并启动。
1) 开启远程机rpcapd服务,参考上一步开启Windows下,rpcapd服务(若远程机为linux,参考上一步Linux下安装启动rpcapd)。
2) 打开 Wireshark(以中文版为例),主界面 --->> 捕获--->> 选项(Ctrl +k)--->> 捕获接口--->> 管理接口(右下角)--->>远程接口--->> 选择 左下角的 ” + “ 进行添加远程接口(服务器带认证的需要添加用户名密码,端口可不填),点击OK完成添加。
3) 选择远程机的对应的网卡接口,添加过滤器条件,开始抓包捕获流量。
此时,可以分析远程机器流量包了。