我有一台服务器,它有多个传入的tcp长连接到同一个端口。我想将每个连接的传入数据捕获到一个单独的文件中。输入数据是连续的数据流,即发送者只是连续发送数据。我尝试过使用
ncat -l -k -m 10 -o <file>
但是-o选项将数据从所有连接发送到同一个文件,我想将每个连接的数据保存在一个单独的文件中,以便传入的数据不会重叠。我可以编写一个程序来执行此操作,但如果有任何开箱即用的东西会很好,因为它似乎是一个常见的用例。
答案 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