解决Ncat: Connection refused.的问题

今天在整理rpc笔记的时候,想要使用nc工具查看一下服务器拿到请求数据并处理之后,返回的数据是什么样子的。
于是我使用nc工具来查看:

echo -e '{"method":"HelloService.Hello","params":["hello"],"id":1}'| nc localhost 1234

结果遇到了这个问题:

Ncat: Connection refused.

由于这个工具不太熟练,这个问题就比较费解,查阅资料之后得以解决。
首先,出现这个问题的原因是系统将nc默认指向了ncat,导致使用命令nc,其实使用的是ncat。可以通过如下方式来查看:
1.whereis nc. 查找nc位置:

nc: /usr/bin/nc /usr/share/man/man1/nc.1.gz

2.ls -l /usr/bin/nc,查看软链接:

3月  23 11:39 /usr/bin/nc -> /etc/alternatives/nmap

发现确实指向的是nmap。这里需要说明的是,nc与netcat是一个东西,而ncat是nmap下面的一个套件,可以理解为nc的增强版。
了解了原因,就可以有两种解决方式:
方法一:删除原有的软链接,使他指向nc;
方法二:使用ncat重新链接。
第二种方法可以自行查阅,这里只用第一种方法来解决这个问题:
1.安装netcat(如果已经安装可以跳过):
下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/
安装教程:(2条消息) RHEL7.2下netcat工具安装教程_weixin_34239169的博客-CSDN博客
2.删除原有的软链接:

rm /usr/bin/nc

3.新建指向nc的软连接:

ln -s /opt/netcat/bin/nc /usr/bin/nc

4.再次查看软链接指向:

9月   7 15:33 /usr/bin/nc -> /opt/netcat/bin/nc

设置成功。
重新连接测试,就不再报错了~

你可能感兴趣的:(解决Ncat: Connection refused.的问题)