我可以使用 nc (netcat) 在一个命令中向多个主机发送消息吗?
Can I send a message to multiple hosts in one command using nc (netcat)?
是否可以在一次 netcat 调用中完成?
这个有效:
nc WHKWDCTGABUZUN1 12345 -w 5
如何进行这项工作?
nc WHKWDCTGABUZUN1,WHKWDCTGABUZUN2,WHKWDCTGABUZUN3 12345 -w 5
据我所知,nc
不能直接为所欲为。但是,正如手册页所说,nc
在脚本中运行良好,因此您可以执行以下操作:
#!/bin/bash
ADDRESSES=("WHKWDCTGABUZUN1" "WHKWDCTGABUZUN2" "WHKWDCTGABUZUN3")
for ADDR in ${ADDRESSES[@]}
do
nc "$ADDR" 12345 -w 5
done
您可以将其包装到一个 shell 脚本中,该脚本会将您传递给 stdin
的任何内容发送到每个主机。
如果这对您不起作用,请查看 nc
的一个或多个增强版本,包括 ncat
and socat
,两者都适用于 Linux .我也不确定他们能不能做你想做的事,但更有可能。
您实际上不能像您要求的那样在一行中做到这一点。然而,这样的事情可能会奏效:
printf "WHKWDCTGABUZUN1\nWHKWDCTGABUZUN2\nWHKWDCTGABUZUN3\n" |
while read address; do
nc "$address" 80 -w 5 <<< GET;
done
是否可以在一次 netcat 调用中完成?
这个有效:
nc WHKWDCTGABUZUN1 12345 -w 5
如何进行这项工作?
nc WHKWDCTGABUZUN1,WHKWDCTGABUZUN2,WHKWDCTGABUZUN3 12345 -w 5
据我所知,nc
不能直接为所欲为。但是,正如手册页所说,nc
在脚本中运行良好,因此您可以执行以下操作:
#!/bin/bash
ADDRESSES=("WHKWDCTGABUZUN1" "WHKWDCTGABUZUN2" "WHKWDCTGABUZUN3")
for ADDR in ${ADDRESSES[@]}
do
nc "$ADDR" 12345 -w 5
done
您可以将其包装到一个 shell 脚本中,该脚本会将您传递给 stdin
的任何内容发送到每个主机。
如果这对您不起作用,请查看 nc
的一个或多个增强版本,包括 ncat
and socat
,两者都适用于 Linux .我也不确定他们能不能做你想做的事,但更有可能。
您实际上不能像您要求的那样在一行中做到这一点。然而,这样的事情可能会奏效:
printf "WHKWDCTGABUZUN1\nWHKWDCTGABUZUN2\nWHKWDCTGABUZUN3\n" |
while read address; do
nc "$address" 80 -w 5 <<< GET;
done