【问题标题】:Debian 7.11 - How to capture SMPP all arrived and sent packets by some portsDebian 7.11 - 如何捕获所有通过某些端口到达和发送的数据包的 SMPP
【发布时间】:2017-12-17 07:48:43
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

  • 您的命令应该可以工作。您是否尝试过仅捕获传出数据包来测试这些端口上是否有传出数据包?
  • @Lukas 是的,但仅适用于传入的数据包。但不存在传出数据包。我可以捕获传出的数据包,但不能使用同一行命令同时捕获传入的数据包,为什么?
  • 这是我的捕获传出数据包命令: tcpdump -s0 -vvv -A -n src host 80.81.110.111 -w /home/admin/aaa_tmp/dump3.cap :此命令仅适用于传出数据包
  • tcpdump -i eth1 -vvv -s 0 -w /home/sunetadmin/aaa_tmp/dmp7.pcap - 这个命令对两个数据包都有效,但是在这里我不能添加端口,如果我要添加的话仅适用于传入数据包的端口
  • 我需要通过端口使用 tcpdump 命令来同时捕获传入和传出的数据包

标签: tcp wireshark tcpdump smpp packets


【解决方案1】:
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

【讨论】:

  • 嗨,谢谢您的回答,尝试了您的回答但不起作用 0 个数据包确实捕获了。
  • @mr.boyfox,它在我的电脑中捕获,可能你应该找到你的防火墙设置或其他东西。我通过 root 运行。
  • 也许,我也使用 root 运行过。因为,在我们的服务器中,只有root可以启动tcpdump,我会搜索防火墙设置和其他与tcpdump相关的问题
【解决方案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

【讨论】:

    猜你喜欢
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多