如何在Checkpoint防火墙通过SSH密钥实现带参数限制的Wireshark实时抓包
需求与问题:Checkpoint防火墙SSH受限执行tcpdump并支持自定义参数
场景与目标
- 基于Checkpoint防火墙,通过Windows CMD结合后台运行的
plink.exe和pageant实现实时Wireshark抓包 - 需通过管理控制台特权模式批量部署脚本到100+设备,限制SSH用户仅能执行带固定超时的tcpdump命令,且结果可管道输出到Wireshark;同时要支持自定义过滤参数(如
-host),避免无超时/多接口执行引发性能问题
已验证可用的本地CMD抓包命令
plink.exe -batch -l wireshark *IP* "timeout 300 tcpdump -s0 -ni Mgmt -w - " | "C:\Program Files\wireshark\wireshark.exe" -k -i -
已完成的批量部署脚本(测试通过)
# 添加用户与用户组 useradd -u *指定用户ID* wireshark usermod -g wireshark pcap # 创建.ssh目录与授权密钥文件 cd /home/wireshark mkdir .ssh cd .ssh echo command="timeout 300 tcpdump -s0 -ni Mgmt -w -" ssh-rsa *公钥内容* >> /home/wireshark/.ssh/authorized_keys chmod 600 authorized_keys chown wireshark:pcap authorized_keys cd .. chmod 755 .ssh chown wireshark:wireshark .ssh cd /home/ chown wireshark:pcap wireshark # 配置tcpdump权限(通过pcap组授权) chgrp pcap /usr/sbin/tcpdump chmod 750 /usr/sbin/tcpdump setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
当前待解决问题
需要让受限的SSH命令支持在timeout 300 tcpdump后追加自定义过滤参数(如-host 192.168.1.1),尝试过以下写法但无法生效:
command=("timeout 300 tcpdump -s0 -ni" + $A + "-w -")...
寻求可行的实现方案。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

