功能

nc全称叫netcat,是一个用于处理TCP或UDP数据的命令,很有意思^_^。

示例

1、指定监听12306端口nc命令,并打印出接收到的数据。(我在另外一台服务器上telnet 12306端口,并输入了hello linux-time)

[root@linux-time ~]# nc -l 12306hello linux-time

2、连接到12306端口,然后向该端口写入数据库,和上面提到的telnet命令有同样的效果,按Ctrl+c结束写入。

[root@linux-time1 ~]# nc 192.168.10.1 12306hello linux-time

3、设置连接端口超时时间

[root@linxu-time1 ~]# nc -w 2 192.168.10.1 12306

4、演示下用nc命令传文件

1)、查看下linux-time主机上的filename内容

[root@linux-time ~]# cat filename hello linux-time

2)、监听12306端口,指定传送的文件filename。

[root@linux-time ~]# nc -l 12306 < filename

3)、在linux-time1主机上接受文件

[root@linxu-time1 ~]# nc 192.168.10.1 12306 > filename

4)、按ctrl+c后,用cat命令对比下文件是否传过来了。

[root@linxu-time1 ~]# cat filename hello linux-time

5、在第一个和第二个例子里nc命令,客户端发送完数据,按ctrl+c后服务端就退出来了,如果要保持服务端继续监听可以加个-k选项。

[root@linux-time ~]# nc -k -l 12306

6、扫描主机指定的开发端口

[root@linxu-time1 ~]# nc -v -z 192.168.10.1 12306Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 192.168.10.1:12306.Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.

7、充当代理,将数据从本地的TCP端口转发到指定的远程主机,举个例子,在linux-time这台主机上监听12306端口,并把数据转发到的80端口。

[root@linux-time ~]# nc -l 12306 | nc www.baidu.com 80

然后在linux-time1这台主机上使用curl命令访问linux-time的12306端口,可以看到linux-time返回了数据。

[root@linxu-time1 ~]# curl -I http://192.168.10.1:12306

补充

CentOS安装

[root@linux-time ~]# yum install nmap-ncat

长按识别或扫码关注「Linux命令手册」

可以快速查询命令和提升Linux技能哦!

限时特惠:本站每日持续更新海量展厅资源,一年会员只需29.9元,全站资源免费下载
站长微信:zhanting688