我试图logging一个传入的UDPstream(stream意味着它是连续的数据报stream)。
我尝试了netcat但不幸的是多个源发送数据在同一个端口地址和nc不让你指定源或目标多播地址。
然后我尝试tcpdump -w -因为tcpdump有丰富的过滤选项,但它logging了原始stream,我只需要实际的数据,所以我可以像处理stream一样处理它。 不幸的是,它logging了所有与数据包有关的信息,如源/目的地或IP / UDP头。
有没有办法做到这一点? 我可以写一个小的C程序来做到这一点,但我更喜欢使用现有的工具。
我的第一个select将是wireshark。 如果你必须从terminal执行,你也可以尝试ngrep,它比tcpdump提供了更可读的输出。 你可以用一个简单的bash脚本过滤出头信息。
你可以使用wireshark 。 它可以做你想要的更多。
wireshark是没有用的,如果你想要的是接收stream中的数据并将其提供给程序。 在这种情况下,我不得不说你正在使用错误的协议。 如果我在你的位置,我会作弊 。
希望你在Linux上。 在这种情况下,制定一个防火墙重写规则,将发送到正确端口的来自所需源的传入UDP数据包发送到另一个端口,您可以使用netcat在数据stream中logging数据。
这个问题将帮助你开始。
netsed或iptables + 的libnetfilter_queue模块或ngrep可能会做你想做的。