nc 命令的手册页包含以下信息
-k 强制 nc 在当前连接完成后继续侦听另一个连接。使用此选项而不使用 -l 选项是错误的。
但nc --help
输出没有任何有关 -k 选项的信息。
当我尝试捕获像这样的包时
nc -kl -i 86400 -p 44444 > nc_44444.dmp
我收到以下错误
netcat:无效选项 - 'k'
那么问题出在哪里呢?是否有任何称为“-k”的选项
我的问题是我必须从网络捕获一些数据,有时客户端应用程序可能会与服务器端口断开连接,并且可能会再次重新连接。所以我不想遇到有关断开/重新连接事件的问题
答案1
看来您没有使用netcat
您认为的命令。即,检查 的结果which nc
。对于我(CentOS 6.6)来说,它是有效的/usr/bin/nc
。-k
然而,正确的语法是:
nc -l -k -i 86400 localhost 44444 > nc_44444.dmp
如果您无法使其工作,请考虑使用包ncat
的一部分nmap
。 (有许多网猫实施...)
答案2
我遇到同样的错误GNU netcat 0.7.1
。该标志受 BSD 版本的支持nc
。
答案3
想必,你的版本nc没有这个-k
选项。您可以升级,或者作为解决方法,不-k
循环运行。