如何让netcat服务器响应不同的端口

时间:2013-08-21 12:36:45

标签: udp netcat

我需要模拟一个场景(在UDP下,如果有意义的话)

1)nc服务器侦听端口9000(ncserver1) 2)nc客户端连接到nc服务器并发送“message1”并同时启动另一个nc服务器并正在侦听端口9001(ncserver2) 3)收到“message1”后,ncserver1应该启动与ncserver2的连接并发送“message2” 4)ncserver2收到消息“mess”

1 个答案:

答案 0 :(得分:0)

这是一个有趣的场景。首先要做的是在9000上等待message1启动netcat。 sed用于过滤掉所有不是message1的消息,并创建在收到message1时发送出来的消息2.

nc -u -l -p 9000 | sed -un 's/message1/message2/p' |./delayed_netcat.sh  -u localhost 9001

delayed_netcat.sh是来自mariux的script

#!/bin/bash
read line
netcat "${@}" < <(echo $line ; cat)

延迟连接到9001,直到有东西要发送。

接下来,我们开始另一个netcat监听9001,同时发送message1到9000

nc -u -l -p 9001 | sed -un "s/message2/mess/p" &  echo "message1" |nc -u localhost 9000

这里sed用于查找message2和输出混乱。