通过终端连续监听tcp端口

时间:2016-03-07 10:08:24

标签: terminal netcat

是否可以连续收听端口?

我使用以下命令

监听传入的tcp通知
sudo nc -l -p 999

但是一旦通知到达,我就必须用相同的命令重启。是否可以在通知到达之前不必重新启动命令来侦听端口,直到用户决定中止侦听?

2 个答案:

答案 0 :(得分:18)

Sorta过时的问题,但在我的Google搜索中首先出现。

为了在收到第一个连接后不立即关闭netcat,您可以添加-k选项。

来自男人:

  

-k强制nc在当前连接完成后继续侦听另一个连接。如果没有-l选项,则使用此选项会出错。

Src:https://superuser.com/a/708133/410908

答案 1 :(得分:2)

使用简单的bash脚本解决

#!/bin/bash

#Make Sure Script Is Ran As Root
if [ $(id -u) != 0 ]; then
    echo; echo -e "\e[1;31mScript must be run as sudo. Please Type \"sudo\" To Run As Root \e[0m"; echo    
exit 1
fi

echo "Enter port to listen"
read portL

while true;
do
    nc -l -p $portL
done
exit 0

感谢dreamlax的提示!