通过netcat传输文件后,套接字在TIME_WAIT中保留

时间:2012-04-15 14:51:36

标签: linux bash

使用Copying by NetCat我正在尝试通过 NetCat 在网络中复制文件。从控制台它工作得很好。首先,我在目标计算机上运行监听netcat,然后在源计算机上运行发送。

问题是它无法从源机器的脚本中运行:

  

ssh -f user @ $ desthost'nc -l 1234 | tar xvf - > / dev / null&'目标主机上的#listening

     

tar cv / tmp / file | nc $ desthost 1234 #sending to destination host

我看到在运行端口1234后仍然处于打开状态,套接字的状态为TIME_WAIT。

如果您知道问题是什么,请帮助我。

顺便说一句,在复制后如何验证内容是否相同?

谢谢!

附录:

我发现了一个非常奇怪的事情,与目标工作中的 screen 相同的实现,但不稳定,有时它不会复制文件。

  

ssh user @ $ desthost screen -dm -S test'nc -l 1234 | tar xvf - '目标主机上的#listening

也许超时存在问题?

1 个答案:

答案 0 :(得分:1)

你不需要netcat: http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

您只需要一个ssh连接。

然后使用md5sum比较文件。首先检查文件大小是明智的..