nc究竟干嘛用的我不多描述,明天主要讲下用nc传输文件。因为公司的设备sudo后没有ssh,scp等远程接入命令,或host.deny上面设置了ssh的denylinux文件传输命令,不管怎么的诱因。我明天越过你们常用的scp,来说明下一个更有用的轻量级工具,nc的另一个强悍的功—文件传输。
范例如下:
目的主机窃听
nc-l窃听端口[未使用端口]>要接收的文件名
nc-l4444>cache.tar.gz
源主机发起恳求
nc目的主机ip目的端口<要发送的文件
nc192.168.0.854444</root/cache.tar.gz
netstat如下
[root@linuxcooljiangbao]#netstat-tpln
tcp000.0.0.0:44440.0.0.0:*LISTEN18166/nc
英语描述如下
DATATRANSFER
Startbyusingnctolistenonaspecificport,withoutputcapturedintoafile:
$nc-l1234>filename.out
Usingasecondmachine,connecttothelisteningncprocess,feedingitthefilewhichistobetransferred:
$nc1234<filename.in
另附nc的其他选项说明:
句型:nc[-hlnruz][-g][-G][-i][-o][-p][-s][-v…][-w][主机名称][通讯端口…]
补充说明:执行本指令可设置路由器的相关参数。
参数:
-g设置路由器跃程通讯网段,最丢哦可设置8个。
-G设置来源路由指向器,其数值为4的倍数。
-h在线帮助。
-i设置时间间隔,便于传送信息及扫描通讯端口。
-l使用窃听模式,管控传入的资料。
-n直接使用IP地址,而不通过域名服务器。
-p设置本地主机使用的通讯端口。
-r乱数指定本地与远端主机的通讯端口。
-s设置本地主机送出数据包的IP地址。
-u使用UDP传输合同。
-v显示指令执行过程。
-w设置等待连线的时间。
-z使用0输入/输出模式,只在扫描通讯端口时使用
Linux远程复制文件
假如想把机器A前面的dir目录下边的所有文件复制到机器B的dir目录下,我们可以使用nc命令来完成
在机器A的dir目录下边执行:
tar-czf-*|nc-l4444
之后再机器B的目录目录dir下边执行:
sudonc「机器A的机器ip」4444|sudotar-xzf-
补充资料2:
1,在Linux下须要对大量小文件进行联通或复制时,用cp、mv就会变得很没有效率,可以用tar先压缩再解压缩的形式。
2adobe air linux,在网路环境中传输时,可以再结合nc命令,通过管线和tcp端口进行传输。
nc和tar可以拿来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多。
因为nc是一个超轻量的命令linux文件传输命令,所以通常busybox就会集成它。当一个linux终端,例如linuxpda,通过usblan的形式联接到另一台linux主机的时侯,这样的嵌入式终端上通常不会集成ftpserver,sshserver这样比较笨重的服务redhat linux,这个时侯,nc可能成为惟一的上传手段。
例如将机器A上的mytest目录上传到到机器B(192.168.0.11)上,只须要:
在机器B上,用nc来窃听一个端口,随意就好,只要不被占用;而且将收到的数据用tar展开。-l代表窃听模式。
[root@~]#nc-l4444|tar-C/tmp/dir-zxf-
之后,在A上通过nc和tar发送test目录。使用一致的4444的端口。
[root@~]#tar-zcvf-mytest|nc192.168.0.114444
记得有一次,一台机器内核崩了,后来有位前辈用liveCD把机器启动上去,就是用了类似的方式把数据导下来的。