linux nc/ncat 命令详解

Concatenate and redirect sockets(连接并重定向套接字)
在centos7上nc和ncat是同一个工具
nc/ncat是一个功能丰富的网络实用程序,可通过命令行在网络上读写数据。 它旨在成为一种可靠的后端工具,可立即为其他应用程序和用户提供网络连接。 nc/ncat不仅可以使用IPv4和IPv6,还可以为用户提供几乎无限的潜在用途。
###语法
nc [-hlnruz][-g<网管>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源地址>][-v…][-w<超时秒数>][主机名称][通信端口…]

参数说明
-h 查看帮助信息
-g hop1[,hop2,...]         松散源路由跳点(最多8个)
-G                      指向器数目 (4,8,12,...)
-d, --delay 

示例

端口扫描

端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞。

nc -z -v -n 172.31.100.7 21-25

可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp.
z 参数告诉netcat使用0 IO,连接成功后立即关闭连接, 不进行数据交换(谢谢@jxing 指点)
v 参数指使用冗余选项(译者注:即详细输出)
n 参数告诉netcat 不要使用DNS反向查询IP地址的域名
这个命令会打印21到25 所有开放的端口。Banner是一个文本,Banner是一个你连接的服务发送给你的文本信息。当你试图鉴别漏洞或者服务的类型和版本的时候,Banner信息是非常有用的。但是,并不是所有的服务都会发送banner。
一旦你发现开放的端口,你可以容易的使用netcat 连接服务抓取他们的banner。

nc -v 172.31.100.7 21
文件传输

server端

nc -l 1567 < file.txt

client段

nc -n 172.31.100.7 1567 > file.txt

或者可以反过来(从客户端向服务段传文件)
server端

nc -l 1567 > file.txt

client端

nc -n 172.31.100.7 1567 < file.txt
和tar结合使用

当传输目录或大文件(尤其适合有大量空洞的文件),我们可以借助压缩工具,先压缩后传输。
远端(接收端)

nc -l 0.0.0.0 8192 |tar xf -

本地(发送端)

tar cSf - * | nc remote_ip 8192
和dd结合使用(远程克隆设备)

server端

dd if=/dev/sda | nc -l 1567

client端

nc -n 172.31.100.7 1567 | dd of=/dev/sda
借助nc/ncat开启udp server

服务端运行下面脚本

#!/usr/bin/bash

#Catch 'ctrl+c' signal for terminate 'while loop'.
trap "server_exit" 2
function server_exit
{
    exit 0
}
while true
do
    hostname|nc -lu 500
done

客户端运行:nc -u x.x.x.x 500
更多使用示例请参考:https://blog.csdn.net/zhangxiao93/article/details/52705642

你可能感兴趣的:(linux nc/ncat 命令详解)