开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

每天一个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 命令常见选项 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-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




本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1900477,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《LinuxShell训练营》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载