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

时间:2017-07-12 18:32:54

标签: tcp wireshark tcpdump smpp packets

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

如果您的流量通过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