Netcat是一个简单而通用的Unix实用工具,它使用TCP或UDP协议在网络连接之间读取和写入数据。它被设计成一个可靠的“后端”工具,可以被其他程序和脚本直接或容易地使用。同时,它是一个功能丰富的网络调试和探索工具,因为它可以创建几乎任何类型的连接,您将需要,并有几个有趣的内置功能。
在最简单的用法中,“nc主机端口”创建到给定目标主机上的给定端口的TCP连接。然后将标准输入发送到主机,并且通过连接返回的任何内容都将发送到标准输出。这将无限期地继续,直到连接的网络端关闭。注意,此行为不同于大多数其他应用程序,这些应用程序在标准输入上的文件结束之后关闭所有内容并退出。
Netcat还可以充当服务器,通过侦听任意端口上的入站连接,然后进行相同的读取和写入。有了一些小的限制,Netcat并不真正关心它是在“客户端”还是“服务器”模式下运行——它仍然来回地推送数据,直到不再剩下数据为止。在任一模式下,可以在网络侧的可配置的不活动时间之后强制关闭。
它也可以通过UDP实现这一点,所以Netcat可能是您一直希望用于测试UDP模式服务器的“UDP telnet-like”应用程序。正如“U”所暗示的,UDP提供的数据传输比TCP连接更不可靠,并且一些系统可能难以以这种方式发送大量数据,但它仍然是一种有用的能力。
为什么不直接使用Telnet连接到任意端口呢?
原因有很多:Telnet有“标准输入EOF”问题,因此必须在驱动脚本中引入计算的延迟,以便完成网络输出。这是Netcat一直运行到网络端关闭的主要原因。
Telnet也不会传输任意的二进制数据,因为某些字符被解释为telnet选项,因此从数据流中删除。
Telnet还将其一些诊断消息发送到标准输出,其中Netcat严格地将这类内容与其输出分离,并且除非您真正希望它修改,否则永远不会修改传输中的任何真实数据。
当然,telnet不能监听入站连接或使用UDP。Netcat没有任何这些限制,比telnet小得多,速度也快得多,并且具有许多其他优点。
以下是Netcat的一些主要特性:
1、到任何端口或来自任何端口的出站或入站连接,TCP或UDP
2、带有适当警告的全DNS正反向检查
3、能够使用任何本地源端口
4、能够使用任何本地配置的网络源地址
5、内置端口扫描功能,带有随机化程序
6、内置的松散源路由功能
7、可以从标准输入读取命令行参数
8、慢速发送模式,每N秒一行
9、发送和接收数据的十六进制转储
10、允许其他程序服务建立连接的可选能力
11、可选的telnet-options应答器
原文链接:http://www.effecthacking.com/201 … iss-army-knife.html














暂无评论内容