linux系统nc命令的使用

1、安装该命令(nc是netcat的简写)

用yum进行安装,若安装旧版本的可能会有些命令参数无法正常使用

2、一些基本用法

nc -z -v -n 192.168.137.2 1-100 扫描192.168.137.2地址1-100的端口号

可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp

z 参数告诉netcat使用0 IO,连接成功后立即关闭连接,不进行数据交换

v 参数指使用冗余选项

n 参数告诉netcat不要使用DNS反向查询IP地址的域名

nc -v 192.168.137.2 22

连接该地址开放的22端口,并且打印运行在这个端口上服务的banner信息

实验部分

现有两台服务器:192.168.137.2和192.168.137.10,分别命名为A和B

使A和B可以互相聊天

A nc -n -l -u -p 1000

B nc -n -u 192.168.137.2 1000

-u参数调整为udp

-l 表示在服务器端启用监听模式

-n  不做域名解析

-p 指定监听的端口

这时A和B两台服务器便可在命令行进行聊天

使A和B之间相互传输单个文件

A nc -l 2000 > file.txt 在A中开一个2000端口并进行监听,将写入的内容放到本地命名为file.txt

B nc 192.168.137.2 2000 < file.txt 将B中file.txt传送到Aip的2000端口

在A与B之间互传文件夹

在A中/root/下创建ceshi目录,并在ceshi下创建test.txt

A tar -cvf - ceshi |nc -l 1000

B nc 192.168.137.2 1000 |tar -xvf -

这时发现在B中已经有了A传送过去的ceshi目录

=======================================================================

实例:两台机器互传文件

A:192.168.0.131(接收方) B:192.168.0.10(发送方)

本次打算用3333端口传送数据,在操作前先确保两台服务器的防火墙不会禁止3333端口

先在A上操作:进入要接收数据的目录下

while true

do

nc -l 3333|tar -xvf -

done

这时在看该机器3333端口已打开

再去B上操作:进入要传送的目录下

tar -cvf - 文件/目录名 |nc 192.168.0.131 3333

这时两台机器间便开始传送数据

你可能感兴趣的:(linux系统nc命令的使用)