rpcapd 是一个为 Windows 版本的Wireshark协议分析器提供远程流量捕获的守护进程。它随Windows 的WinPcap 网络捕获库一起提供,但在 Linux 中的 libpcap 中不存在。安装需要root权限执行。
在 Ubuntu Linux 下安装:
apt-get build-dep libpcap -y
git clone https://github.com/rpcapd-linux/rpcapd-linux.git
cd rpcapd-linux/libpcap/
./configure && make
cd ../
make
glibc-static 中的 libcrypt.a 被破坏,需要删除rpcapd-linux目录Makefile中-static
再编译。
yum install -y byacc glibc-static libgcrypt-devel
git clone https://github.com/rpcapd-linux/rpcapd-linux.git
cd rpcapd-linux/libpcap/
./configure && make
cd ../
sed -i 's/-static//' Makefile
make
开始抓包即可。
如果没有配置wireshark环境变量,就打开wireshark安装目录并执行下面命令。
wireshark -k -i rpcap://<capture_box_ip>:<rpcapd_port>/<interface_to_capture>
windows的wireshark默认没有该选项,需要本地安装openssh客户端。
同理mac上也可以使用上面本地windows的rpcap的方式进行抓包。
在本地linux创建管道文件
mkfifo /tmp/sharkfile
远程linux安装wireshark
yum install wireshark* -y
ssh user@remote-host "dumpcap -P -w - -f 'not tcp port 22'"> /tmp/sharkfile