NCAT 的意思就是 连接和重定向套接字(Concatenate and redirect sockets)
使用方法呢也是ncat [OPTIONS...] [hostname] [port]
描述
ncat是一个功能强大的网络工具,能从网络之中通过命令行读取和写入数据.
ncat是为nmap项目编写的,是从nmap项目中分离出来的最好的部分
它设计是一个可靠的后端工具,以提供即时网络连接到其他用户和应用程序
ncat不仅仅可以工作在ipv4和ipv6下,还可以为用户提供无限潜能的用途
ncat最大的特征就是能够链接Ncat's在一起(chain Ncat's together).
提供TCP, UDP的重定向功能,并且还有SSL的支持
还有通过SOCKS4和HTTP代理(可选代理认证)连接到代理
一些一般的原则适用于大多数的应用程序,从而给你其它应用程序一般不会提供在,但是可以马上增加软件的网络能力的能力.
OPTIONS SUMMARY
-4 仅仅使用IPV4
-6 仅仅使用IPV6
-U, --unixsock 仅仅使用Unix套接字
这个选项使用Unix的域名套接字,而不是网络套接字,这个选项可以用在自己的流式套接字,或结合UDP数据包套接字
-C, --crlf 使用CRLF代替EOL句子
-c, --sh-exec
-e, --exec
-e, --lua-exec
-g hop1[,hop2,...] 松散的源路由跳点(最大是8)
松散源路由跳数设置为ipv4,可以用逗号隔开一个分割列表, 用多个时间的单跳来构建列表,或者把两者结合起来.hops可以使用ip地址和主机名
-G
设置ipv4的源路由指针,参数必须是4的倍数,并非所有的操作系统支持这个指针直到4
-m, --max-conns
100是默认值(windows中是60)
-h, --help 显示帮助文档
-d, --delay
-o, --output
-x, --hex-dump
-i, --idle-timeout
-p, --source-port port 指定使用特定的源端口
-s, --source addr 指定使用特定的地址(不影响 -l 选项)
-l, --listen 连接和收听到来的连接
-k, --keep-open 接受多个听模式的连接
一般只接受一个连接,当连接关闭时,则退出.这个选项使得它可以接受多个同时连接,并等待更多的连接,并等待他们都关闭.它必须和监听模式一起使用.这种模式 下ncat是无法知道输入完成的,这也意味着它不会关闭输出流.所以所有的ncat程序一直会在寻找EOF挂起.
-n, --nodns 不通过DNS解析主机名
-t, --telnet 回答telnet的谈判
-u, --udp 使用UDP代替默认的TCP
-u, --sctp 使用SCTP代替默认的TCP
SCTP支持TCP兼容模式
-v, --verbose 设置的详细程度(可以使用几次)
-w, --wait
-w, --append-output 追加指定文件而不是乱码
-w, --send-only 只传送数据,忽略接收,退出是EOF
-w, --recv-only 只接收数据,不发送任何东西
-w, --allow 只允许特定的主机连接到ncat
-w, --allowfile 一种允许连接到ncat的文件
-w, --deny 拒绝连接到ncat
-w, --denyfile 拒绝文件连接到ncat
-w, --broker 使用ncat的代理连接模式
允许多个组织连接到ncat的服务器和其他人交流.ncat能创建一个经纪人在连接和系统之间通过NAT或者其他的直接连接.这个选项是和监听模式一起使用的.这会使监 听端口的经纪人模式启动
-w, --chat 开启一个简单的ncat聊天服务器
聊天模式,用于几个用户之间交换文本.的这个模式下,连接代理是打开的.ncat设置一个前缀ID在每个收到的消息在转发到其他连接之前.
这个ID对于每个客户是唯一的.这有助于区分谁发送了什么.此外,非打印字符,如控制字符,是被拒绝的.
-w, --proxy
请求代理通过 host[:port]来使用指定的协议的代理类型.如果没有指定端口代理,将使用著名的端口代替(SOCKS是1080, HTTP是3128)
当指定一个ipv6的HTTP的代理服务器的时候,最后使用ip地址,而不是主机名.端口号必须指定好.如果代理服务器要求使用身份验证,使用--proxy-auth
-w, --proxy-type
在连接模式下,这个选项请求通过代理指定的代理主机连接协议.
在监听模式下,这个选项ncat作为一个使用指定的协议的代理服务器.
目前可用的是HTTP连接方式和SOCKS(SOCKSv4).目前只支持HTTP的服务器.如果不使用这个选项.默认的协议是HTTP
-w, --proxy-auth
在连接模式下,给出用于连接代理服务器的凭据.
在监听模式下,给出了连接客户端所需要的凭据.
使用 --proxy-type http时,格式应该是 user:pass
使用 --proxy-type socks4,应该只有一个username
-w, --ssl 使用ssl来监听或者连接
在连接模式下,这个选项透明的协商一个ssl会话和一个ssl安全加密连接.这对于启动ssl和http服务器是特别有用的.
在服务器模式下,这个选项监听传入的ssl连接,代替明显的非隧道传输.
-w, --ssl-cert 指定ssl证书文件来监听
这个选项提供一个PEM-encoded证书文件定位来证实服务器(监听模式下)或者客户(连接模式下)的真实性.
和--ssl-key选项一起使用.
-w, --ssl-key 指定ssl私钥来监听
这个选项定位PEM-encoded私钥文件.和--ssl-cert一起使用.
-w, --ssl-verify 验证证书和域名的真实性
在客户端模式下,ssl验证除非它也需要ssl服务器证书验证.ncat中有一组默认文件中的可信证书的CA束.
一些操作系统提供一个可信的证书的默认列表.这些也将被使用.如果可以,使用ssl trustfile来自定义列表.使用-v来获得验证失败的详细信息.
ncat并不检测吊销的证书.
-w, --ssl-trustfile PEM文件包含受信任的ssl证书
这个选项将为证书验证设置一个可信任的证书列表.它如果不和--ssl-verify一起使用是没有意义的.这个选项的参数是PEM的名字.
含有可信息的证书文件.通常,这个文件将包含颁发机构的证书.虽然还会包含服务器证书,但是,这个选项下,ncat并不使用其默认证书.
-w, --ssl-ciphers 使用包含ssl密码的密码表
这个选项将设置连接到服务器或者接受客户的ssl连接时的密码表.语法是在OpenSSL的密码描述.
-w, --version 查看ncat的版本信息
连接和监听模式:
ncat主要工作在两种模式:连接模式和监听模式(连接模式应该就是不停发送数据,监听模式应该就是不发送数据),还有特殊的其他模式,如HTTP代理服务器模式.
在连接模式下,ncat做为客户端,在监听模式下,ncat作为服务器.
在连接模式下,主机和端口参数告诉怎么连接.主机名必须要,可以是一个主机名或者ip地址.还可以追加一个端口号,必须是十进制的,如果省略,默认是31337.
在监听模式下,主机名和端口控制的地址服务器将被绑定.这两个参数是可选的(也就是说你可以不选),如果主机名被忽略,默认监听所有的ipv4和ipv6的所有地址,如果省略端口,默认为31337