通常,可以用scp完成两台主机间的文件传输任务,但在主机间未建立信任关系的情况下,scp每次都需要输入密码,用起来感觉不是很方便,之前这篇笔记介绍过不用输入密码执行脚本或传输文件的方法,但对于一些临时性的任务,准备工作还是比较麻烦。
        本笔记介绍一种简单的不用密码即可实现两台主机间的文件传输的技巧—借助Linux的nc工具,方便之处:1) Linux系统通常默认安装nc工具,不需额外安装;2) 传输文件时不需输入密码。不足之处:需要在两台机器上分别输入一条命令。^_^

1. what is nc ?
        nc是netcat的简写,关于nc是什么,man如是说:arbitrary TCP and UDP connections and listens
        nc可以方便地实现任意TCP/UDP端口的侦听,连接的建立,端口的扫描,等等。也即,nc既可以作为server以TCP或UDP方式侦听指定端口,也可以作为client发起TCP连接或方式UDP包。下面要介绍的技巧就是借助其TCP连接来实现主机间文件传输的。
        nc的控制参数不少,常用的几个参数如下所列:
        1) -l
        用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
        2) -p <port>
        指定nc要使用的端口。若之前已指定-l,则这里的-p指定具体的侦听端口;若未指定-l,则表示向这个端口发起连接。
        备注:nc要连接的目的端口可以是具体的整数,也可以直接通过服务名指定,这种情况下,nc会负责将name映射至某个well-known port(可用cat /etc/services查看这些端口跟服务名的映射关系)
        3) -s <hostname/ip-address>
        指定发送数据的源IP地址,适用于多网卡机器
        4) -u
        指定nc使用UDP协议,默认为TCP
        5) -v
        输出交互或出错信息,新手调试时尤为有用
2. use nc to transmit data between hosts
        经过上面对nc的简介,估计不少同学已经知道怎么用nc来实现两台机器间的文件传输了。这里对实现流程做简单说明。
        1)在数据接收方的机器上侦听指定端口

     nc -l -p 8210 > demo.txt        # 在本机8210端口侦听TCP连接,将收到的数据写入文本文件nc -l -p 8210 > demo.tar.bz2    # 在本机8210端口侦听TCP连接,将收到的数据写成压缩文件

2)在数据发送方机器上向指定地址(ip+port)以TCP方式发送数据  

     nc dest_ip 8210 < demo.txt      # 向ip为dest_ip的机器的8210端口发送demo.txt文件nc dest_ip 8210 < $(tar -jcvf demo.tar.bz2 demo.txt) # 压缩后发送

3)-v打印出错信息
        接收方:nc -v -l -p 8210 
        发送方:nc -v dest_ip 8210

注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。

=============== EOF ===============

【Linux学习笔记】用nc实现两台主机间的文件传输(不需要输密码)相关推荐

  1. linux学习笔记(五)编译内核模块生成ko驱动文件

    系列文章目录 linux学习笔记(五)编译内核模块生成ko驱动文件 文章目录 系列文章目录 前言 一.加载内核简介 二.第一个hello world文件 1.文件树 2.hello.c 3.Makef ...

  2. linux两台服务器间复制文件scp

    换服务器或添加服务器时常会用到两台服务器之间复制文件,这个时候就可以使用scp命令. scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是 ...

  3. linux删除除非某某文件,find命令查找比某个文件新或...-linux下删除某一时间段的文件-scp命令在两台服务器直接进行文件传输的方法_169IT.COM...

    find命令查找比某个文件新或旧的文件,有需要的朋友可以参考下. 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项. 它的一般形式为: 代码如下: newest_f ...

  4. winscp下载很慢_winscp使用教程 两台电脑间传文件,winscp使用教程 两台电脑间传文件,软件介绍...

    ftp是一种文件传输协议,可以实现在两台或者多台电脑之间传文件,在选择一款ftp软件的时候,应该看中的是安全性和传输速度,有时候的传输的文件是比较重要的,传输速度也很有必要,毕竟是传文件没有的文件太大 ...

  5. Linux高级进程编程———在任意两个进程间传递文件描述符:使用 sendmsg 和 recvmsg 实现

    进程间传递打开的文件描述符,并不是传递文件描述符的值.那么在传递时究竟传递了什么?我们要先搞明白这个问题. 1.文件描述符 文件描述符的值与文件没有任何联系,只是该文件在进程中的一个标识,所以同一文件 ...

  6. 同一局域网下两台PC之间大文件传输

    操作步骤: 两台电脑连接同一局域网(手机开热点,两个设备一起连也是一样的) 右击右下角网络连接图标:打开网络和Internet设置,选择共享选项,开启所有网络标签下的公用文件夹共享权限,设置无密码,一 ...

  7. 局域网下两台电脑之间的文件传输

    场景 首先,我的实验室有两台电脑,一台ubuntu接实验室网线,另一台windows使用的是其他实验室WiFi(我们搬了实验室之后全部都是网线没有WiFi).这就造成了不同操作系统如果有的时候需要互相 ...

  8. 通过Everything工具实现两台电脑之间的文件传输

    场景:笔记本需要台式机中的文件 工具:Everything 前提:两台电脑之间能够ping,如果不能,关掉台式机的防火墙,再试试 1,查找台式机的ip地址:ipconfig 2,在笔记本ping台式机 ...

  9. java实现两台计算机的互联,如何用Java语言实现两台计算机之间的文件传输?

    最近新学习了Java语言,算是一个小白,想用TCP Socket进行网络编程,使得服务器端接受客户端的文件,但是遇到了一个错误,有人知道该怎么解决吗? //这是服务器端的代码 public class ...

最新文章

  1. python编程求圆的面积案例_Python实用案例编程入门:第七章 调式手段
  2. 分布式缓存的选择及问题
  3. pycharm全局修改
  4. AI:机器学习、深度学习在实际应用(工业应用)中的步骤流程框架、实际场景(案例)之详细攻略
  5. 通过docker的方式进行RocketMQ的安装
  6. Android:在安卓中使用TFLite模型
  7. 星河经纬加入会员可靠吗_星河湾外墙防水补漏 星河湾外墙防水补漏公司 星河湾外墙防水补漏师傅 星河湾外墙防水补漏施工队电话...
  8. Web前端和后端开发的区别和要求
  9. idea 包拆分_idea springboot项目拆分多模块踩坑记(1)
  10. linux 火狐浏览器插件,Linux系统Firefox(火狐浏览器)插件挂机
  11. uandroidtool使用教程_apktool反编译详细使用教程_图文教程
  12. ps技巧学习之常用8种抠图方法
  13. PPT批量导入文字(Python实现)
  14. hihoCoder1378 (最大流最小割)
  15. ★ Android 各类依赖库文件 收藏 ★
  16. PostgreSQL 分区表一点也不差
  17. 前端面试--什么是防抖和节流
  18. C++解决猴子吃桃问题(详细)
  19. 《学习笔记56》—— python爬虫显示乱码 b‘\x1f\x8b\x08\x00\x00\x00\x00\x00\...‘
  20. 基于阿木实验室P200飞行器simulink模型开发的多旋翼无人机自抗扰控制器(ADRC)参数调整和仿真

热门文章

  1. UVA 1160——X-Plosives
  2. 709. 转换成小写字母 golang 字符串处理
  3. 软件工程学习笔记《目录》
  4. 运算符与,|与||的区别
  5. linux-----强大的find
  6. Linux系统编程---11(会话,守护进程,创建守护进程)
  7. minicom 串口信息过长分行显示
  8. 【Coursera】Getting Started with Python:Week One - Reading: Welcome to The Class
  9. 比特币源码学习笔记(一)
  10. 存储映射I/O(一)