原文:man nc
translate by google
NC(1)BSD通用命令手册NC(1)
名称
nc - 任意TCP和UDP连接并侦听
概要
nc [-46bCDdhklnrStUuvZz] [-I长度] [-i间隔] [-O长度] [-P代理用户名] [-p源端口] [-q秒]
[-s源码] [-T关键字] [-V rtable] [-w超时] [-X proxy_protocol] [-x proxy_address [:端口]] [目的地][端口]
描述
nc(或netcat)实用程序几乎用于任何涉及TCP,UDP或UNIX域套接字的日光下。
它可以打开TCP连接,发送UDP数据包,侦听任意TCP和UDP端口,进行端口扫描和处理
IPv4和IPv6。与telnet(1)不同,nc脚本很好,并将错误消息分隔为标准错误而不是
将它们发送到标准输出,如telnet(1)对某些输出所做的那样。
常见用途包括:
- 简单的TCP代理
- 基于shell脚本的HTTP客户端和服务器
- 网络守护进程测试
- ssh的SOCKS或HTTP ProxyCommand(1)
- 以及更多
选项如下:
-4强制nc仅使用IPv4地址。
-6强制nc仅使用IPv6地址。
-b允许广播。
-C将CRLF作为行结束符发送。
-D在套接字上启用调试。
-d不要尝试从标准输入读取。
-h打印出NC的帮助。
- 我的长度
指定TCP接收缓冲区的大小。
-i间隔
指定发送和接收文本行之间的延迟时间间隔。也会导致之间的延迟时间
连接到多个端口。
-k强制nc在当前连接完成后继续监听另一个连接。这是一个错误
在不使用-l选项的情况下使用此选项。
-l用于指定nc应该监听传入的连接,而不是启动到一个连接
远程主机。将此选项与-p,-s或-z选项结合使用是错误的。另外,
任何使用-w选项指定的超时都将被忽略。
-n不要对任何指定的地址,主机名或端口执行任何DNS或服务查找。
-O长度
指定TCP发送缓冲区的大小。
-P proxy_username
指定要呈现给需要验证的代理服务器的用户名。如果没有指定用户名
那么认证不会被尝试。代理认证仅支持HTTP CONNECT代理
现在。
-p source_port
指定nc应使用的源端口,受限于特权限制和可用性。
-q秒
在stdin的EOF之后,等待指定的秒数,然后退出。如果秒数是负数,请永久等待。
-r指定应该随机选择源端口和/或目标端口,而不是在a中顺序选择
范围或系统分配它们的顺序。
-S启用RFC 2385 TCP MD5签名选项。
-s来源
指定用于发送数据包的接口的IP。对于UNIX域数据报套接字,spec-
ifies创建和使用本地临时套接字文件以便可以接收数据报。这是一个错误
将此选项与-l选项结合使用。
-T toskeyword
更改IPv4 TOS值。 toskeyword可能是关键,inetcontrol,lowcost,lowdelay,netcontrol之一,
吞吐量,可靠性或其中一个DiffServ代码点:ef,af11 ... af43,cs0 ... cs7;或一个数字
十六进制或十进制。
-t导致nc发送RFC 854 DO NOT和不会响应RFC 854 DO和WILL请求。这使它成为可能
使用nc编写telnet会话脚本。
-U指定使用UNIX域套接字。
-u使用UDP而不是TCP的默认选项。对于UNIX域套接字,请使用数据报套接字而不是a
流套接字。如果使用了一个UNIX域套接字,则在/ tmp中会创建一个临时接收套接字,除非是
-s标志被给出。
-V rtable
设置要使用的路由表。默认值是0。
-v让nc给出更详细的输出。
-w超时
在超时秒后无法建立或空闲的连接超时。 -w标志没有效果
在-l选项上,即nc将永远听取连接,有或没有-w标志。默认是
没有超时。
-X proxy_protocol
请求nc在与代理服务器通话时应使用指定的协议。支持的协议是
(SOCKS v.4),“5”(SOCKS v.5)和“连接”(HTTPS代理)。如果协议没有指定