首页 > 代码库 > 每天一个liunx 命令 nc
每天一个liunx 命令 nc
NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。
使用方法:
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
nc 命令常见选项
-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP地址,而不通过域名服务器。 -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。 -p<通信端口> 设置本地主机使用的通信端口。 -r 乱数指定本地与远端主机的通信端口。 -s<来源位址> 设置本地主机送出数据包的IP地址。 -u 使用UDP传输协议。 -v 显示指令执行过程。 -w<超时秒数> 设置等待连线的时间。 -z 使用0输入/输出模式,只在扫描通信端口时使用。
软件安装 (以centos 为例)
yum install nc -y
举例说明
远程拷贝文件 不需要输入用户名密码
目的主机监听
nc -l 监听端口[ 未使用端口] > 要接收的文件名
nc -l 23456 > 20170113_all.sql
打开另外一个终端查看端口是否监听到
netstat -tnlp | grep 23456
tcp 0 0 0.0.0.0:23456 0.0.0.0:* LISTEN
源主机发起请求
nc 目的主机ip 目的端口 < 要发送的文件
nc -l 23456 < 20170113_all.sql
检查目的主机文件是否拷贝
[root@localhost31 ~]# ll 20170113_all.sql
-rw-r--r-- 1 root root 27903998 Feb 23 10:23 20170113_all.sql
端口扫描功能
[root@localhost31 ~]# nc -v -z -w2 192.168.10.31 1-3
nc: connect to 192.168.10.31 port 1 (tcp) failed: Connection refused
nc: connect to 192.168.10.31 port 2 (tcp) failed: Connection refused
nc: connect to 192.168.10.31 port 3 (tcp) failed: Connection refused
简单聊天功能
[root@localhost31 ~]# nc -l 1234
[root@localhost32 ~]# nc 192.168.10.31 1234
开启聊天模式,停止聊天一段 ctrl+z 终止
server 2 发送消息
[root@localhost32 ~]# nc 192.168.10.31 1234
hi
server 1 接收消息
[root@localhost31 ~]# nc -l 1234
hi
拷贝目录下文件的功能
目的拷贝 32 上的一个目录到 31 服务器上
31 服务器器操作
[root@localhost31 ~]# nc -l 12345 | tar -C /tmp/ -zxf-
31 服务器随机 监听 12345 端口 ,将拷贝过的文件放到 /tmp/ 目录下面
32 服务器操作
[root@localhost32 ~]# tar -zcvf- keepalived_offline_install | nc 192.168.10.31 12345
检查
[root@localhost31 tmp]# ls keepalived_offline_install/
keepalived_offline_install.sh rpm
本文出自 “sdsca” 博客,请务必保留此出处http://sdsca.blog.51cto.com/10852974/1900477
每天一个liunx 命令 nc