目录

  • 安装nc
  • 远程拷贝文件到本地
  • 一次发送多个文件
  • nc命令报错 close: Bad file descriptor
  • 查看端口占用
  • 克隆硬盘或分区
  • 端口扫描
  • 聊天(类似qq聊天)
  • python 实现文件下载
  • 参考文档


安装nc

yum install -y nc

远程拷贝文件到本地

从server1拷贝文件到server2上。需要先在server2上,用nc激活监听。
server2 ip: 192.168.200.27
server2:

nc -l 9000 > abc.txt

server1:

nc 192.168.200.27 9000 < abc.txt

一次发送多个文件

zip -r 20200601.zip *_20200601.txt
nc -l 9000 > 20200601.zip
nc 10.238.170.84 9000 < 20200601.zip
或者
上边只监听一次,如果多次可以加上-k参数
nc -lk 9000

nc命令报错 close: Bad file descriptor

使用nc -4,强制使用ipv4即可。

nc -4 -l 9000 > logstash.tar

查看端口占用

netstat -ltn
netstat -an | grep 8080

nc 参数:
-g<网关> 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源地址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。

克隆硬盘或分区

操作与上面的拷贝是雷同的,只需要由dd获得硬盘或分区的数据,然后传输即可。
克隆硬盘或分区的操作,不应在已经mount的的系统上进行。

#server2上进行类似的监听动作:

nc -l -p 1234 | dd of=/dev/sda

#server1上执行传输,即可完成从server1克隆sda硬盘到server2的任务:

dd if=/dev/sda | nc 192.168.200.27 1234

端口扫描

nc -v -w 1 192.168.200.29 -z 20-30
nc: connect to 192.168.200.29 port 20 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 21 (tcp) failed: Connection refused
Connection to 192.168.200.29 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.200.29 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 24 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 25 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 26 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 27 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 28 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 29 (tcp) failed: Connection refused
nc: connect to 192.168.200.29 port 30 (tcp) failed: Connection refused

聊天(类似qq聊天)

server2:

nc -l 1234 
hello!
hi!

server1:

nc  192.168.200.27 1234 
hello!
hi!

python 实现文件下载

Python可以临时启动一个http server来提供文件访问
要和下载的文件一个目录或者父目录

Python 2

python -m SimpleHTTPServer 9002

Python 3

python3 -m http.server 9002

通过浏览器我们就可以看到目录可以进行下载

参考文档