Chinaunix

标题: nc 传输文件不完整 [打印本页]

作者: watace    时间: 2010-08-27 15:35
标题: nc 传输文件不完整
  1. #!/bin/sh
  2. ssh -i rsa test@192.168.0.2 "nc -l 10001 > /home/test/test.txt" &
  3. sleep 3
  4. nc 192.168.0.2 10001 < test.txt
复制代码
以上脚本可以传输文件,但总是少很多行
奇怪的是在终端手工一条条输入就没问题,到底是什么原因?
环境rhel5
作者: 好看的附件    时间: 2010-08-27 16:20
回复 1# watace


    帮顶,没遇到过,每次传过去的行数都相同吗?
作者: watace    时间: 2010-08-27 16:23
回复  watace


    帮顶,没遇到过,每次传过去的行数都相同吗?
好看的附件 发表于 2010-08-27 16:20



    每次的行数相同,就是比原文件少很多
作者: 好看的附件    时间: 2010-08-27 16:24
本帖最后由 好看的附件 于 2010-08-27 16:30 编辑

回复 1# watace


   刚试了下,不是文件名的问题。。
作者: watace    时间: 2010-08-27 16:54
回复  watace


   刚试了下,不是文件名的问题。。
好看的附件 发表于 2010-08-27 16:24


你测试的 原文件和传过去的文件一样吗,行数等不等
作者: 好看的附件    时间: 2010-08-27 17:02
回复 5# watace


    我测试的是一样的,我怀疑是你的连接断开了。。
   man的时候看到这样一条不知道对你有没有用
  
     -w timeout
             Specifies the number of seconds nc should wait before deciding
             that an attempt to establish a connection is hopeless.  Also used
             to specify how long to wait for more network data after standard
             input closes.

作者: ddgfff    时间: 2010-08-27 17:17
回复 1# watace


    把后台运算符号去掉吧~
作者: 好看的附件    时间: 2010-08-27 17:21
回复 7# ddgfff


    去掉后会阻塞在第一行吧。
作者: ddgfff    时间: 2010-08-27 17:41
回复 8# 好看的附件


    恩,你说的对哦~
这个需求不知道有何目的,我觉得都ssh上去了,干嘛还要用nc来传文件呢?用scp不好吗?
作者: watace    时间: 2010-08-27 18:11
回复  好看的附件


    恩,你说的对哦~
这个需求不知道有何目的,我觉得都ssh上去了,干嘛还要用nc来 ...
ddgfff 发表于 2010-08-27 17:41



    scp传输速度没nc快,尤其是大文件
作者: xiaopan3322    时间: 2010-08-28 11:59
本帖最后由 xiaopan3322 于 2010-08-28 12:01 编辑
以上脚本可以传输文件,但总是少很多行
奇怪的是在终端手工一条条输入就没问题,到底是什么原因?
环境rh ...
watace 发表于 2010-08-27 15:35



    首先顶一下楼主,nc是个好工具啊,netcat被誉为网络安全界的‘瑞士军刀’

    LZ既然用了后台操作,然后又搞了个sleep,,,不出错才怪呢
    你用了 & 后台,就要配合 wait 嘛,,,因为你下面还有东西要执行的。。。
    要么干脆不要用后台。。。
  1. #!/bin/sh
  2. ssh -i rsa test@192.168.0.2 "nc -l 10001 > /home/test/test.txt" &
  3. wait
  4. sleep 3
  5. nc 192.168.0.2 10001 < test.txt
复制代码

作者: xiaopan3322    时间: 2010-08-28 12:00
回复  好看的附件


    恩,你说的对哦~
这个需求不知道有何目的,我觉得都ssh上去了,干嘛还要用nc来 ...
ddgfff 发表于 2010-08-27 17:41



    nc很快的,,,直接发送到端口的。。。
作者: watace    时间: 2010-08-30 09:51
首先顶一下楼主,nc是个好工具啊,netcat被誉为网络安全界的‘瑞士军刀’

    LZ既然用了后台 ...
xiaopan3322 发表于 2010-08-28 11:59



    sleep是为了避免网络问题设置连接超时
    nc到远程机器打开端口后立即返回不需要wait,否则一直停留在wait
作者: xiaopan3322    时间: 2010-08-30 10:15
回复 13# watace


    不会吧,wait的作用只是等待上条命令成功执行,要不你试试?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2