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 <n> 指向器数目 (4,8,12,...)
-d, --delay <time> 同时建立的最大连接数
-o, --output <filename> 输出文件
-x, --hex-dump <filename> 十六进制输出文件
-i, --idle-timeout <time> 空闲读/写超时时间
-p, --source-port port 指定特定的源端口
-s, --source addr 指定特定的源ip
-l, --listen 绑定并监听传入的连接
-k, --keep-open 在监听模式下接受多个连接
-t, --telnet 应答Telnet握手协议
-u, --udp 使用udp代替默认的tcp
--sctp 使用sctp代替默认的tcp
-w, --wait <time> 连接超时时间
端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞。
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
当传输目录或大文件(尤其适合有大量空洞的文件),我们可以借助压缩工具,先压缩后传输。
远端(接收端)
nc -l 0.0.0.0 8192 |tar xf -
本地(发送端)
tar cSf - * | nc remote_ip 8192
server端
dd if=/dev/sda | nc -l 1567
client端
nc -n 172.31.100.7 1567 | dd of=/dev/sda
服务端运行下面脚本
#!/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