Linux nc命令的简单玩法

nc是netcat的简写。nc的作用很多,可以实现网络端口监听、网络数据传输等,其用法可以用命令man nc或者nc --help查看。

本文主要介绍nc的一个简单玩法,实现监听一个端口,然后往这个端口写入点数据,在监听终端上看到写入的数据。

打开第一个终端监听某个端口,例如:9999

$ nc -lk 9999


nc参数中 -l(小写的L)表示listen  -k表示keep on 持续监听。

开启第二个终端,给9999端口发送一个文本或者字符串:

$ echo "Hello world, hello nc" | nc localhost 9999

第一个终端输出:
Hello world, hello nc

说明第二个终端通过nc命令将内容传输到了9999端口。

继续测试:

将第二个终端命令稍加修改为如下内容,再次执行

$ echo "Hello again" | nc localhost 9999

第一个终端输出了第二次传输的内容。 

---------------------------------------------------------------------------------------------

通过以上介绍,nc可以实现一个终端(客户端)向第二个终端(服务端)发送内容,类似于单向的聊天。

可以升级以上玩法,实现双向传输内容,也就是双向聊天:

准备两个终端:node1和node2

确保两台机器已经在/etc/hosts文件映射了ip和对应的主机名

在第一个终端:node1,执行命令nc -vl 54321

hadoop@node1:~$ nc -vl 54321

在第二个终端:node2 ,执行命令nc -v node1 54321,如果没有映射ip和主机名,可以将node1换成node1的ip。

hadoop@node2:~$ nc -v node1 54321

在node1上输入内容后,node2能收到并显示node1输入的内容;

在node2上输入内容后,node1能收到并显示node2输入的内容;

互相聊天效果如下:

node1:

node2: 

完成! enjoy it! 

猜你喜欢

转载自blog.csdn.net/qq_42881421/article/details/84503991