如何在Linux机器上创建端口监听器?

如何在Linux机器上创建端口监听器?

以下命令创建端口侦听器:

nc –l 5500 &

如下所示:

[root@xyz ~]# netstat -anlp | grep 5500
tcp       0     0 0.0.0.0:5500               0.0.0.0:*                   LISTEN
   21085/nc

我想创建 100 个端口侦听器。

但语法如下:

 $ for i in {10000..10100}; do nc -l $i &; done

给出错误:

 bash: syntax error near unexpected token `;'

  1. 如何创建n个端口侦听器,仅用于测试?

  2. 测试完成后如何删除这些端口侦听器?

答案1

正如中提到的聊天,&是一个语句终止符,就像;, 所以;前面done不应该出现:

for i in {10000..10100}; do nc -l "$i" & done

或者,

for i in {10000..10100}; do
    nc -l "$i" &
done

nc您可以使用终止所有进程pkill nc

或者,将每个进程的 PID 保存nc在一个数组中,并使用该数组杀死它们:

pids=()
for i in {10000..10100}; do
    nc -l "$i" & pids+=("$!")
done

之后:

kill "${pids[@]}"

显然,这假设没有任何nc命令的 PID 已被其他进程回收。


正如 roaima 在评论中指出的那样,大括号扩展{10000..10100}扩展到 101 个数字,而不是 100。

相关内容