使用netcat命令网络同步复制系统

转载 2007年09月13日 12:06:00
本记录思想是通过以太网络,配合简单的3个命令,实现把配置好了的完整系统复制到其他机器。以便于局域网上的快速安装,并减少单台机器系统配置的过程。

使用了3个命令:nc,dump,restore。

代码:
netcat 简称 nc. Netcat 是一把非常简单易用的基于 TCP/IP 协议(C/S模型的)的“瑞士军刀”(man里面,第一句就是这样说的),它能允许我们通过网络创建管道(pipe)。

dump 和 restore 是用于备份和恢复系统的常用命令。位于dump包中。可以apt-get install dump。


实验的目的:我们将源机器的根分区,通过 dump/restore 和 nc 来传送到目标机器的指定分区。 先实验将源机器的/var/cache/apt/archives/复制到目标机器。

1:在接收端(目标电脑),创建一个 netcat 的监听例程(-l),这个监听例程将管道输出到 restore。 把接受到的数据写到目标机器。
nc -l -p 2000 -q 1 | restore -r -f -

这里-p是建立一个端口。-q 选项是让 nc 在到达文件结束(EOF)时延时n秒后,自动停止运行。

2:在 源电脑, 创建另一个 netcat 的例程,这个例程将它从管道里得到的输入(也就是dump备份的数据)发给目标电脑。
dump -0 -f - /dir | nc <target-ip> 2000

这里 target-IP 是目标电脑的 IP 地址。 2000是端口号。

以下是man里面的原版说明,可以参考。
代码:
restore说明:
 -f file
    Read  the  backup  from  file; file may be a special device file like /dev/st0 (a tape drive), /dev/sda1 (a disk drive), an ordinary file, or - (the standard input). If the name of the file isof the form host:file or user@host:file, restore reads from  the named file on the remote host using rmt(8).

 -r     Restore (rebuild) a file system. The target file  system  should be made pristine with mke2fs(8), mounted, and the user cd’d into the pristine file system before starting the restoration of  the initial  level  0  backup. If the level 0 restores successfully, the -r flag may be used to  restore  any  necessary  incremental backups on top of the level 0. The -r flag precludes an interac‐ ive file extraction and can be detrimental to one’s health (not to mention the disk) if not used carefully. An example:

                     mke2fs /dev/sda1
                     mount /dev/sda1 /mnt
                     cd /mnt
                     restore rf /dev/st0

   Note  that  restore  leaves  a  file restoresymtable in the root directory  to  pass  information  between  incremental   restore passes.   This  file should be removed when the last incremental has been restored.


代码:
dump说明:
-f file
    Write the backup to file; file may be a special device file like /dev/st0 (a tape drive), /dev/rsd1c (a floppy  disk  drive),  an ordinary  file,  or - (the standard output). Multiple file names may be given as a single argument separated by commas. Each file will  be  used  for  one dump volume in the order listed; if the dump requires more volumes than the number of names  given,  the last file name will used for all remaining volumes after prompt‐ing for media changes. If the name of the file is  of  the  form host:file or user@host:file dump writes to the named file on the remote host (which should already exist, dump doesn’t  create  a new  remote  file)  using  rmt(8).  The default path name of the remote rmt(8) program is /etc/rmt; this can be overridden by the environment variable RMT.

[-level#]


代码:
nc - TCP/IP swiss army knife说明:
       -l           listen mode, for inbound connects
       -n           numeric-only IP addresses, no DNS
       -o file      hex dump of traffic
       -p port      local port number  (port  numbers  can  be  individual  or ranges: lo-hi [inclusive])
       -q seconds   after  EOF  is detected, wait the specified number of seconds and then quit.


-------------------------
实验结果,数据送传可以,只是目标路径有些偏差。2边执行了
代码:
sudo dump -0 -f - /var/cache/apt/archives/ | nc 10.23.1.100 2000
~$ nc -l -p 2000 -q 1 | restore -r -f -


结果数据全部传送到了~/var/cache/apt/archives/。
当时考虑失误,安装目标机器系统时,图简单,安装时选了格式全盘,安装的server,然后安装了dump包。结果搞得没有空闲分区测试。直接根目录对根目录传送,提示失败,被中断。想来也想得到。挂载了并且在运行中的根目录怎么会让你覆盖哦。

总体来说,实验还是成功的。数据传送正常。以后就只要找个带了nc/dump/restore命令的live cd。就可以在裸机或者其他任何有空间的机器上,复制其他机器上配置好了的linux系统了。我想以太网络的速度应该比usb硬盘之类的要好得多。 省去了独立安装系统时,系统检测,解包,下载包,配置软件的时间,这些也是占用很长的时间的。

忘记了,复制以后,需要按照机器设置,修改/etc/fstab(分区结构), /etc/network/interfaces(网络ip,dhcp的就可以不要修改), /boot/grub/menu.lst(多数不要修改,除开目标机器有其他不同的系统), 然后就是显卡和声卡(这个我以前写过),硬件的驱动。
 

linux中的netcat命令 -- 网络中的瑞士军刀

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。 netcat所做...
  • yusiguyuan
  • yusiguyuan
  • 2014年10月14日 17:48
  • 913

【网络编程】netcat使用方法

netcat被誉为网络安全界的‘瑞士军刀',相信没有什么人不认识它吧......    一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具, 能够直...
  • baidu_39511645
  • baidu_39511645
  • 2017年10月21日 09:34
  • 87

linux nc/netcat命令使用详解

linux nc命令使用详解 功能说明:功能强大的网络工具 语  法:nc [-hlnruz][-g][-G][-i][-o][-p][-s][-v...][-w][主机名称][通信端口......
  • joyce5008
  • joyce5008
  • 2016年08月17日 15:43
  • 868

Netcat使用手册(nc)

简介: 在网络工具中有“瑞士军刀”美誉的NetCat(以下简称nc),在我们用了N年了至今仍是爱不释手。因为它短小精悍(这个用在它身上很适合,现在有人已经将其修改成大约10K左右,而且功能不减少)。...
  • xing_anksh
  • xing_anksh
  • 2013年12月04日 14:19
  • 3455

最简版QQ~~牛逼的Linux Netcat 命令

牛逼的Linux Netcat 命令聊天工具~~简易版QQ~~Chat Server假如你想和你的朋友聊聊,有很多的软件和信息服务可以供你使用。但是,如果你没有这么奢侈的配置,比如你在计算机实验室,所...
  • liuk10
  • liuk10
  • 2016年03月03日 19:21
  • 656

使用nc命令来测网速

最早测试家里千兆局域网的时候是用java写了个servlet,无限制的输出,然后另外一台电脑使用curl来下载servlet的结果,今天给家里nas装了一个Intel Expi9400pt 服务器级网...
  • xiaohelong2005
  • xiaohelong2005
  • 2014年10月15日 15:39
  • 1556

Kali 网络工具“瑞士军刀”NetCat

netcat能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。 netcat所做的就是在两台电脑之间建立链接...
  • qq_33936481
  • qq_33936481
  • 2016年04月16日 19:00
  • 1374

linux netcat命令详解

NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网...
  • uestczshen
  • uestczshen
  • 2017年01月03日 17:05
  • 941

windows下后门技术(netcat篇)

由于这次ctf的失利,来补习一下知识吧!windows下后门环境 win7 nc.exe假设用administrator登陆用nc创建了一个后门,Netcat 功能比较单一, 缺少了许多我们渗透工作...
  • d_0xff
  • d_0xff
  • 2016年05月25日 23:47
  • 5612

科普:Windows下Netcat使用手册

本文转自https://www.91ri.org/7761.html,稍作修改,所有权力归原作者所有。 简介: 在网络工具中有“瑞士军刀”美誉的NetCat(以下简称nc),在我们用了N年...
  • sdujava2011
  • sdujava2011
  • 2015年07月20日 14:48
  • 8306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用netcat命令网络同步复制系统
举报原因:
原因补充:

(最多只允许输入30个字)