nc命令简单实用

it2023-05-15  68

https://blog.csdn.net/u012486730/article/details/82019996 用法一就看上面这个链接

在测试之前一定要先关闭防火墙!!!,不然会总是失败

systemctl stop firewalld systemctl disable firewalld

这里我重点看nc的用法二

A:192.168.0.34

B:192.168.0.111

使用nc传输文件和目录

方法1,传输文件演示(先启动接收命令)

使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了

把A机器上的一个rpm文件发送到B机器上

需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。

步骤1,先在B机器上启动一个接收文件的监听,格式如下

意思是把赖在9995端口接收到的数据都写到file文件里(这里文件名随意取)

nc -l port >file nc -l 9995 > 233.txt

值得一提的是,我们只要写了这个file文件,那么这个file就会马上被创建,不过他是空的

步骤2,在A机器上往B机器的9995端口发送数据,把下面文件发送过去

nc 192.168.0.111 9995 < dd.php

我们可以看下dd.php文件里的数据是啥,发现只是一串代码。

这个时候我们再来看B机器上收到的文件,有数据没? 可以看到,这个文件接收到数据了,

但是

我们发现了一个问题,我们发现我们在B主机上创建的接受文件和A发送过来的文件的文件名是不一样的。 所以!!!! 我们在接收的时候要注意,创建的文件名要和发送的文件名一样。

方法2,传输文件演示(先启动发送命令)

步骤1,先在B机器上,启动发送文件命令

下面命令表示通过本地的9992端口发送test.mv文件

nc -l 9999 < x23.txt

步骤2,A机器上连接B机器,取接收文件

下面命令表示通过连接B机器的9992端口接收文件,并把文件存到本目录下,文件名为cao.txt

nc 192.168.0.111 9999 > cao.txt

方法3,传输目录演示(方法发送文件类似)

步骤1,192.168.0.111机器先启动监听,如下

A机器给B机器发送多个文件

传输目录需要结合其它的命令,比如tar

经过我的测试管道后面最后必须是 - ,不能是其余自定义的文件名

nc -l 9995 | tar xfvz -

步骤2,192.168.0.34机器打包文件并连接192.168.0.111机器的端口

管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器

tar cfz - * | nc 192.168.0.111 9995

192.168.0.111机器这边已经自动接收和解压

最新回复(0)