xclip 不向 netcat 发送内容

xclip 不向 netcat 发送内容

我的老师给我布置了一项作业,要求我尝试打败一个每次发送一个数字的机器人,我需要发送准确的数字,但要更快。我写了一个bash脚本:

#!/bin/bash
while true; do
  nc ip port | grep "try to beat me:" | cut -d " "  -f5 | xclip
  xclip -o 
done

问题是 xclip 复制了该号码,但它没有将其发送到 netcatb 中的服务器 — 为什么?

答案1

如果您想使用交互方式通过套接字发送和接收数据nc,您可以执行以下操作:

nc -c /path/to/your/script <host> <port>

所有传入的nc数据都将写入脚本的输入,脚本的输出将传递到套接字。

这样,在脚本中您可以读取数字stdin并直接打印它以将其发送到nc

#!/bin/bash
while true; do
  grep "try to beat me:" | cut -d " "  -f5 | xclip
  xclip -o 
done

答案2

我相信你可能想要这样的东西:

#!/bin/bash
while true; do
  port=$(nc ip port | grep "try to beat me:" | cut -d " "  -f5)
  nc ip "$port" </dev/null
  sleep 1
done

相关内容