pcapsipdump 不保存捕获文件
pcapsipdump not saving capture files
我正在尝试使用一个名为 pcapsipdump 的程序,但无论我尝试什么,它都没有任何作用。不确定我做错了什么。
我用这个方法从SVN安装的。
apt-get install subversion libpcap0.8 libpcap-dev build-essential
svn checkout svn://svn.code.sf.net/p/pcapsipdump/code/trunk pcapsipdump-code
cd pcapsipdump-code
make all
make install-debian
update-rc.d pcapsipdump defaults
nano /etc/default/pcapsipdump
设置文件如下所示。
PCAPSIDUMP_ENABLE=true
DEVICE=eth3
SPOOLDIR=/var/spool/pcapsipdump
RETENTION=7
过程好像是运行
sudo service pcapsipdump status
pcapsipdump (pid 1457) is running
ps -ax | grep pcapsipdump
1457 ttyS0 S 0:00 /usr/sbin/pcapsipdump -d /var/spool/pcapsipdump -i eth3
1617 ttyS0 S+ 0:00 grep --color=auto pcapsipdump
它似乎正在访问所需的库。
sudo lsof | grep pcapsip
pcapsipdu 1457 root cwd DIR 252,0 4096 8653224 /var/spool/pcapsipdump
pcapsipdu 1457 root rtd DIR 252,0 4096 2 /
pcapsipdu 1457 root txt REG 252,0 28832 24260551 /usr/sbin/pcapsipdump
pcapsipdu 1457 root mem REG 0,7 10167 socket:[10167] (stat: No such file or directory)
pcapsipdu 1457 root mem REG 252,0 1071552 4980955 /lib/x86_64-linux-gnu/libm-2.19.so
pcapsipdu 1457 root mem REG 252,0 1845024 4980944 /lib/x86_64-linux-gnu/libc-2.19.so
pcapsipdu 1457 root mem REG 252,0 90080 4980754 /lib/x86_64-linux-gnu/libgcc_s.so.1
pcapsipdu 1457 root mem REG 252,0 56016 4980988 /lib/x86_64-linux-gnu/libbsd.so.0.6.0
pcapsipdu 1457 root mem REG 252,0 979056 24253260 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
pcapsipdu 1457 root mem REG 252,0 249096 24255058 /usr/lib/x86_64-linux-gnu/libpcap.so.1.5.3
pcapsipdu 1457 root mem REG 252,0 149120 4980942 /lib/x86_64-linux-gnu/ld-2.19.so
pcapsipdu 1457 root 0u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 1u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 2u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 3u pack 10167 0t0 ALL type=SOCK_RAW
wireshark 似乎在这个系统上工作得很好。我不知道我做错了什么。
这里有一些关于系统的更多信息
cat /proc/version
Linux version 3.13.0-44-generic (buildd@lamiak) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014
cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
NAME="Ubuntu"
VERSION="14.04.1 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.1 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
如有任何帮助,我们将不胜感激!这也是我第一次 post 在这里,如果我遗漏任何规则,请告诉我。谢谢。
编辑 1:
关于系统的更多信息。盒子有 4 个以太网端口。 eth2 和 eth3 使用 brctl 工具在 br1 中。 pcapsipdump 的端口是 2 个交换机之间的中继端口。盒子在他们之间。所有流量都通过机器。 vlan 是否有可能干扰应用程序?
sudo brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0050c22508bc no eth0
eth1
br1 8000.0050c22508be no eth2
eth3
br1 Link encap:Ethernet HWaddr 00:50:c2:25:08:be
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:175550 errors:0 dropped:11309 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10625462 (10.6 MB) TX bytes:0 (0.0 B)
eth2 Link encap:Ethernet HWaddr 00:50:c2:25:08:be
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:379365 errors:0 dropped:520 overruns:0 frame:0
TX packets:318668 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:244877902 (244.8 MB) TX bytes:40942935 (40.9 MB)
Interrupt:18 Memory:dfc00000-dfc20000
eth3 Link encap:Ethernet HWaddr 00:50:c2:25:08:bf
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:320221 errors:0 dropped:0 overruns:0 frame:0
TX packets:378233 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:41042572 (41.0 MB) TX bytes:244621993 (244.6 MB)
Interrupt:19 Memory:dfb00000-dfb20000
编辑 2:
是的,就是这样。使用镜像端口而不是通过盒子传递所有 vlan 进行测试。它开始工作
现在有一个问题,有没有办法使它与 vlan 一起工作?还是我卡住了?
pcapsipdump 似乎不支持 vlan。除了测试证据,我似乎找不到任何文件来证明或反驳这一点。
解决方案:使用 wireshark 捕获并去除 vlan 标记。将捕获文件发送到 pcapsipdump 进行处理。
在这里找到了一些重写捕获文件的工具
http://tcpreplay.synfin.net/wiki/tcprewrite
删除标签
ls | xargs -I pcapfile tcprewrite --enet-vlan=del --infile=/wireshark/wireshark3/pcapfile --outfile=/wireshark/calls/pcapfile
然后将捕获文件推送到 pcapsipdump
ls | xargs -I pcapfile pcapsipdump -r /wireshark/calls/pcapfile
一切正常。只需要不时添加一些脚本来执行此操作。
自 SVN 修订版 101 起支持在一个或多个 802.1Q 子接口的父接口上捕获:
http://sourceforge.net/p/pcapsipdump/code/101/
在这里查看如何从 SVN 安装最新的开发版本:
我正在尝试使用一个名为 pcapsipdump 的程序,但无论我尝试什么,它都没有任何作用。不确定我做错了什么。
我用这个方法从SVN安装的。
apt-get install subversion libpcap0.8 libpcap-dev build-essential
svn checkout svn://svn.code.sf.net/p/pcapsipdump/code/trunk pcapsipdump-code
cd pcapsipdump-code
make all
make install-debian
update-rc.d pcapsipdump defaults
nano /etc/default/pcapsipdump
设置文件如下所示。
PCAPSIDUMP_ENABLE=true
DEVICE=eth3
SPOOLDIR=/var/spool/pcapsipdump
RETENTION=7
过程好像是运行
sudo service pcapsipdump status
pcapsipdump (pid 1457) is running
ps -ax | grep pcapsipdump
1457 ttyS0 S 0:00 /usr/sbin/pcapsipdump -d /var/spool/pcapsipdump -i eth3
1617 ttyS0 S+ 0:00 grep --color=auto pcapsipdump
它似乎正在访问所需的库。
sudo lsof | grep pcapsip
pcapsipdu 1457 root cwd DIR 252,0 4096 8653224 /var/spool/pcapsipdump
pcapsipdu 1457 root rtd DIR 252,0 4096 2 /
pcapsipdu 1457 root txt REG 252,0 28832 24260551 /usr/sbin/pcapsipdump
pcapsipdu 1457 root mem REG 0,7 10167 socket:[10167] (stat: No such file or directory)
pcapsipdu 1457 root mem REG 252,0 1071552 4980955 /lib/x86_64-linux-gnu/libm-2.19.so
pcapsipdu 1457 root mem REG 252,0 1845024 4980944 /lib/x86_64-linux-gnu/libc-2.19.so
pcapsipdu 1457 root mem REG 252,0 90080 4980754 /lib/x86_64-linux-gnu/libgcc_s.so.1
pcapsipdu 1457 root mem REG 252,0 56016 4980988 /lib/x86_64-linux-gnu/libbsd.so.0.6.0
pcapsipdu 1457 root mem REG 252,0 979056 24253260 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
pcapsipdu 1457 root mem REG 252,0 249096 24255058 /usr/lib/x86_64-linux-gnu/libpcap.so.1.5.3
pcapsipdu 1457 root mem REG 252,0 149120 4980942 /lib/x86_64-linux-gnu/ld-2.19.so
pcapsipdu 1457 root 0u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 1u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 2u CHR 4,64 0t0 8214 /dev/ttyS0
pcapsipdu 1457 root 3u pack 10167 0t0 ALL type=SOCK_RAW
wireshark 似乎在这个系统上工作得很好。我不知道我做错了什么。
这里有一些关于系统的更多信息
cat /proc/version
Linux version 3.13.0-44-generic (buildd@lamiak) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014
cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
NAME="Ubuntu"
VERSION="14.04.1 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.1 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
如有任何帮助,我们将不胜感激!这也是我第一次 post 在这里,如果我遗漏任何规则,请告诉我。谢谢。
编辑 1:
关于系统的更多信息。盒子有 4 个以太网端口。 eth2 和 eth3 使用 brctl 工具在 br1 中。 pcapsipdump 的端口是 2 个交换机之间的中继端口。盒子在他们之间。所有流量都通过机器。 vlan 是否有可能干扰应用程序?
sudo brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0050c22508bc no eth0
eth1
br1 8000.0050c22508be no eth2
eth3
br1 Link encap:Ethernet HWaddr 00:50:c2:25:08:be
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:175550 errors:0 dropped:11309 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10625462 (10.6 MB) TX bytes:0 (0.0 B)
eth2 Link encap:Ethernet HWaddr 00:50:c2:25:08:be
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:379365 errors:0 dropped:520 overruns:0 frame:0
TX packets:318668 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:244877902 (244.8 MB) TX bytes:40942935 (40.9 MB)
Interrupt:18 Memory:dfc00000-dfc20000
eth3 Link encap:Ethernet HWaddr 00:50:c2:25:08:bf
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:320221 errors:0 dropped:0 overruns:0 frame:0
TX packets:378233 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:41042572 (41.0 MB) TX bytes:244621993 (244.6 MB)
Interrupt:19 Memory:dfb00000-dfb20000
编辑 2:
是的,就是这样。使用镜像端口而不是通过盒子传递所有 vlan 进行测试。它开始工作
现在有一个问题,有没有办法使它与 vlan 一起工作?还是我卡住了?
pcapsipdump 似乎不支持 vlan。除了测试证据,我似乎找不到任何文件来证明或反驳这一点。
解决方案:使用 wireshark 捕获并去除 vlan 标记。将捕获文件发送到 pcapsipdump 进行处理。
在这里找到了一些重写捕获文件的工具
http://tcpreplay.synfin.net/wiki/tcprewrite
删除标签
ls | xargs -I pcapfile tcprewrite --enet-vlan=del --infile=/wireshark/wireshark3/pcapfile --outfile=/wireshark/calls/pcapfile
然后将捕获文件推送到 pcapsipdump
ls | xargs -I pcapfile pcapsipdump -r /wireshark/calls/pcapfile
一切正常。只需要不时添加一些脚本来执行此操作。
自 SVN 修订版 101 起支持在一个或多个 802.1Q 子接口的父接口上捕获:
http://sourceforge.net/p/pcapsipdump/code/101/
在这里查看如何从 SVN 安装最新的开发版本: