捕获并发连接数据

时间:2015-08-11 07:26:45

标签: linux bash unix tcp

我有一台服务器,它有多个传入的tcp长连接到同一个端口。我想将每个连接的传入数据捕获到一个单独的文件中。输入数据是连续的数据流,即发送者只是连续发送数据。我尝试过使用

ncat -l -k -m 10 -o <file>

但是-o选项将数据从所有连接发送到同一个文件,我想将每个连接的数据保存在一个单独的文件中,以便传入的数据不会重叠。我可以编写一个程序来执行此操作,但如果有任何开箱即用的东西会很好,因为它似乎是一个常见的用例。

1 个答案:

答案 0 :(得分:0)

您可以像这样创建 command.sh 脚本:

#!/bin/sh

cat > /tmp/output-$NCAT_REMOTE_ADDR-$NCAT_REMOTE_PORT-$NCAT_LOCAL_ADDR-$NCAT_LOCAL_PORT.txt

然后像下面那样运行ncat:

 ncat -l -k -m 10 -p 9020 -c "./command.sh"

这将为每个连接创建单独的输出文件。文件名将是这样的:

output-127.0.0.1-45329-127.0.0.1-9020.txt