Debian 7.11 - 如何通过某些端口捕获 SMPP 所有到达和发送的数据包

Debian 7.11 - How to capture SMPP all arrived and sent packets by some ports

我正在使用以下代码按端口捕获传入和传出的 tcp 数据包:

tcpdump -i any -s 0 -vvv -A port 3727 or port 5016 or port 3724 -w /home/admin/dump1.cap

但是tcpdump 只捕获传入的数据包,我需要同时传入和传出数据包。有人知道我错在哪里吗?

提前致谢。

tcpdump -i any -s 0 -vvv -A port 3727 or port 5016 or port 3724 --direction=in --direction=out -w /home/admin/dump1.cap

--direction=in 用于传入流量 --direction=out 用于传出流量。

您可以在 tcpdump 的手册页上找到更多信息。 http://www.tcpdump.org/tcpdump_man.html

如果您的流量通过 ipsec 隧道,就会发生这种情况(通过 运行 ipsec statusall 检查是否属于这种情况)。要捕获解密的数据包,您可以添加 IPtables 规则以将 ipsec 流量转发到 nflog 接口:

iptables -t mangle -I PREROUTING -m policy --pol ipsec --dir in -j NFLOG --nflog-group 5
iptables -t mangle -I POSTROUTING -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5

然后tcpdump nflog接口:

tcpdump -i nflog:5 -y IPV4 -s0 -A port 3727 or port 5016 or port 3724

完成后记得删除 nflog 规则!

iptables -t mangle -D PREROUTING -m policy --pol ipsec --dir in -j NFLOG --nflog-group 5
iptables -t mangle -D POSTROUTING -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5

来源:https://wiki.strongswan.org/projects/strongswan/wiki/CorrectTrafficDump